XML简明教程(五)

类别:.NET开发 点击:0 评论:0 推荐:
五、一个应用了xml、schema和xlst的例子

    通过上面的介绍,大家可能都已经跃跃欲试,想自己做一个XML方面的小应用了。那么在这里就满足大家的要求,举一个比较

全面的有实际意义的例子。

   假如有一个订单要处理,订单的基本内容包括客户的信息和产品信息两个部分。

   客户信息主要由客户姓名、电话、传真、地址组成。

    产品信息由编号、名称、规格、价格、购买数量组成。

    为了写一个标准的XML文档,首先要写一个Schema来对XML文档进行约束:

下载该文件:
点击浏览该文件 

以下内容为程序代码:

<?xml version="1.0" encoding="GB2312"?>
<Schema xmlns="urn:schemas-microsoft-com:xml-data"
 xmlns:dt="urn:schemas-microsoft-com:datatypes">
<ElementType name= "姓名"/>
<ElementType name= "电话"/>
<ElementType name= "传真"/>
<ElementType name= "地址"/>
<ElementType name= "编号"/>
<ElementType name= "名称"/>
<ElementType name= "规格"/>
<ElementType name= "价格"/>
<ElementType name= "购买数量"/>
<ElementType name= "客户" content="eltOnly">
 <element type= "姓名"/>
 <element type= "电话"/>
 <element type= "传真"/>
 <element type= "地址"/>
</ElementType>
<ElementType name= "产品" content="eltOnly">
 <element type= "名称" />
 <element type="规格"/>
 <element type="价格"/>
 <element type="购买数量"/>
</ElementType>
<ElementType name= "订单" content="eltOnly">
 <element type= "客户" />
 <element type="产品"/>
</ElementType>
<ElementType name= "全部订单" content="eltOnly">
 <element type= "订单" />
</ElementType>
</Schema>

   可以把上面的Schema文档存储为:Sch.xml,在下面的xml文档中会用到这个Schema。

   下面是根据上面的约束写的一段XML文档:

下载该文件:
点击浏览该文件 

以下内容为程序代码:

<?xml version="1.0" encoding="GB2312"?>
<?xml:stylesheet type="text/xsl" href="S2_xls.xslt"?>
<全部订单 xmlns="x-schema:Sch.xml">
<订单>
<客户>
 <名称>张立东</名称>
 <电话>010-12345678</电话>
 <传真>010-87654321</传真>
 <地址>北京市 海淀区</地址>
</客户>
<产品>
 <名称>扳手</名称>
 <价格>10</价格>
 <规格>中</规格>
 <购买数量>2</购买数量>
</产品>
</订单>
</全部订单>

   下面是对XML进行处理的S2_xls.xslt的内容:

下载该文件:
点击浏览该文件 

以下内容为程序代码:

<?xml version="1.0" encoding="GB2312"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/TR/WD-xsl">
<xsl:template match="/">
<HTML>
<HEAD>
 <TITLE>全部订单</TITLE>
</HEAD>
<BODY>
 <h1>订单内容</h1>
 <xsl:for-each select="全部订单/订单">
 <TABLE border="1" >
  <TR>
   <TH>客户名称:</TH><TD><xsl:value-of select="客户/名称"/></TD>
   <TH>电话</TH><TD><xsl:value-of select="客户/电话"/></TD>
   <TH>传真</TH><TD><xsl:value-of select="客户/传真"/> </TD>
  </TR>
  <TR>
   <TH>地址</TH><TD colspan="5"><xsl:value-of select="客户/地址"/></TD>
  </TR>
 </TABLE>
 <TABLE border="1" >
  <TR>
   <TH>产品名称:</TH><TD><xsl:value-of select="产品/名称"/></TD>
   <TH>价格</TH><TD><xsl:value-of select="产品/价格"/></TD>
   <TH>规格</TH><TD><xsl:value-of select="产品/规格"/> </TD>
  </TR>
  <TR>
   <TH>购买数量</TH><TD colspan="5"><xsl:value-of select="产品/购买数量"/></TD>
  </TR>
 </TABLE>
 </xsl:for-each>
</BODY>
</HTML>
</xsl:template>
</xsl:stylesheet>

    把上面的Schema和XSLT按照例子中的名字存储到磁盘,然后把XML的内容存储成为文件,放到相同的子目录下,然后用IE 5.0

进行解析处理,就会看到符合Schema要求、经过XSLT处理的文档了.

本文地址:http://com.8s8s.com/it/it43527.htm