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. Python 使用openpyxl导出Excel表格的时候,使用save()保存到指定路径

    在使用openpyxl导出Excel表格的使用,如何指定导出的路径呢. 使用sava(filename),会保存到当前执行文件的路径下. 使用sava("/tmp/{}.xlsx" ...

  2. Reinforcement Learning Index Page

    Reinforcement Learning Posts Step-by-step from Markov Property to Markov Decision Process Markov Dec ...

  3. boost的libboost_system问题

    最近把cpp代码从开发机放到eclipse时,遇到了不少路径问题. 安装boost的时候,其实很简单 wget http://sourceforge.net/projects/boost/files/ ...

  4. 使用SSI框架写的简单Demo(查询模块)

    在网上看到好多个版本,自己有时间索性就写个Demo记录下整个框架的逻辑流程: 1.首先拷贝整个框架所需要的jar包到WEB-INF/lib包下(这个网上都可以搜到的) 2.配置文件的配置, 2.1.在 ...

  5. POJ-2528 Mayor's posters (离散化, 线段树)

    题目传送门: POJ-2528 题意就是在一个高度固定的墙面上贴高度相同宽度不同的海报,问贴到最后还能看到几张?本质上是线段树区间更新问题,但是要注意的是题中所给数据范围庞大,直接搞肯定会搞出问题,所 ...

  6. td内容超出 以…显示

    table中的td内容超出以省略号显示,需满足的条件是: <style type="text/css"> table{ table-layout: fixed; bor ...

  7. 遍历并读取指定目录下的所有文件内容,写入Map集合然后输出在控制台和本地文件

    public class FileWrite { public static void main(String[] args) throws Exception { //封装数据源目录 File sr ...

  8. 你的package包名有问题!

    今天在Eclipse中运行我的Java程序中,就弹出了以下消息的窗口: 注意窗口的名字为Java Virtual Machine Launcher . Error : A JNI error has ...

  9. qt 视频播放

    可以播出视频,待完善 player = new QMediaPlayer(this); playlist = new QMediaPlaylist(); playlist->addMedia(Q ...

  10. mysql 通过navicat 添加函数或者过程

    1. 添加函数时, 函数参数的  varchar(255) 一定要加上 255,返回也要加.不加一直保存不了,狂试: 2. 添加过程时, 进入课程体 编辑时  也要加上 varchar 的位数限制.不 ...