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. 04 bbed修复system文件头损坏

    04 bbed修复system文件头损坏 1 启动数据库,查看trace,在mount到open, SQL> startup mount; ORACLE instance started. To ...

  2. Spring Boot 之 Redis

    一.pom.xml引入依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifac ...

  3. C++食物链【NOI2001】 并查集+建虚点

    B. 食物链[NOI2001] 内存限制:256 MiB 时间限制:1000 ms 标准输入输出 题目类型:传统 评测方式:文本比较 题目描述 动物王国中有三类动物A,B,C,这三类动物的食物链构成了 ...

  4. AWS Cloud Practioner 官方课程笔记 - Part 1

    课程笔记: 1. 3种访问AWS服务的方式: GUI, CLI, SDK 前两种是用户用来访问的,SDK可以让程序调用去访问服务. 2. core services 以及通用的use cases Am ...

  5. scrapy爬取booking酒店评论数据

    # scrapy爬取酒店评论数据 -- 代码 here:github地址:https://github.com/760730895/scrapy_Booking--  采用scrapy爬取酒店评论数据 ...

  6. 浅谈vue$router 和 $route的区别

    最近在学习vue的单页面应用开发,需要vue全家桶,其中用到了VueRouter,在路由的设置和跳转中遇到了两个对象$router 和 $route ,有些傻傻分不清,后来自己结合网上的博客和自己本地 ...

  7. 1.关于狗书《Flask Web开发 基于Python的web开发应用实战》身份验证的改进

    在我学习用户身份验证的时候,我发现这里有个小弊端,在用户注册完成后想要验证邮箱的时候,点击邮箱中的网址进行验证,此时还要登陆,这及其不符合我们的习惯.一般情况下我们只需要点击网址就可以验证成功并且进入 ...

  8. 毕业之后de经历

    毕业之后 2016年7月,我大学毕业了.7月3号到7月6号,我陆续用我的小行李箱,在半夜12点左右,把我的生活用品拉出宿舍,大汗淋漓之后,我就在晚上12点多,找个奶茶店买一杯芒果冰沙.白天要去厦门的一 ...

  9. java枚举详解

    枚举的本质是类,枚举是用来构建常量数据结构的模板(初学者可以以此方式理解: public static final X=xxx),枚举的使用增强了程序的健壮性,在引用一个不存在的枚举值的时候,编译器会 ...

  10. Asp.net中GridView使用详解(很全,很经典)

    http://blog.csdn.net/hello_world_wusu/article/details/4052844 Asp.net中GridView使用详解 效果图参考:http://hi.b ...