首页 > 其他分享 >【XML】学习笔记第三章-namesapce

【XML】学习笔记第三章-namesapce

时间:2022-09-26 19:46:59浏览次数:57  
标签:XML 第三章 元素 别名 空间 namesapce 命名 属性

目录

命名空间

命名空间概述

标记中出现了同名不同义的情况,极其容易造成含义混乱。命名空间就是由W3C制定的用于解决这类问题的。

【命名空间的作用】出现标记同名不同义情况时,避免含义混乱

<?xml version="1.0" encoding="UTF-8"?>
<book xmlns:bk="http://www.dlut.edu.cn/xml/book"
      xmlns:au="http://www.dlut.edu.cn/xml/author">
    <bk:name>XML技术及应用</bk:name>
    <author>
        <au:name>唐琳</au:name>
        <age>34</age>
    </author>
</book>

命名空间语法

命名空间的语法格式是: xmlns[:prefix]="命名空间字符串"

xmlns :是XML namespace的缩写即XML命名空间,这个字符串是固定的。

prefix : 表示前缀名称也称为命名空间别名,可以随意指定,通常是一个简短的名字。

注:命名空间别名中不能包括冒号,因为在使用时是采用“命名空间别名:本地标记名”的方式

如果增加冒号就无法区别命名空间别名和本地标记名。

命名空间别名不能使用xml和xmlns。

xml只能用于XML1.0规范定义的xml:space和xml:lang属性
别名xml被定义与名称空间名字http://www.w3.org/XML/1998/namespace绑定

前缀xmlns仅仅用于声明名称空间的绑定,它被定义为与名称空间名字http://www.w3.org/2000/xmlns/绑定。

命名空间的声明

命名空间声明主要包括两种形式:

1.没有前缀限定的命名空间

<?xml version="1.0" encoding="UTF-8"?>
<root xmlns="http://www.dlut.edu.cn/xml/nonamespace">
    <sub>abc</sub>
</root>

2.有前缀限定的命名空间。

<?xml version="1.0" encoding="UTF-8"?>
<dlut:root xmlns:dlut="http://www.dlut.edu.cn/xml/nonamespace">
    <dlut:sub>abc</dlut:sub>
</dlut:root>

命名空间作用域

命名空间能够作用于声明该命名空间的元素及其子元素中,除非被子元素中其它同别名的命名空间所覆盖

但并不表示作用域内的元素属于该命名空间。

对命名空间的使用

元素对命名空间的使用

虽然在元素中声明了命名空间,命名空间也可以作用于相应的元素,但是并不表示该元素位于所声明的命名空间中。

如果要表示某元素位于某命名空间时,需为该元素指定命名空间。

指定命名空间的语法为:命名空间别名:标记名

属性对命名空间的使用

实际应用中属性很少使用命名空间,但需要读者注意的是如果在属性上没有使用任何命名空间别名,则表示该属性不属于任何命名空间。

注:属性的命名空间是独立的,即无论属性所属的元素属于任何命名空间与属性的命名空间无关。

DTD对命名空间的支持

支持但不推荐使用。但支持太差,就如同不支持一样。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE book[
	<!ELEMENT book (bk:name,author)>
	<!ELEMENT bk:name (#PCDATA)>
	<!ELEMENT author (au:name,age)>
	<!ELEMENT au:name (#PCDATA)>
	<!ELEMENT age (#PCDATA)>
	<!ATTLIST book xmlns:bk CDATA #IMPLIED
	xmlns:au CDATA #IMPLIED
	xmln CDATA #IMPLIED>
	<!ATTLIST age xmln  CDATA #IMPLIED>
]>
<book xmlns:bk="http://www.dlut.edu.cn/xml/book"
xmlns:au="http://www.dlut.edu.cn/xml/author"
xmln="http://www.dlut.edu.cn/xml"
>
	<bk:name>XML技术及应用</bk:name>
	<author>
		<au:name>唐琳</au:name>
		<age xmln="">34</age>
	</author>
</book>

标签:XML,第三章,元素,别名,空间,namesapce,命名,属性
From: https://www.cnblogs.com/mllt/p/xml-namespace.html

相关文章

  • 【XML】学习笔记第二章-dtd
    目录XML-DTDDTD语句基本声明语句引用外部DTDDTD元素四种元素类型元素定义关键字修饰符号DTD中的属性属性修饰属性类型DTD中的实体和符号符号坑XML-DTDDTD(DocumentTypeD......
  • log4j.xml
    <?xmlversion="1.0"encoding="UTF-8"?><!DOCTYPElog4j:configurationPUBLIC"-//log4j/log4jConfiguration//EN""log4j.dtd"><log4j:configurationxmlns:log4j="......
  • 第三章实战
    实例7变形 实战一             ......
  • python入门篇第三章 pycharm下载与使用
    pycharm下载与使用1、软件说明PyCharm是由JetBrains打造的一款PythonIDE。同时支持GoogleAppEngine,PyCharm支持IronPython。这些功能在先进代码分析程序的支持下,使P......
  • R语言学习丨数据存储文件格式知识,CSV,EXCEL,XML,JSON,MYSQL等
    今天笔记的主要学习内容是R语言里文件相关知识,包含CSV、Excel、XML、JSON、MySQL等。CSV文件基本介绍CSV(Comma-SeparatedValues,字符分隔值,分隔字符也可以不是逗号)是......
  • scrapy框架之生成存储文件json,xml、csv文件
    以起点小说网举例子网址https://www.qidian.com/rank/yuepiao/默认大家已经生成好scrapy项目了,如果不会请参考我之前的文章scrapy框架之创建项目运行爬虫爬取网页获......
  • uniapp小程序使用wxml-to-canvas生成图片
    开发框架:uniapp场景:小程序保存页面为图片并上传尝试方案:使用html-to-canvas,问题:小程序不允许操作dom,也无法获取dom标签,只能通过wx.createSelectorQuery()获取dom信息。......
  • tomcat server.xml标签功能详解
    1.具体说明  tomcat/conf/server.xml<!--属性说明port:指定一个端口,这个端口负责监听关闭Tomcat的请求shutdown:向以上端口发送的关闭服务器的命令字符串--><Se......
  • python第三章实验
    print("今有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二,问几何?\n")#输入一个数number=int(input("请输入您认为符合条件的数:"))#判断是否符合条件......
  • 第三章流程控制语句
    实例01判断输入的是不是黄蓉所说的数if语句点击查看代码print("今有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二,问几何?\n")number=int(input("请输入您认为......