`

xml、xsd和xsl之间的关系和使用实例

阅读更多

 简单地说,xsl是说明xml如何表达出来的样式文件,而xsd给出xml文件的格式描述

如果说xml是一叠钞票,xsd就是验钞机,看看里面有没有假钞,而xsl是点钞机,看看到底是多少钱。用xml可以不用xsd,就像花钱的时候不一定要验钞一样,但是收钱的人一般是想要验的。而花钱的时候不能不点钞,不点那就不是花钱了,是玩钱。当然了,点钞不一定要用点钞机,也可以用手点。 
  比方不是很恰当。想说明的是,xml(文件里面的东西)是内容,xsd是内容的格式,xsl是处理内容的。

下面是xml和xsl结合的例子

 

product.xml文件的内容如下

<?xml version="1.0"?>  
<?xml:stylesheet type="text/xsl" href="table.xsl"?>  
<PRODUCTDET>  
   <PRODUCT PRODID="P001" CATEGORY="TOY">  
      <DESCRIPTION>SWPI</DESCRIPTION>  
      <COLOR>BLUE</COLOR>  
      <RATE>100</RATE>  
   </PRODUCT>  
      
   <PRODUCT PRODID="P002" CATEGORY="TOY">  
      <DESCRIPTION>SWPI</DESCRIPTION>  
      <COLOR>BLUE</COLOR>  
      <RATE>200</RATE>  
   </PRODUCT>  
   <PRODUCT PRODID="P003" CATEGORY="BOOK">  
      <DESCRIPTION>SWPI</DESCRIPTION>  
      <COLOR>BLUE</COLOR>  
      <RATE>300</RATE>  
   </PRODUCT>  
</PRODUCTDET>  

 table.xsl的内容如下

<?xml version="1.0"?>   
<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">   
<xsl:template match="/">   
  <xsl:apply-templates/>   
</xsl:template>   
<xsl:template match="COLOR">   
  <xsl:apply-templates />   
</xsl:template>   
<xsl:template match="COLOR[end()]">   
  <xsl:apply-templates />   
</xsl:template>   
<xsl:template match="text()">   
  <xsl:value-of select="." />   
</xsl:template>   
<xsl:template match="/">   
  <html>   
    <head><title>MY PRO COLL</title></head>   
    <body>   
     <h1>MY PRO COLL</h1>   
     <table border="1">   
        <thead>   
          <th>PRODUCT ID</th>   
          <th>DESCRIPTION</th>   
          <th>CATEGORY</th>   
          <th>COLOR</th>   
        </thead>   
        <TBODY>        
          <xsl:for-each select="PRODUCTDET/PRODUCT[@CATEGORY='TOY']" order-by="@CATEGORY;-number(RATE)">   
           <TR>   
              <TD><xsl:value-of select="@PRODID" /></TD>   
              <TD><xsl:value-of select="DESCRIPTION" /></TD>         
              <TD><xsl:value-of select="@CATEGORY" /></TD>   
              <TD><xsl:apply-templates select="COLOR" /></TD>   
           </TR>   
         </xsl:for-each>             
        </TBODY>   
      </table>   
    </body>   
  </html>   
</xsl:template>   
</xsl:stylesheet> 

 

复制并保存以上两个文件之后,点击product.xml即可以看到显示效果。

分享到:
评论

相关推荐

    XMLSPY实例教程

    通过这个“XMLSPY实例教程.doc”文档,你将逐步学习如何使用XMLSPY来创建、编辑、验证、查询和转换XML文档。文档可能包括了实际操作步骤、示例和练习,以帮助你深入理解XMLSPY的功能,并将其应用到实际工作中。在...

    xml网页制作实例-源程序

    学习这个实例,你可以了解如何编写XML文档,设置正确结构和属性,以及如何创建和使用XSLT。同时,理解如何在网页中引入XML和XSLT文件,例如通过JavaScript的DOM操作或者HTML的`&lt;xsl:import&gt;`标签。 此外,XML还支持...

    XML的简单应用和实例

    6. **文档类型定义(DTD, Document Type Definition)**或**XML Schema(XSD, XML Schema Definition)**:定义XML文档的结构和规则。 XML的读取与写入: 1. **解析器(Parser)**:用于读取XML文档,分为DOM...

    深入浅出XML示例,xml实例

    在实际应用中,XML常与XSD(XML Schema Definition)一起使用,XSD是用来定义XML文档结构和数据类型的规范。通过XSD,我们可以确保接收的数据符合预设的格式,增强了数据的一致性和可靠性。 另外,XPath是XML的一个...

    xml基础教程(xml入门绝佳实例)

    XML Schema Definition (XSD) 是最常用的XML Schema语言,它使用XML语法来定义元素、属性、数据类型等。通过Schema,开发者可以指定元素的顺序、可选性以及允许的数据格式。 **第三章 文档对象模型(DOM)** DOM是...

    Java XML编程指南

    - 使用注解或XML映射文件来定义对象与XML元素之间的对应关系。 4. **JAXP(Java API for XML Processing)**: - 提供了DOM、SAX和XSLT(XPath, XSL Transformation)接口,用于处理XML文档。 - XSLT用于转换XML...

    xml样式显示,帮助你更好学习xml

    XSLT文件通常具有`.xsl`或`.xsd`扩展名,与XML文档结构相似,但包含样式规则和模板。以下是一个简单的XSLT例子,它将XML文档中的`book`元素转换为HTML: ```xml &lt;xsl:stylesheet version="1.0" xmlns:xsl=...

    XML.rar_Csharp xml_xml_xml csharp

    这可以通过`XmlSerializer`类实现,它可以将类实例转换为XML,反之亦然,这对于数据交换和存储很有用。 5. **TreeView控件与XML**:在描述中提到了“复杂的tree和xml联系起来”,这可能是指使用C# WinForms或WPF的`...

    操作XML方法大全

    - 有工具和库支持XML与JSON之间的转换,例如JavaScript的xml2json和json2xml。 以上就是操作XML的一些核心知识点,理解并掌握这些技能,可以有效地处理XML数据,无论是用于数据交换、配置文件还是其他用途。在实际...

    xml.zip_xml小型便利店信息

    描述中提到的"xsl"、"xsd"和"dtd"是XML处理的重要组成部分,它们在构建和验证XML文档结构中起到关键作用。 1. **XML(可扩展标记语言)**:XML是一种自描述性的数据格式,常用于存储和传输结构化数据。它允许用户...

    XML介绍语法实例指南。。

    在"XML初步到精通"这个压缩包中,可能包含了XML的基础概念、语法详解、实例演示以及进阶主题,如XPath和XSLT的使用,帮助初学者逐步掌握XML的相关知识。通过深入学习和实践,你可以更好地理解和利用XML的强大功能,...

    XML的一些简单举例

    在"XML举例"的压缩包中,可能包含了这些概念的实例代码,通过运行和分析这些例子,你可以更好地理解XML的使用和功能。例如,可能有创建、解析、验证XML文档的示例,以及使用XPath和XSLT进行数据操作的示例。学习和...

    Learning XML

    3. XSL-FO(XSL Formatting Objects):用于创建打印和电子版的页面布局,常与XSLT结合使用。 XML在Web服务中的应用: 1. SOAP(Simple Object Access Protocol):基于XML的网络协议,用于在分布式系统间交换结构...

    C# XML介绍

    C#与XML的结合使用为开发者提供了强大的数据处理和序列化能力,使得数据的读取、写入和传输变得更加便捷。以下是对C#中XML相关知识点的详细介绍: 1. XML基础: - XML是可扩展的,允许自定义标签来描述数据,这与...

    xml_programming_in_java.rar_XML java_java programming_xml how to

    XML(eXtensible Markup ...这个教程“XML Programming in Java”将会涵盖以上这些主题,通过实例讲解如何在实际项目中高效地使用Java处理XML。对于希望深入理解XML和Java集成的开发者来说,这是一份非常有价值的资源。

    深入理解C#中的XML(标签版)/含随书光盘源码

    总之,《深入理解C#中的XML》这本书全面覆盖了C#与XML的集成,从基本概念到高级应用,提供了丰富的实例和源码,是提升XML技术能力的理想资源。通过深入学习,你将在XML处理方面变得更加熟练,能够自如地在C#项目中...

    pb9操作xml

    - DTD与XSD:XML文档可以使用DTD(Document Type Definition)或XSD(XML Schema Definition)来定义其结构和数据类型。 2. **PB9中的XML支持**: - PB9内置了对XML的支持,提供了XMLTextReader和XMLTextWriter类...

    xml使用教程、例证、代码

    为了确保XML文档的结构正确,可以使用XML Schema(XSD)或Document Type Definition(DTD)来定义元素和属性的规则。它们提供了验证XML文档是否符合规范的方法。 XPath和XSLT: XPath是一种语言,用于在XML文档中...

    xml数据演示.rar_XML系统_xml_xml html

    5. **文档类型定义(DTD,Document Type Definition)** 或者 **XML Schema(XSD)**:定义XML文档的结构和规则,用于验证XML文档的合法性。 6. **XPath(XML Path Language)**:一种用于在XML文档中查找信息的语言...

    一些有关XML的文件和例子

    除此之外,XML还有Schema(如XSD,XML Schema Definition)来定义文档结构和数据类型,确保数据的准确性和一致性。XML还可以与各种编程语言结合,如Java、Python、PHP等,提供丰富的API来进行XML的解析、生成和操作...

Global site tag (gtag.js) - Google Analytics