多做题,通过考试没问题!

可扩展标记语言(xml)

睦霖题库>大学试题(计算机科学)>可扩展标记语言(xml)

下面的文件正确吗?为什么?用IE和本章中的解析器验证你的结论。 mes.dtd <!ELEMENT message ANY> <!ELEMENT persion (name,age?,lxfs)> <!ELEMENT lxfs (#PCDATA,tel|email)*> <!ELEMENT name (first,last)> <!ATTLIST name sex (male|female) "male"> <!ELEMENT first %pc; > <!ELEMENT last %pc;> <!ELEMENT age %pc;> <!ELEMENT tel %pc;> <!ELEMENT email %pc;> <!ENTITY % pc “(#PCDATA)”> <!ELEMENT emergency EMPTY> <!ATTLIST emergency fire CDATA #FIXED "119" police CDATA #FIXED "110" hospital CDATA #FIXED "120" > mes.xml <?xml version="1.0" encoding="gb2312"?> <!DOCTYPE SYSTEM "mes.dtd"> <message> <persion> <name sex="男"> <first>li</first> <last>xiao</last> </name> <age>25</age> <lxfs> <tel>123456</tel> </lxfs> </persion> <persion> <name> <first>wang</first> <last>xiao</last> </name> <lxfs></lxfs> </persion> <emergency fire="120" police="110" /> </message>

正确答案: 不正确。有5处错误,“<!ELEMENT lxfs (#PCDATA,tel|email)*>”句“#PCDATA”与“tel”之间应该用“|”,或去掉“#PCDATA”;参数实体应先声明后使用;文档类型声明缺少根元素;“name”的“sex”属性取值错误;“emergency”的“fire”属性取值错误。正确的文件:mes.dtd <!ELEMENT message ANY>
<!ELEMENT persion (name,age?,lxfs)>
<!ELEMENT lxfs (#PCDATA|tel|email)*>
<!ELEMENT name (first,last)>
<!ATTLIST name sex (male|female) "male">
<!ENTITY % pc "(#PCDATA)">
<!ELEMENT first %pc; >
<!ELEMENT last %pc;>
<!ELEMENT age %pc;>
<!ELEMENT tel %pc;>
<!ELEMENT email %pc;>
<!ELEMENT emergency EMPTY>
<!ATTLIST emergency
fire CDATA #FIXED "119"
police CDATA #FIXED "110"
hospital CDATA #FIXED "120"

mes.xml
<?xml version="1.0" encoding="gb2312"?>
<!DOCTYPE message SYSTEM "mes.dtd">
<message>
<persion>
<name sex="male">
<first>li</first>
<last>xiao</last>
</name>
<age>25</age>
<lxfs>
<tel>123456</tel>
</lxfs>
</persion>
<persion>
<name>
<first>wang</first>
<last>xiao</last>
</name>
<lxfs></lxfs>
</persion>
<emergency fire="119" police="110" />
</message>
答案解析:
进入题库查看解析

微信扫一扫手机做题