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. 20190901 On Java8 第十五章 异常

    第十五章 异常 要想创建健壮的系统,它的每一个构件都必须是健壮的. 异常概念 C++的异常处理机制基于 Ada,Java 中的异常处理则建立在 C++的基础之上(尽管看上去更像 Object Pasc ...

  2. js之状态模式

    level01:电灯程序 <!DOCTYPE html> <html lang="en"> <head> <meta charset=&q ...

  3. node.js—创建、删除、追加文件等方法汇总

    使用Node.js的fs模块必须在electron项目里 /* 1. fs.stat 检测是文件还是目录(目录 文件是否存在) 2. fs.mkdir 创建目录 (创建之前先判断是否存在) 3. fs ...

  4. SocketChannel 读取ByteBuf 的过程

    SocketChannel 读取ByteBuf 的过程: 我们首先看NioEventLoop 的processSelectedKey 方法: private void processSelectedK ...

  5. mysql : 使用不等于过滤null的问题

    在写sql时遇到查询结果不对的情况,经查阅,发现是因为查询条件过滤null的问题:从网上找到如下资料: 在写SQL 条件语句是经常用到 不等于‘!=’的筛选条件,此时要注意此条件会将字段为null的数 ...

  6. C++调用C#类库函数

    最近做一个信息化三维仿真项目,基于第三方提供的虚拟引擎通过VC++2008做二次开发,其中涉及到与C#客户端的融合以及数据交互的问题, 主要是VC++需要调用C#客户端提供的类库内的接口获取C#客户端 ...

  7. ES6 new Set实现数组去重

    使用new Set实现数组去重必须结合for of, 如果使用for循环就实现不了 var arr = new Set([1, 2, 1, 1, 2, 3, 3, 4, 4]); for (var e ...

  8. Excel VBA在生成副本的工作表中插入本工作簿中的VBA模块代码

    即在工作簿中添加一个工作表,然后移出并存为新的工作簿,在移出前将本工作簿的一个模块的代码拷贝至新的工作簿.下面是关键代码: '===================================== ...

  9. IDEA中Java目录结构

    IDEA中Java的目录结构 1.首先新建Project,选择Empty,新建空的项目 2.选择Module时候,需要选择JDK,JDK只需要选择到Java Home目录就可以了 3.创建好Modul ...

  10. 哪吒票房超复联4,100行python代码抓取豆瓣短评,看看网友怎么说

    <哪吒之魔童降世>这部国产动画巅峰之作,上映快一个月时间,票房口碑双丰收. 迄今已有超一亿人次观看,票房达到42.39亿元,超过复联4,跻身中国票房纪录第三名,仅次于<战狼2> ...