1.XML文件:List.xml
<?xml version="1.0" encoding="GBK" ?>
<?xml-stylesheet type="text/xsl" href="List.xslt" ?>
<!DOCTYPE List PUBLIC "-//Tsybius//List Data//EN" "List.dtd">
<List Version="1.0" LastUpdate="20140707" >
<Person PID="PID_1101" Name="Tsybius" Sex="Male" Phone="111-0000-0000">
<Cat Name="Cat_01" Age="2" />
</Person>
<Person PID="PID_1102" Name="Galatea" Sex="Female" Phone="000-1111-1111">
<Dog Name="Dog_01" Age="4" />
<Rabbit Name="Rabbit_01" Age="3" />
</Person>
<Person PID="PID_1201" Name="Fabius" Sex="Male" />
<Person PID="PID_1202" Name="Cloudius" Sex="Male" />
<Person PID="PID_1203" Name="Magnus" Sex="Male" />
</List>
2.DTD文件:List.dtd
用于校验XML文档是否符合格式
<!--文件List.xml的DTD文档-->
<!--List:根节点,名单中有0个或多个人-->
<!ELEMENT List (Person)*>
<!--Version:版本信息,LastUpdate:最后更新日期-->
<!ATTLIST List Version CDATA #FIXED "1.0">
<!ATTLIST List LastUpdate CDATA #IMPLIED>
<!--人结点,每个人可以养0只或多只宠物-->
<!ELEMENT Person (Cat | Dog | Rabbit)*>
<!--ID:标识,Name:姓名,Sex:性别,Phone:电话-->
<!ATTLIST Person PID ID #REQUIRED>
<!ATTLIST Person Name CDATA #IMPLIED>
<!ATTLIST Person Sex (Male | Female) "Male">
<!ATTLIST Person Phone CDATA #IMPLIED>
<!--猫 Name:名称,Age:年龄-->
<!ELEMENT Cat EMPTY>
<!ATTLIST Cat Name CDATA #IMPLIED>
<!ATTLIST Cat Age CDATA #IMPLIED>
<!--狗 Name:名称,Age:年龄-->
<!ELEMENT Dog EMPTY>
<!ATTLIST Dog Name CDATA #IMPLIED>
<!ATTLIST Dog Age CDATA #IMPLIED>
<!--兔 Name:名称,Age:年龄-->
<!ELEMENT Rabbit EMPTY>
<!ATTLIST Rabbit Name CDATA #IMPLIED>
<!ATTLIST Rabbit Age CDATA #IMPLIED>
<!--文档结束-->
3.XSLT文件:List.xlst
用于显示XML文档
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<head>
<title>List</title>
</head>
<body>
<h1>名单</h1>
<hr />
<table>
<thead>
<tr>
<th>标识</th>
<th>名称</th>
<th>性别</th>
<th>电话</th>
</tr>
</thead>
<tbody>
<xsl:apply-templates select="List/Person" />
</tbody>
</table>
<hr />
</body>
</html>
</xsl:template>
<xsl:template match="Person">
<tr>
<td> <xsl:value-of select="@PID" /> </td>
<td> <xsl:value-of select="@Name" /> </td>
<td> <xsl:value-of select="@Sex" /> </td>
<td> <xsl:value-of select="@Phone" /> </td>
</tr>
</xsl:template>
</xsl:stylesheet>
4.FireFox中显示的XML文档
END