本篇内容包括chapter 4 Namespace。跟.net的namespace类似,XML的namespace也是用来区分同名的element,DTD对namespace的支持是非常有限的,其程度仅仅在于保障使用了namespace的xml能够被验证,在实际应用中,目前觉得namespace主要用于帮助parser识别特定的某些标签。例子如下:
<?xml version="1.0"?>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:xlink="http://www.w3.org/1999/xlink">
<head><title>Three Namespaces</title></head>
<body>
<h1 align="center">An Ellipse and a Rectangle</h1>
<svg:svg xmlns:svg="http://www.w3.org/2000/svg" width="12cm" height="10cm">
<svg:ellipse rx="110" ry="130" />
<svg:rect x="4cm" y="1cm" width="3cm" height="6cm" />
</svg:svg>
<p xlink:type="simple" xlink:href="ellipses.html">More about ellipses</p>
<p xlink:type="simple" xlink:href="rectangles.html">More about rectangles</p>
<hr/>
<p>Last Modified May 13, 2000</p>
</body>
</html>
1.namespace的语法,如:xlink:type,xlink被称为prefix,type被称为local part,整个被称为qualified name。
2.namespace的定义,类似于attribute的格式,但namespace所使用的xmlns是保留字,在处理是并不被认为是attribute。使用xmlns="http://www.w3.org/1999/xhtml"定义意味着在没有明确指出的情况下,该element及其所有子element都属于该namespace,值得注意的是,这并不包含attribute,使用xmlns:xlink="http://www.w3.org/1999/xlink"则意味着将该uri绑定到xlink这个prefix。
3.namespace的使用,如上面的例子所示。
4.在DTD中使用namespace。在没有命名冲突的情况下,在DTD中使用<!ATTLIST svg xmlns CDATA #FIXED "http://www.w3.org/2000/">这样的定义,可以为某个element及其子element设置默认的namespace。同时在DTD中使用parameter entity可以使namespace的定义更为灵活,如:
<!ENTITY % dc-prefix "dc">
<!ENTITY % dc-colon ":">
<!ENTITY % dc-title "%dc-prefix;%dc-colon;title">
<!ENTITY % dc-creator "%dc-prefix;%dc-colon;creator">
<!ENTITY % dc-description "%dc-prefix;%dc-colon;description">
<!ENTITY % dc-date "%dc-prefix;%dc-colon;date">
<!ELEMENT %dc-title; (#PCDATA)>
<!ELEMENT %dc-creator; (#PCDATA)>
<!ELEMENT %dc-description; (#PCDATA)>
<!ELEMENT %dc-date; (#PCDATA)>
<!ELEMENT rdf:Description ((%dc-title; | %dc-creator; | %dc-description; | %dc-date; )*)>
分享到:
相关推荐
XML.in.a.Nutshell(英文版)
When you have a question about how to use C# 5.0 or the .NET CLR, this highly acclaimed bestseller has precisely the answers you need. Uniquely organized around concepts and use cases, this fifth ...
Dive in and discover why this Nutshell guide is considered the definitive reference on C#. Get up to speed on the C# language, from the basics of syntax and variables to advanced topics such as ...
### USB in a Nutshell #### 引言:理解USB标准 对于初学者而言,进入USB领域可能会感到非常棘手。USB 2.0规范长达650页,仅仅这一点就足以让人望而却步。而这仅仅是众多与USB相关的标准中的一个开始。除了主规格...
《Python in a Nutshell》第二版是一本针对Python编程语言的深度指南,旨在为程序员提供一个全面而紧凑的参考资源。这本书中文版的高清扫描版是学习和查阅Python技术的重要资料,尤其适合已经有一定编程基础并希望...
### Python in a Nutshell 第三版 2017 关键知识点解析 #### 书籍概述 《Python in a Nutshell》第三版是一本全面而深入介绍Python编程语言的经典著作,由Alex Martelli、Anna Ravenscroft和Steve Holden共同撰写。...
Not to rest on success, the latest version of Delphi, Version 5, includes further expansion and refinement of the 3-tier application framework introduced in Delphi 4 and has resulted in a prize-...
### R in a Nutshell #### 知识点一:R 的获取与安装 - **R 版本**:本书提及了 R 的版本信息,对于学习者来说了解当前使用的 R 版本至关重要,因为不同的版本可能会有功能上的差异或兼容性问题。 - **获取与安装 ...
《C#6.0 IN A NUTSHELL》是由Joseph Albahari和Ben Albahari合著的一本关于C#编程语言的参考书籍。这本书是“C# in a nutshell”系列书籍的最新版,专门针对C# 6.0版本提供了详尽的参考资料和指导。该书不仅仅是一本...
《C# 5.0 in a Nutshell 5th》是C#编程语言的一本权威指南,由专家撰写,深入浅出地介绍了C# 5.0版本的关键特性和使用方法。这本书对于开发者来说,是一份宝贵的参考资料,帮助他们理解和掌握C# 5.0的精髓,提升开发...
《C# 5.0 in a Nutshell, 5th Edition》是一本全面介绍C# 5.0编程语言的经典著作。这本书由权威专家编写,深入浅出地讲解了C# 5.0的关键特性,旨在帮助开发者快速掌握并熟练应用这一强大的编程工具。 C# 5.0是微软...
Java in a Nutshell(6th) 英文无水印pdf 第6版 pdf所有页面使用FoxitReader和PDF-XChangeViewer测试都可以打开 本资源转载自网络,如有侵权,请联系上传者或csdn删除
C# 6.0 in a Nutshell(6th) 英文无水印pdf 第6版 pdf所有页面使用FoxitReader和PDF-XChangeViewer测试都可以打开 本资源转载自网络,如有侵权,请联系上传者或csdn删除 本资源转载自网络,如有侵权,请联系...