XML 命名空间

  XML 命名空间提供避免元素命名冲突的方法。

  命名冲突

  在 XML 中,元素名称是由开发者定义的,当两个不同的文档使用相同的元素名时,就会发生命名冲突。

  这个 XML 携带 HTML 表格的信息:

  

  

  

  

  

  

Apples Bananas

  这个 XML 文档携带有关桌子的信息(一件家具):

  

  African Coffee Table

  80

  120

  

  假如这两个 XML 文档被一起使用,由于两个文档都包含带有不同内容和定义的 元素,就会发生命名冲突。

  XML 解析器无法确定如何处理这类冲突。

  使用前缀来避免命名冲突

  在 XML 中的命名冲突可以通过使用名称前缀从而容易地避免。

  该 XML 携带某个 HTML 表格和某件家具的信息:

  

  

  Apples

  Bananas

  

  

  

  African Coffee Table

  80

  120

  

  在上面的实例中,不会有冲突,因为两个

元素有不同的名称。

  XML 命名空间 - xmlns 属性

  当在 XML 中使用前缀时,一个所谓的用于前缀的命名空间必须被定义。

  命名空间是在元素的开始标签的 xmlns 属性中定义的。

  命名空间声明的语法如下。xmlns:前缀="URI"。

  

  

  

  Apples

  Bananas

  

  

  

  African Coffee Table

  80

  120

  

  

  在上面的实例中,

标签的 xmlns 属性定义了 h: 和 f: 前缀的合格命名空间。

  当命名空间被定义在元素的开始标签中时,所有带有相同前缀的子元素都会与同一个命名空间相关联。

  命名空间,可以在他们被使用的元素中或者在 XML 根元素中声明:

  

  xmlns:f="http://www.w3cschool.cc/furniture">

  

  

  Apples

  Bananas

  

  

  

  African Coffee Table

  80

  120

  

  

  注释:命名空间 URI 不会被解析器用于查找信息。

  其目的是赋予命名空间一个惟一的名称。不过,很多公司常常会作为指针来使用命名空间指向实际存在的网页,这个网页包含关于命名空间的信息。

  请访问 http://www.w3.org/TR/html4/。

  统一资源标识符(URI,全称 Uniform Resource Identifier)

  统一资源标识符(URI)是一串可以标识因特网资源的字符。

  最常用的 URI 是用来标识因特网域名地址的统一资源定位器(URL)。另一个不那么常用的 URI 是统一资源命名(URN)。

  在我们的实例中,我们仅使用 URL。

  默认的命名空间

  为元素定义默认的命名空间可以让我们省去在所有的子元素中使用前缀的工作。它的语法如下:

  xmlns="namespaceURI"

  这个 XML 携带 HTML 表格的信息:

  

  

  

  

  

  

Apples Bananas

  这个XML携带有关一件家具的信息:

  

  African Coffee Table

  80

  120

  

  实际使用中的命名空间

  XSLT 是一种用于把 XML 文档转换为其他格式的 XML 语言,比如 HTML。

  在下面的 XSLT 文档中,您可以看到,大多数的标签是 HTML 标签。

  非 HTML 的标签都有前缀 xsl,并由此命名空间标识:xmlns:xsl="http://www.w3.org/1999/XSL/Transform":

  

  

  xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

  

  

  

  

My CD Collection

  

  

  

  

  

  

  

  

  

  

  

  

Title Artist
   

  

  

  

  

  如果您想要学习有关 XSLT 的知识,请在我们的首页查找 XSLT 教程。

  本文转载自:w3cschool(编辑:雷林鹏 来源:网络)

转载于:https://www.cnblogs.com/pengpeng1208/p/10558631.html

