XML简明教程(五)

五、一个应用了xml、schema和xlst的例子

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

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

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

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

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

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

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

以下内容为程序代码:

 1<schema xmlns="urn:schemas-microsoft-com:xml-data" xmlns:dt="urn:schemas-microsoft-com:datatypes">
 2<elementtype name="姓名"></elementtype>
 3<elementtype name="电话"></elementtype>
 4<elementtype name="传真"></elementtype>
 5<elementtype name="地址"></elementtype>
 6<elementtype name="编号"></elementtype>
 7<elementtype name="名称"></elementtype>
 8<elementtype name="规格"></elementtype>
 9<elementtype name="价格"></elementtype>
10<elementtype name="购买数量"></elementtype>
11<elementtype content="eltOnly" name="客户">
12<element type="姓名"></element>
13<element type="电话"></element>
14<element type="传真"></element>
15<element type="地址"></element>
16</elementtype>
17<elementtype content="eltOnly" name="产品">
18<element type="名称"></element>
19<element type="规格"></element>
20<element type="价格"></element>
21<element type="购买数量"></element>
22</elementtype>
23<elementtype content="eltOnly" name="订单">
24<element type="客户"></element>
25<element type="产品"></element>
26</elementtype>
27<elementtype content="eltOnly" name="全部订单">
28<element type="订单"></element>
29</elementtype>
30</schema>

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

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

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

以下内容为程序代码:

<全部订单 xmlns="x-schema:Sch.xml">
<订单>
<客户>
<名称>张立东

<电话>010-12345678

<传真>010-87654321

<地址>北京市 海淀区

<产品>
<名称>扳手

<价格>10

<规格>中

<购买数量>2


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

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

以下内容为程序代码:

 1<xsl:stylesheet version="1.0" xmlns:xsl="  http://www.w3.org/TR/WD-xsl">
 2<xsl:template match="/">
 3<html>
 4<head>
 5<title>全部订单</title>
 6</head>
 7<body>
 8<h1>订单内容</h1>
 9<xsl:for-each select="全部订单/订单">
10<table border="1">
11<tr>
12<th>客户名称:</th><td><xsl: -of="" _value_="" select="客户/名称"></xsl:></td>
13<th>电话</th><td><xsl: -of="" _value_="" select="客户/电话"></xsl:></td>
14<th>传真</th><td><xsl: -of="" _value_="" select="客户/传真"></xsl:> </td>
15</tr>
16<tr>
17<th>地址</th><td colspan="5"><xsl: -of="" _value_="" select="客户/地址"></xsl:></td>
18</tr>
19</table>
20<table border="1">
21<tr>
22<th>产品名称:</th><td><xsl: -of="" _value_="" select="产品/名称"></xsl:></td>
23<th>价格</th><td><xsl: -of="" _value_="" select="产品/价格"></xsl:></td>
24<th>规格</th><td><xsl: -of="" _value_="" select="产品/规格"></xsl:> </td>
25</tr>
26<tr>
27<th>购买数量</th><td colspan="5"><xsl: -of="" _value_="" select="产品/购买数量"></xsl:></td>
28</tr>
29</table>
30</xsl:for-each>
31</body>
32</html>
33</xsl:template>
34</xsl:stylesheet>

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

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

Published At
Categories with Web编程
Tagged with
comments powered by Disqus