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:\Users\Administrator\Desktop\实验代码\实验一\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、截图效果

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还是很重要的。

XML大作业的更多相关文章

  1. 数据库大作业--由python+flask

    这个是项目一来是数据库大作业,另一方面也算是再对falsk和python熟悉下,好久不用会忘很快. 界面相比上一个项目好看很多,不过因为时间紧加上只有我一个人写,所以有很多地方逻辑写的比较繁琐,如果是 ...

  2. 程设大作业xjb写——魔方复原

    鸽了那么久总算期中过[爆]去[炸]了...该是时候写写大作业了 [总不能丢给他们不会写的来做吧 一.三阶魔方的几个基本定义 ↑就像这样,可以定义面的称呼:上U下D左L右R前F后B UD之间的叫E,LR ...

  3. 大作业NABC分析结果

    大作业NABC分析结果 这次的大作业计划制作一款关于七巧板的游戏软件.关于编写的APP的NABC需求分析: N:需求 ,本款软件主要面向一些在校的大学生,他们在校空闲时间比较多,而且热衷于一些益智类游 ...

  4. [留念贴] C#开发技术期末大作业——星月之痕

    明天就要去上海大学参加 2015赛季 ACM/ICPC最后一场比赛 —— EC-Final,在这之前,顺利地把期末大作业赶出来了. 在这种期末大作业10个人里面有9个是从网上下载的国内计算机水平五六流 ...

  5. Hadoop综合大作业

    Hadoop综合大作业 要求: 用Hive对爬虫大作业产生的文本文件(或者英文词频统计下载的英文长篇小说)词频统计. 用Hive对爬虫大作业产生的csv文件进行数据分析 1. 用Hive对爬虫大作业产 ...

  6. 爬虫综合大作业——网易云音乐爬虫 & 数据可视化分析

    作业要求来自于https://edu.cnblogs.com/campus/gzcc/GZCC-16SE2/homework/3075 爬虫综合大作业 选择一个热点或者你感兴趣的主题. 选择爬取的对象 ...

  7. 期末Java Web大作业----简易的学生管理系统

    学生信息管理系统(大作业) 2018-12-21:此文章已在我的网站更新,添加视图介绍等信息,源码请移步下载https://www.jeson.xin/javaweb-sims.html PS:首先不 ...

  8. CSAPP HITICS 大作业 hello's P2P by zsz

    摘 要 摘要是论文内容的高度概括,应具有独立性和自含性,即不阅读论文的全文,就能获得必要的信息.摘要应包括本论文的目的.主要内容.方法.成果及其理论与实际意义.摘要中不宜使用公式.结构式.图表和非公知 ...

  9. #006 C语言大作业学生管理系统第三天

    还差最后两部分 读取文件 恢复删除的学生信息 先学会处理文件的 知识点,再继续跟着视频做这个作业. 应该明天周六能把视频里手把手教的学生管理系统敲完 第二周尽量自己能完成C语言课本最后面那道学生管理系 ...

随机推荐

  1. Java 与 C++ 的比较

    参考 Java 中,一切皆是类 Java 中,所有数据或方法都要放在类中.如果想获得与全局函数等价的功能,可将static方法和static数据放在类里.而 C++ 中有 struct 结构.enum ...

  2. 【Python】Visual Studio Code 安装&&使用 hello python~~~~

    1.安装Python 官网下载: https://www.python.org/downloads/   选择版本下载 2.下载完毕后,点击安装. 3.看到页面,直接下一步,全部默认选项. 4.安装即 ...

  3. TensorFlow学习笔记13-循环、递归神经网络

    循环神经网络(RNN) 卷积网络专门处理网格化的数据,而循环网络专门处理序列化的数据. 一般的神经网络结构为: 一般的神经网络结构的前提假设是:元素之间是相互独立的,输入.输出都是独立的. 现实世界中 ...

  4. EasyUI选项卡避免重复打开

    前台代码: <div data-options="region:'west',title:'我的工作平台',split:true,iconCls:'icon-desk'"  ...

  5. 解决django项目在ubuntu系统上无法安装mysqlclient

    首先我的项目是django2.0,python环境是3.5. 我们在本地开发完django项目了,在本地运行是成功的,然后我们把django项目放到服务器上,运行的时候就出错了. 如图: 我们都知道, ...

  6. python对excel表格进行操作

    python 对 EXCEL 进行操作 背景:对excel表格中某一列进行base 64解码操作,由于数据量比较庞大,就考虑用Python代码完成. 首先,分析整个文件操作中分为三步,第一步,对需要解 ...

  7. TCP 和 UDP 的区别---还有一个UTP一

    面试的时候会经常问到这些问题,所以要对比了解一下他们之间的差别,能讲出个所以然来.多积累多总结,懵逼中... TCP 和 UDP TCP与UDP基本区别 : 1.基于连接与无连接 2.TCP要求系统资 ...

  8. Dev Express之ImageComboBoxEdit,RepositoryItemImageComboBox使用方式

     Dev Express之ImageComboBoxEdit,RepositoryItemImageComboBox使用方式 1.使用ImageComboBoxEdit实现下拉框键值数据函数 publ ...

  9. Javascript之谈对象

    谈谈如何理解对象 使用预定义对象只是面向对象语言的能力的一部分,ECMAScript 真正强大之处在于能够创建自己专用的类和对象.面向对象的语言有一个标志,那就是它们都有类的概念,而通过类可以创建任意 ...

  10. [LOJ 3101] [Luogu 5332] [JSOI2019]精准预测(2-SAT+拓扑排序+bitset)

    [LOJ 3101] [Luogu 5332] [JSOI2019]精准预测(2-SAT+拓扑排序+bitset) 题面 题面较长,略 分析 首先,发现火星人只有死和活两种状态,考虑2-SAT 建图 ...