第一次大作业
(实验题要有结果截图)
一、选择题
1、XML是( B )
A、一种标准泛用标记语言 B、一种可扩展标记语言
C、一种超文本标记语言 D、一种代替HTML的语言
2、属性( B )用来表示XML文档所使用的字符集。
A、version B、encoding C、standalone D、以上都不对
3、在实体引用中表示“>”的是( B )。
A、< B、 >; C、#qut; D、#at;
4、<?xml version=”1.0″?>
<book>
这是一本好书!
</book>
上面的XML文档属于( B )文档。
A、无效的 B、有效的C、格式良好的D、格式错误的
5、每个XML文档都有一个且只能有一个(B )
A. 子元素 B. 根元素 C.空元素 D. 属性
6、下列选项中,哪一个是合法的元素名?( B )
A、TOM B、1JACK C、12 D、1x
7、能显示出if a<c then c=a+b;的XML语句是(<document>在DTD中已定义为#PCDATA)( B )。
A、<![CDATA[if a”<”c then c=a+b;]]>
B、<![CDATA[if a<c then c=a+b;]]>
C、<![CDATA[if a<c then c=a+b;]]>
D、<document>if a<c then c=a+b;</document>
8、下面有几个空标记写法,其中正确的是( )。
A、<书/> B、</书> C、<书> D、</书/>
9、 元素出现次数指示符“+”,表示元素( B )
A. 可以不出现,或出现1次或多次 B. 可以出现0或1次
C. 至少出现1次 D. 没有限制
10、 如果希望属性的取值唯一,则该属性定义为( A )
A. ID B.IDREF C. IDREFS D. ENTITY
11、要将元素显示在块中,应该选择( )显示方式
A. display:none B. display:block
C. display:list-item D. display:inline
12、为定义一个XML文档的结构,开发者可以使用的XML技术有(D )。
A、UML B、 DTD C、Namespace D、XSL
13、考虑如下的XML.Schema示例
<xs:element name=”Price”>
<xs:complexType>
<xs:attribute name=”currency”type=”xs:string”/>
</xs:complexType>
</xs:element>
属性currency声明等同于下面选项(A )的DTD声明。
A、<!ATTLIST Price currency CDATA #REQUIRED>
B、<!ATTLIST Price currency CDATA #FIXED>
C、 <!ATTLIST Price currency CDATA #IMPLIED>
D、 <!ATTLIST Price currency PCDATA #IMPLIED>
14、在DTD中,定义元素属性时,其缺省值是IMPLIED时,是( D )的属性.
A、必须赋值 B、可有可无 C、固定取值 D、都不是
15、如果要为一个特定属性提供一个固定的缺省值,并且XML文件的编辑者不能修改它,就应该使用( )的关键字.
A、FIXED B、REQUIRED
C、IMPLIED D、CDATA
16、在XMLSchema中,声明一个元素的属性的attribute元素有一个常用的属性use,use 的取值不包括下列哪一项( A )。
A、required B、optional C、fixed D、prohibited
17、Schema与DTD的相同之处有( B)。
A、基于XML语法 B、支持命名空间
C、可扩展 D、对XML文档结构进行验证
18、CSS层叠式样式单语言中,标签只能用(D )。
A、中文 B、中、西文 C、西文 D、默认值
19、定义一个元素组,要求一次只能出现组中的一个元素,要使用的关键字是(A )
A、sequence B、group C、choice D、all
20. XML架构定义指的是哪一种架构? ( B )
A.XSD架构 B.W3C架构 C.DTD架构 D.XDR架构
二、简答题
1、简述XML和HTML有哪些异同?
答:(1)HTML语言是用来格式化wed数据的语言,有固定的标记,每一个标记都有固定的用法XML允许自定义标记,用户可以自己定义标记来描述自己领域的信息。
(2)HTML的语法也相当宽松,标记不一定要配对使用,名称不区分大小写。XML语言有其严格的语法规则,标记必须成对使用,严格区分名称的大小写。
(3)不能够很好的描述数据的结构,标记必须成对使用,严格区分名称的大小写。特点就是将信息的内容和它们的显示样式区分开来,焦点是数据的内容。
2、Schema与DTD的区别和优势在哪里?
答:XML Schema 和DTD 都是用来定义各种文件中XML标记的使用规范.
XML Schema 是标准的XML文件,而DTD则使用自己的特殊语法,因此,只需要知道XML的语法
规则就可以编写Schema了,不需要再学习其它语法规则. 可以使用相同的处理器来解读,
XML文件与XML Schema文件.
XML Schema 利用命名空间将文件中特殊的节点与Schema说明相联系,一个XML文件可以有
多个对应的Schema ,若是DTD的话,一个XML文件只能有一个相对应的DTD文件.
XMLSchema 的内容模型是开放的,可以随意扩充,而DTD则无法解读扩充的内容.
DTD只能把文件类型定义为一个字符串,而XML Schema 却允许把文件类型定义为整数,浮
点数,字符串,布尔值或其他各各数据类型,而无须重新定义.
XMLSchema 相对DTD的明显优势是XMLSchema 文件本身也是XML文件,而不是像DTD那样使用
特殊格式,因而方便了用户和设计者. 因为他们可以使用相同的工具来处理与开发XML Schema
和其他的XML数据,而不必用专门的开发或处理工具.
3、XML声明中有哪些属性?都有什么作用?
答:XML声明中包含3个属性:version、encoding和standalone。
它们的作用分别是:
Version属性:指出该XML文件中使用的XML版本,目前取值只有1.0.
Encoding属性:指出该XML文件采用编码的字集。取值有:UTF-8、GB2312-TS0-8859-1等。
Standalone属性:声明XML的独立性,即是否与其他文件相关联。取值有yes和no.
三、编程题
1.编写“职工信息.xml”的外部“职工信息.dtd”文件,能通过有效性验证。其中“上海公司”、“南京公司”必须出现只出现一次,各公司的学生可出现一到多次,属性“性别”是必需的,属性“职务”是可选的。
<?xml version =”1.0″ encoding =”GB2312″?>
<职工名单>
<上海公司>
<职工 性别=”男”>
<工号>08031101</工号>
<姓名>李佳泽</姓名>
<联系方式>87667140</联系方式>
</职工>
<职工 性别=”男” 职务=”经理”>
<工号>08031102</工号>
<姓名>安旭</姓名>
<联系方式>87667141</联系方式>
</职工>
<职工 性别=”女”>
<工号>08031103</工号>
<姓名>白金花</姓名>
<联系方式>87667142</联系方式>
</职工>
<职工 性别=”男”>
<工号>08031106</工号>
<姓名>吕鸿谭</姓名>
<联系方式>87667145</联系方式>
</职工>
<职工 性别=”男”>
<工号>08031107</工号>
<姓名>单奕寒</姓名>
<联系方式>87667146</联系方式>
</职工>
</上海公司>
<南京公司>
<职工 性别=”女”>
<工号>08031108</工号>
<姓名>周泽华</姓名>
<联系方式>87667147</联系方式>
</职工>
<职工 性别=”男” 职务=”经理”>
<工号>08031109</工号>
<姓名>赫阳阳</姓名>
<联系方式>87667148</联系方式>
</职工>
<职工 性别=”男” >
<工号>08031113</工号>
<姓名>王晓俊</姓名>
<联系方式>87667152</联系方式>
</职工>
<职工 性别=”男” 职务=”书记”>
<工号>08031114</工号>
<姓名>任禾</姓名>
<联系方式>87667153</联系方式>
</职工>
</南京公司>
</职工名单>
2.编写“职工.xml”的基本的schema文件“职工.xsd ”, 要求
employee元素出现一到多次;
name、sex、age元素有序出现;
name出现一次;sex、age元素可以不出现,可以出现一次;
属性id为6位数字字符,此属性是必需的;
sex只能取值“男”或“女”;
年龄大于等于16小于等于22;
能通过有效性验证。
职工.xml:
<?xml version=”1.0″ encoding=”UTF-8″?>
<employeelist>
<employee> id=”2014001″>
<name>王彤</name>
<sex>女</sex>
<age>35</age>
</employee>
<employee id=”2014002″>
<name>李明</name>
</employee>
</employeelist>