`
semi_sleep
  • 浏览: 101592 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

读XML in a Nutshell (3)

    博客分类:
  • XML
阅读更多

本篇内容包括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

    XML.in.a.Nutshell(英文版)

    C# 5.0 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 ...

    Python in a Nutshell- A Desktop Quick Reference-O'Reilly Media

    《Python in a Nutshell》是一本专为Python程序员设计的桌面速查指南,由Alex Martelli、Anna Ravenscroft和Steve Holden合著。本书是第四版,涵盖了Python 3.7到3.11的版本,旨在帮助读者快速查找Python语言和库的...

    C# 7.0 in A Nutshell

    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 in a Nutshell #### 引言:理解USB标准 对于初学者而言,进入USB领域可能会感到非常棘手。USB 2.0规范长达650页,仅仅这一点就足以让人望而却步。而这仅仅是众多与USB相关的标准中的一个开始。除了主规格...

    python in a nutshell 2nd,中文版

    《Python in a Nutshell》第二版是一本针对Python编程语言的深度指南,旨在为程序员提供一个全面而紧凑的参考资源。这本书中文版的高清扫描版是学习和查阅Python技术的重要资料,尤其适合已经有一定编程基础并希望...

    Python in a Nutshell Third Edition 2017

    ### Python in a Nutshell 第三版 2017 关键知识点解析 #### 书籍概述 《Python in a Nutshell》第三版是一本全面而深入介绍Python编程语言的经典著作,由Alex Martelli、Anna Ravenscroft和Steve Holden共同撰写。...

    Delphi in a Nutshell

    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 in a Nutshell #### 知识点一:R 的获取与安装 - **R 版本**:本书提及了 R 的版本信息,对于学习者来说了解当前使用的 R 版本至关重要,因为不同的版本可能会有功能上的差异或兼容性问题。 - **获取与安装 ...

    C#6.0 IN A NUTSHELL

    《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# 5.0 in a Nutshell 5th》是C#编程语言的一本权威指南,由专家撰写,深入浅出地介绍了C# 5.0版本的关键特性和使用方法。这本书对于开发者来说,是一份宝贵的参考资料,帮助他们理解和掌握C# 5.0的精髓,提升开发...

    C# 5.0 in a Nutshell, 5th Edition

    《C# 5.0 in a Nutshell, 5th Edition》是一本全面介绍C# 5.0编程语言的经典著作。这本书由权威专家编写,深入浅出地讲解了C# 5.0的关键特性,旨在帮助开发者快速掌握并熟练应用这一强大的编程工具。 C# 5.0是微软...

    Java in a Nutshell(中文版)

    Java in a Nutshell(6th) 英文无水印pdf 第6版 pdf所有页面使用FoxitReader和PDF-XChangeViewer测试都可以打开 本资源转载自网络,如有侵权,请联系上传者或csdn删除

Global site tag (gtag.js) - Google Analytics