XML大作业
共两题,均于实验上机完成
第一题:在xml文档中使用DTD
第二题:掌握使用xsl显示xml文件的基本方法
第一题:
一、实验目的
(1)通过本实验,使学生能够了解并掌握XML DTD的定义方法及其用途
(2)了解并掌握DTD元素申明的基本语法
(3)了解并掌握DTD属性申明的基本语法
(4)了解并掌握DTD实体申明的基本语法
(5)了解并掌握DTD标记申明的基本语法
(6)了解并掌握XMLSpy中基于DTD的XML文件输入
二、实验条件
配置有windows记事本、写字板或XMLSpy开发环境的计算机设备。
三、实验原理及相关知识
(1)XMLDTD是对XML结构进行定义的机制
(2)XMLDTD本身不符合XML语法
四、实验内容及实验步骤
分析下列XML实例,上机编写外部DTD文档,并进行验证。
1、xml实例如下:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE 学生名册 SYSTEM "C:UsersAdministratorDesktop实验代码实验一STUDENT.dtd"> <学生名册> <学生 学号="A1"> <姓名>张三</姓名> <性别>男</性别> <年龄>20</年龄> </学生> <学生 学号="A2"> <姓名>李四</姓名> <性别>女</性别> <年龄>19</年龄> </学生> <学生 学号="A3"> <姓名>王二</姓名> <性别>男</性别> <年龄>21</年龄> </学生> </学生名册>
|
2、XML外部DTD文档
<? xml version="1.0" encoding="UTF-8"?> <!ELEMENT 学生名册(学生)+> <!ELEMENT 学生(姓名,性别,年龄)> <!ELEMENT 姓名 (#PCDATA)> <!ELEMENT 性别 (#PCDATA)> <!ELEMENT 年龄 (#PCDATA)> <!ATTLIST 学生 学号 CDATA#REQUIRED >
|
3、截图效果
![](https://images2018.cnblogs.com/blog/1187636/201802/1187636-20180219212214992-437585711.png)
4、使用XMLSPY 对“student.dtd”和“student.xml”进行合法性验证,结果正确。
五、实验总结
这个单元。学到了DTD为XMl提供了严格而精确的规划。通过简单的标记声明,能够定义XML文档的结构以及它所允许使用的内容。DTD提供了xml文档所包含的元素’属性,实体及相互关系的定义。DTD满足了网络共享和数据交互。
第二题:
一、实验目的
(1)掌握使用xsl显示xml文件的基本方法
(2)理解css与xsl的区别
二、实验条件
包配置有windows记事本、写字板或XMLSpy开发环境的计算机设备。
三、实验原理及相关知识
1) XSL实际包含三方面的内容:XSLT,XPath以及XSL格式化对象。
2) XSL的定义最终是有由XSLT来执行完成的。
3) XPath对xml文件片段进行查找、定位。
4) 格式化对象将XSL转换结果进行显示
四、实验内容及实验步骤
1、XML文档内容如下
<?xml version="1.0" encoding="UTF-8" ?> <?xml-stylesheet type="text/xsl" href="product.xsl" ?> <PRODUCTDATA> <PRODUCT PRODID="p001" CATEGORT="Toy"> <PRODUCTNAME>Mini Bus</PRODUCTNAME> <DESCRIPTION> this is a toy for childern aged 4 and above </DESCRIPTION> <PRICE>75</PRICE> <QUANTITY>54</QUANTITY> </PRODUCT> <PRODUCT PRODID="p002" CATEGORT="Toy"> <PRODUCTNAME>Barbie Doll</PRODUCTNAME> <DESCRIPTION> this is a toy for childern in age group of 5-10 </DESCRIPTION> <PRICE>20</PRICE> <QUANTITY>200</QUANTITY> </PRODUCT> </PRODUCTDATA>
|
2、xsl样式表如下
<?xml version="1.0" encoding="UTF-8" ?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format"> <xsl:template match="/"> <html> <head> <title>订单</title> </head> <body> <a>订单</a> <table border="3" cellpadding="2" cellspacing="5"> <thread align="center" color="white"> <tr> <th>订单号</th> <th>种类</th> <th>名称</th> <th>描述</th> <th>价格</th> <th>现有量</th> </tr> </thread> <tbody> <xsl:for-each select="PRODUCTDATA/PRODUCT"> <tr> <td> <font color="green"> <xsl:value-of select="@CATEGORY"/> </font> </td> <td> <font color="red"> <xsl:value-of select="PRODUCTNAME"/> </font> </td> <td> <font color="green"><xsl:value-of select="DESCRIPTION"/> </font> </td> <td> <font color="green"> <xsl:value-of select="PRICE"/> </font> </td> <td> <font color="green"> <xsl:value-of select="QUANTITY"/> </font> </td> </tr> </xsl:for-each> </tbody> </table> </body> </html> </xsl:template> </xsl:stylesheet>
|
对于下列xml文档,根据要求,上机编写并在xml文档上应用对应的xsl样式表。
五、实验总结
通过本实验,学习到了XSL样式表的基础知识和语法及格式,xsl和xml的关联方式。Xsl本身也符合xml的语法规定,它使用一种完全不同的方法解释xml文档,使得xml变成可显示的对象,可见xsl还是很重要的。