XML存储的名单信息及其相关DTD文档和XSLT文档

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文档

204541_vr7b_1425762.png

END

转载于:https://my.oschina.net/Tsybius2014/blog/288067

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值