XML入门教程:XML名称空间-XML/XSLT

所属分类: 网页制作 / XML/XSLT 阅读数: 702
收藏 0 赞 0 分享

XML名称空间表示XML名称的使用范围,因为XML可自定义元素标签,所以有不同XML应用间XML名称重名的机会是很大的。如果没有一种方法来区分不应用的名称,就会造成混乱。XML名称空间就是为了解决这个问题而设计的。通过XML名称空间,我们可以区分来自不同的XML应用的具有相
XML名称空间表示XML名称的使用范围,因为XML可自定义元素标签,所以有不同XML应用间XML名称重名的机会是很大的。如果没有一种方法来区分不应用的名称,就会造成混乱。XML名称空间就是为了解决这个问题而设计的。通过XML名称空间,我们可以区分来自不同的XML应用的具有相同名称的元素和属性。可以将来自单一XML应用的相关元素和属性集合在一起,方便软件识别和处理。
名称空间由前缀和本地部分组成,中间用冒号分隔。前缀标识元素或属性的所在名称空间,本地部分标识名称空间中的某个元素或属性。整个名称也称为限定名称(qualified name)。前缀可以用除XML(大小写任意组合)三个字母外的任何合法的XML名称字符组成。每个限定名称中的前缀都必须与唯一的一个URI关联。带有相同URI关联的前缀的名称属于同一名称空间。
<rdf:RDF xmlns:rdf="http://www.w3.org/TR/REC-rdf-syntax#"> <rdf:Description about="http://www.example.com/test.xml"> <title>example</title> <author>linuxsir</author> ... </rdf:Description> </rdf:RDF>
上例rdf:RDF元素的xmlns:rdf属性将前缀rdf绑定到名称空间http://www.w3.org/TR/REC-rdf-syntax#。属性xmlns:rdf为rdf:RDF元素及其子元素声明了前缀rdf。RDF处理器将把rdf:RDF和rdf:Description作为RDF元素,因为两个元素都具有与RDF规范定义的某个URI相绑定的前缀。处理器不会认为title,author等元素为RDF元素,因为它没有绑定到相同URI的rdf前缀。本文由脚本之家(https://www.jb51.net)整理发布!转载请注明出处,谢谢!
前缀一般在使用该前缀的最上层元素中定义。在下层元素中也可定义不同的前缀:
<rdf:RDF xmlns:rdf="http://www.w3.org/TR/REC-rdf-syntax#"> <rdf:Description xmlns:dc="http://www.w3.org/dc/" about="http://www.example.com/test.xml"> <dc:title>example</dc:title> <dc:author>linuxsir</dc:author> ... </rdf:Description> </rdf:RDF>
不带前缀的属性,如about,不属于任何的名称空间。如xlink:type和xlink:href属性属于xlink名称空间,当然,前提是你要先把xlink绑定到一个URI。URI不必须是一定存在的http链接,它只是一种表示的方法,以区分不同的名称空间。
通过将无前缀的xmlns属性附加到根元素中,可以指定不带前缀的元素及所有不带前缀的子元素属于某个名称空间。
<svg xmlns="http://www.w3.org/2000/svg"> <ellipse rx="110" ry="130" /> <rect x="4cm" y="1cm" /> </svg>
这里,虽然所有元素都没有前缀,但它都同属一个名称空间。但属性属不同名称空间,因为默认名称空间只应用于元素。默认名称空间在子元素中也用相同的方法重新设置。
如果名称空间只用来识别来自某种XML应用的元素和属性,而不是用来区分具有相同名称的不同元素,则可在DTD的元素中定义一个固定的xmlns属性,而不需要文档中定义。定义方法如下:
<!ATTLIST svg xmlns CDATA #FIXED "http://www.w3.org/svg/">
在定义DTD时,需要使用名称空间前缀的在定义时也要把前缀写到DTD定义里,如:
<!ELEMENT xlink:name (#PCDATA)>
使用参数实体引用来定义名称空间前缀可方便DTD文档的维护,如:本文由脚本之家(https://www.jb51.net)整理发布!转载请注明出处,谢谢!
<!ENTITY % prefix "xlink"> <!ENTITY % colon ":">
接着,利用该参数实体名称定义更多的参数实体引用,如:
<!ENTITY % xlink-title "%prefix;%colon;title"> <!ENTITY % xlink-author "%prefix;%colon;author">
这样,如果需更改前缀,只需修改一个地方就可以了,不用整篇文档修改。
<!ELEMENT %xlink-title; (#PCDATA)> <!ELEMENT %xlink-author; (#PCDATA)> 不能在ATTLIST和ELEMENT声明中直接使用%prefix;和%colon;,因为在另一个实体的外部使用这些参数实体时,XML解析器会在实体替换文本的两边添加额外的空格。
更多精彩内容其他人还在看

XML模式相关常用的缩写词

常用的缩写词 Ajax:异步 Javascript XML(Asynchronous JavaScript XML) CPU:中央处理单元(Central Processing Unit) CSS:级联样式表(Cascadi
收藏 0 赞 0 分享

XML模式:SOAP

简单对象访问协议(Simple Object Access Protocol,SOAP)实际上是一种 Web 服务技术,但 Web 服务中客户机和服务器之间的数据交换格式是通过灵活的 XML 模式实现的。 Web 服务的主要优点是客户机和服务器通过网络进行信息和数据交换的互
收藏 0 赞 0 分享

XML 语法

相关文章:什么是XML? 看一个简单的XML文档: <?xml version="1.0" encoding="ISO-8859-1"?> <people> <name>yufuzi<
收藏 0 赞 0 分享

什么是XSL?

相关文章:什么是XML XSL(EXtensible Stylesheet Language)它是指可扩展样式表语言。 XSL之于 XML 就像 CSS 之于 HTML。说白了就是将XML中的数据用指定的显示格式输出.XML不像HTML,它不包含任何显示格式的信息.XSL
收藏 0 赞 0 分享

XML:OpenSearch 应用

很多现代的浏览器在地址栏的右边有个搜索框,默认的安装有 Google 搜索等。如下图所示: 其实这是 OpenSearch 的一个应用,只要编写相应的微格式的 xml 文件,就可以制定相应的搜索框。参考 OpenSearch 的定义文档,可以基本获得基本的 xml
收藏 0 赞 0 分享

网页制作关于代码的18个小技巧

  1、xml文件尽量以utf-8编码,gb2312有些字是存储不了的,如?,就算能存也需要转换,比较麻烦,utf-8也符合国际规范。   2、CSS中:hover这个伪类,如果放在:visited前面则会失效。   3、<a>标签如果没有href属性,所
收藏 0 赞 0 分享

什么是XML?

XML是 EXtensible Markup Language(可扩展标识语言)的简写。 和HTML(Hypertext Markup Language 超文本标记语言)一样,同样来源于SGML. XML 不是 HTML 的替代者,只是HTML的补充,它的用途完全不同
收藏 0 赞 0 分享

数据库生成xml的简单方法

第一个示例方法: 1 SqlConnection conn = new SqlConnection(); 2 conn.ConnectionString = "Server=127.0.0.1;User ID=sa;Password=fdahgdr
收藏 0 赞 0 分享

XML教程:通过一个例子来学习XML的语法

XML的语法规则既很简单,又很严格。这些规则很容易学习,也很容易使用。 正因为如此,创建可读取及操作XML的软件不是一件难事。 一个XML文档的例子 XML使用一种可自我描述的简单的语法。 <?xml version="1.0&q
收藏 0 赞 0 分享

百度新闻开放协议XML文档制作方法简述

开放协议概述 使用此开放协议,将会为您的网站带去更多流量! 《互联网新闻开放协议》是百度新闻搜索制定的搜索引擎新闻源收录标准,网站可将发布的新闻内容制作成遵循此开放协议的XML格式的网页(独立于原有的新闻发布形式)供搜索引擎索引,将网站发布的新闻信息主动、及
收藏 0 赞 0 分享
查看更多