• 热门标签

当前位置: 主页 > 航空资料 > 计算机 >

时间:2010-08-09 13:24来源:蓝天飞行翻译 作者:admin
曝光台 注意防骗 网曝天猫店富美金盛家居专营店坑蒙拐骗欺诈消费者

</mrow>
<mi>c</mi>
</mfrac>
<mi></mi>
<msup>
<mi>J</mi>
<mrow>
<mi>&#x3B2;</mi>
<mo></mo>
</mrow>
</msup>
</mrow>
</math>
<P>and there was light</P>
</body>
</html>
此处的math、mrow、msub、mo、mi、mfrac、mn 和msup 都在http://www.w3.org/ TR/ REC-MathML/命名域中,尽管包含它
们的文档使用http://www.w3.org/TR/ REC-html40 命名域。
XML 实用大全
第 629 页
18.3 DTD 中的命名域
命名域并没有排除结构整洁和合法性的正常规则。要使带有命名域的文档合法,必须在DTD 中声明xmlns 特性,这样才能用
于与这些特性相关联的元素。此外,如果文档使用math:subset 元素,那么DTD 必须声明math:subset 元素,而不仅仅声明
subset 元素(当然,这些规定不适用于迄今讨论过的少数几个结构整洁的文档)。例如:
<!ELEMENT math:subset EMPTY>
缺省的特性值以及#IMPLIED 特性在此处都有用。例如,下面的ATTLIST 声明将每个math:subset 元素都放在
http://www.w3.org/TR/REC-MathML/命名域中,除非在文档中另外指定。
<!ATTLIST math:subset
xmlns:math "http://www.w3.org/TR/REC-MathML/" #IMPLIED>
由于缺省命名域不需要在所有的元素前加上前缀,所以当处理合法的文档时,这样的命名域特别有用。给DTD 不使用前缀的
XML 应用程序中的元素加前缀将破坏合法性。
但是,缺省命名域到底起多大作用,却有明确的范围。特别是,这些命名域不足以区分这样的两个元素:即使用的元素名相
互矛盾。例如,如果一个DTD 定义一个HEAD,同时又包含一个TITLE 和一个META 元素,并且另一个DTD 也定义一个HEAD,
同时包含#PCDATA,那么就得在DTD 和文档中使用前缀来区分这两个不同的HEAD 元素。
正在进行的两种不同的开发,可能(或许不能)最终解决对来自不同领域的相互矛盾的DTD 进行融合问题。XML 模式为DTD
提供更加强大的替代对象;而XML 片断能够使不同的文档与差别更大的部分结合起来。但是,这两者至今仍没有完成。因此,
如今,融合相互矛盾的DTD 或许需要使用前缀来重新编写DTD 和文档。
如果对有关使用命名域的文档是否是结构整洁或合法还不太清楚的话,请忘掉有关命名域的所有知识。只将文
档作为一个正常的XML 文档来看待,只不过这样的文档中的一些元素和特性名碰巧包含冒号罢了。这种文档也
是结构整洁和合法的,就像不考虑命名域时的一样。
XML 实用大全
第 630 页
18.4 本章小结
本章解释了如何使用命名域。特别是学习了如下内容:
• 命名域区别不同XML 应用程序中相同名称的元素和特性。
• 命名域是由xmlns 特性(其值为命名域的URI)来声明的。由该URI 引用的文档可以不存在。
• 与命名域相关联的前缀是xmlns 特性名的组成部分,而此命名域前面有一冒号;例如xmlns:prefix。
• 加到所有元素和特性名中的前缀属于由前缀表征的命名域。
• 如果xmlns 特性没有前缀,那么它就为元素及该元素的子元素(但不为任何特性)建立一个缺省的命名域。
• DTD 必须以这样的方式来编写,以使对命名域一无所知的处理程序仍能分析并验证此文档的合法性。
下一章将探讨资源描述框架(Resource Description Framework,RDF),它是个XML 应用程序,用于编译元数据(metadata)
和信息结构。


 
中国航空网 www.aero.cn
航空翻译 www.aviation.cn
本文链接地址:XML实用大全(178)