雷林鹏分享:XML 命名空间相关推荐

  1. 雷林鹏分享:Ruby XML, XSLT 和 XPath 教程

    Ruby XML, XSLT 和 XPath 教程 什么是 XML ? XML 指可扩展标记语言(eXtensible Markup Language). 可扩展标记语言,标准通用标记语言的子集,一种 ...

  2. 雷林鹏分享:XML 编码

    XML 编码 XML 文档可以包含非 ASCII 字符,比如挪威语 æ ø å,或者法语 ê è é. 为了避免错误,需要规定 XML 编码,或者将 XML 文件存为 Unicode. XML 编码错 ...

  3. 雷林鹏分享:Ruby Web Services 应用 - SOAP4R

    Ruby Web Services 应用 - SOAP4R 什么是 SOAP? 简单对象访问协议(SOAP,全写为Simple Object Access Protocol)是交换数据的一种协议规范. ...

  4. 雷林鹏分享:PHP 简介

    PHP 是服务器端脚本语言. 您应当具备的基础知识 在继续学习之前,您需要对以下知识有基本的了解: HTML CSS 如果您希望首先学习这些项目,请在我们的 首页 访问这些教程. PHP 是什么? P ...

  5. 雷林鹏分享:PHP 魔术常量

    PHP 向它运行的任何脚本提供了大量的预定义常量. 不过很多常量都是由不同的扩展库定义的,只有在加载了这些扩展库时才会出现,或者动态加载后,或者在编译时已经包括进去了. 有八个魔术常量它们的值随着它们 ...

  6. 雷林鹏分享:AJAX 简介

    AJAX 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术. AJAX 是什么? AJAX = Asynchronous JavaScript and XML. AJAX 是一种用于创建快 ...

  7. 雷林鹏分享:C# 程序结构

    C# 程序结构 在我们学习 C# 编程语言的基础构件块之前,让我们先看一下 C# 的最小的程序结构,以便作为接下来章节的参考. C# Hello World 实例 一个 C# 程序主要包括以下部分: ...

  8. 雷林鹏分享:jQuery EasyUI 数据网格 - 创建属性网格

    jQuery EasyUI 数据网格 - 创建属性网格 属性网格(property grid)带有一个内置的 expand(展开)/collapse(合并) 按钮,可以简单地为行分组.您可以简单地创建 ...

  9. 雷林鹏分享:MySQL 及 SQL 注入

    MySQL 及 SQL 注入 如果您通过网页获取用户输入的数据并将其插入一个MySQL数据库,那么就有可能发生SQL注入安全的问题. 本章节将为大家介绍如何防止SQL注入,并通过脚本来过滤SQL中注入 ...

最新文章

  1. 华为鸿蒙系统概念图,华为P50Pro概念图:没有麒麟芯片,鸿蒙系统和7镜头也可以很豪横...
  2. kvm--virsh命令行下管理虚拟机
  3. 50k大牛告诉你Python怎么学,10个特性带你快速了解python
  4. 【Android 逆向】Frida 框架 ( 安装 frida 12.7.5 | 安装 frida-tools 5.1.0 | PC 端 frida 与 安卓模拟器端 frida-server )
  5. Security Wheel 安全环
  6. 第5周实践项目1 顺序栈建立的算法库
  7. android 内存占用工具,Android系统检测程序内存占用各种方法
  8. Elasticsearch 基本介绍及其与 Python 的对接实现
  9. 【BZOJ1999】树网的核,求树的直径+单调队列乱搞
  10. SpringSecurity的认识和整合流程
  11. android studio创建构造方法,使用Android studio创建你的第一个项目
  12. 看qq加密相册_用 Python 爬取 QQ 空间说说和相册
  13. birt java api_「Birt」birt api生成报表 | 学步园
  14. 服务器mdl文件转换,Simulink Project 中 MDL 到 SLX 模型文件格式的转换
  15. odin学习2 button
  16. 用甘特图控件VARCHART XGantt搞定项目管理
  17. 一级计算机wps都考些什么,计算机一级WPS考什么内容
  18. js/vue:video 视频播放器
  19. 循迹小车智能搬运:调车篇
  20. 做前端的你,如何克服技术焦虑?

热门文章

  1. 201521123111《Java程序设计》第2周学习总结
  2. python版本与编码的区别
  3. linux常用查看硬件设备信息命令
  4. 基于开源CA系统ejbca community 6.3.1.1构建私有CA管理数字证书
  5. swift处理网络返回数据(封装)
  6. hdu 2295 Radar 重复覆盖+二分
  7. C# - list数据填充到Dataset里
  8. DataTable排序,检索,合并,筛选
  9. C#访问远程主机资源的方法
  10. 用JSON和Javscript的prototype来构建完善的Javascript面向对象表示法