Xml,html等标记语言一般开头都会有命名空间的定义。这里主要说明几个常见到的xmlns,targetNamespace, xmlns:ss等。
1. XML 命名空间提供避免元素命名冲突的方法。
当不同的xml文件里包含相同的标签但不同含义,又恰恰在同一个文件里被引用时就分辨不出这个标签的含义了,使用命名空间来区分就不会存在歧义了,w3school里有详细的举例说明,可以参考:http://www.w3school.com.cn/xml/xml_namespaces.asp
2.xmlns, xmlns:xsi, targetNamespace
先看一个例子:
<?xml version="1.0"?>
<note xmlns="http://www.w3schools.com"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.w3schools.com note.xsd">
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
这里的根元素里引用了几个命名空间。
1)xmlns (xmlns="http://www.w3schools.com")
-- specifies the default namespace declaration. This declaration tells the schema-validator that all the elements used in this XML document are declared in the "http://www.w3schools.com" namespace.
这个是定义了默认命名空间,所有不带前缀的元素都是使用这个默认命名空间里的元素。
2)xmlns:xsi (xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance")
-- indicates that the elements and data types used in the schema come from the " http://www.w3.org/2001/XMLSchema-instance " namespace. It also specifies that the elements and data types that come from the " http://www.w3.org/2001/XMLSchema-instance " namespace should be prefixed with xsi.
这个同样声明了可以使用的命名空间,但是使用时需要指明xsi前缀,比如:
<xsi:ss>使用xsi命名空间</xsi:ss> (ss应该是xsi里真实定义的schema).
注意:我们看到标识命名空间的一般都是一个url,而且可以访问,但其实不是必须为url的。用来标识命名空间的网络地址并不被XML解析器调用,XML解析器不需要从这个网络地址中查找信息,该网络地址的作用仅仅是给命名空间一个唯一的名字,因此这个网络地址也可以是虚拟的,然而又很多公司经常把这个网络地址值象一个真实的Web页面,这个地址包含了关于当前命名空间更详细的信息。
xml元素校验的xsd文件才必须是真实的,而且会拿来校验xml定义的是否合法。
补充xsd:
XSD是指XML结构定义 ( XML Schemas Definition )
XML Schema 是DTD的替代品。XML Schema语言也就是XSD。
XML Schema描述了XML文档的结构。可以用一个指定的XML Schema来验证某个XML文档,以检查该XML文档是否符合其要求。文档设计者可以通过XML Schema指定一个XML文档所允许的结构和内容,并可据此检查一个XML文档是否是有效的。XML Schema本身是一个XML文档,它符合XML语法结构。可以用通用的XML解析器解析它。
一个XML Schema会定义:文档中出现的元素、文档中出现的属性、子元素、子元素的数量、子元素的顺序、元素是否为空、元素和属性的数据类型、元素或属性的默认和固定值。
XSD是DTD替代者的原因,一是据将来的条件可扩展,二是比DTD丰富和有用,三是用XML书写,四是支持数据类型,五是支持命名空间。
XSD文件的后缀名为.xsd。
XML Schema的优点:
1) XML Schema基于XML,没有专门的语法
2) XML可以象其他XML文件一样解析和处理
3) XML Schema支持一系列的数据类型(int、float、Boolean、date等)
4) XML Schema提供可扩充的数据模型。
5) XML Schema支持综合命名空间
6) XML Schema支持属性组。
详细可以参考:http://wenku.baidu.com/link?url=DkLPOQNoOBybLALkh-v-6N9k-vOc4gpftKDRXYryzX0XZrduZz1Y3lh4Ejf07qFQRMxErGMT330OyxNd__U2zg9m-UoYU_0heEdcP6uwopu
再看一个例子:
<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.w3schools.com"
xmlns="http://www.w3schools.com"
elementFormDefault="qualified">
...
...
</xs:schema>
3) targetNamespace (targetNamespace="http://www.w3schools.com")
这个是把当前文档声明成一个命名空间,类似java文件中的package。但这只是声明而没有使用。如果使用xmlns:target定义跟targetNamespace一样的值,则是定义了target前缀的命名空间就是使用当前文档定义的命名空间。如:
<schema xmlns="http://www.w3.org/2001/SchemaXML
targetNamespace="http://www.example.com/name"
xmlns:target="http://www.example.com/name">
- 浏览: 31500 次
最新评论
-
xkxq:
pom中应该大于profile中的吧
深入比较几种maven仓库的优先级
相关推荐
"XML中的xmlns、xmlns:xsi和xsi:schemaLocation详解" XML文档中的xmlns、xmlns:xsi和xsi:schemaLocation是三个重要的元素,分别用于定义XML文档的命名空间、XML schema实例和schemaLocation。 一、xmlns xmlns是...
xml中xmlns和targetNamespace的相关信息。用来描述xml。
<COLLADA xmlns="http://www.collada.org/2005/11/COLLADASchema" version="1.4.1"> <authoring_tool>Google SketchUp 6.4.112 <created>2009-01-18T04:14:23Z <modified>2009-01-18T04:14:23Z ...
<web-app xmlns=... 网站名称 网站描述 <!-- icon元素包含small-icon和large-icon两个子元素.用来指定web站台中小图标和大图标的路径....--small-icon元素应指向web站台中某个小图标的路径,大小为16 X 16 ...
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:Header/> <soapenv:Body> <uWTrans0010 xmlns="http://esb.hxlife.com"> <in>InputData </soapenv:Body> </soapenv...
<wsdl:definitions xmlns:soap=......
xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:beans="http://www.springframework.org/schema/beans" xmlns:tool="http://www.springframework.org/schema/tool" targetNamespace=...
通过使用`xmlns`属性,我们可以为XML文档定义一个或多个命名空间,通常格式为`xmlns:prefix="namespaceURI"`。这里的`prefix`是别名,`namespaceURI`是唯一的命名空间标识符。 在Java中,处理XML文档时我们常常使用...
math altimg =“ si1.gif” xmlns =“ http://www.w3.org/1998/Math/MathML”> <mi> F </ mi> “>中探索弹跳宇宙学 (</ mo> “> G </ mi> “>)</ mo> </ math>引力与高斯-邦尼特不变的<math altimg =...
math altimg =“ si1.gif” xmlns =“ http://www.w3.org/1998/Math/MathML”> <msub> < mrow> “> BC </ mi> </ mrow> <mrow> <mi> N </ mi> </ mrow> </ msub> </ math>类型的Weyl代数,然后使用 此PSRO...
xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" xmlns:html="http://www.w3.org/TR/REC-html40"> <Style ss:ID="Default" ss:Name="Normal"> <Alignment ss:Vertical="Center"/> <Font ss:Font...
math altimg =“ si1.gif” xmlns =“ http://www.w3.org/1998/Math/MathML”> “> N </ mi> <mo> = </ mo> <mn> 2 </ mn> </ math>超对称,着重于<math altimg =“ si2.gif” xmlns =“ http: //...
math altimg =“ si1.gif” xmlns =“ http://www.w3.org/1998/Math/MathML”> <mi> U </ mi> < 除了标准模型量规组之外,还包括mo Stretchy =“ false”>(</ mo> <mn> 1 </ mn> “>)</ mo> </ math>...
math altimg =“ si1.gif” xmlns =“ http://www.w3.org/1998/Math/MathML”> 计算了外部强阿贝尔磁场中的矢量,轴向和伪标量电流的相关因子。 “> SU </ mi> </ mrow> “>(</ mo> <mn> 2 </ mn> “>)</ mo> &...
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <soap:Header> <TransactionID ...
math altimg =“ si1.gif” xmlns =“ http://www.w3.org/1998/Math/MathML” > <msub> <mrow> θ</ mi> </ mrow> <mrow> <mn> 13 </ mn> </ mrow> </ msub> </ math>,罕见的衰变<math altimg = “ si2...
math altimg =“ si1.gif” xmlns =“ http://www.w3.org/1998/Math/MathML”> <msub> <mrow> <mi> S </ mi> </ mrow> <mrow> <mn> 4 </ mn> </ mrow> </ msub> </ math>族对称性和广义CP对称性。 在两个...