XML简明教程(五)

王朝other·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

五、一个应用了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="' target=_blankhttp://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处理的文档了.

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航