schema的命名空间

其实就是像对象引用它内部值的方式,这需要我们在xsl文件的开头自己进行定义,来确定命名空间的规则
规则有 定义我们自己的名称和url地址(这个url是随便写的,但要遵守http规则,只是用于区分名称的),使用外部的规则, 是否要求在本文件中使用命名空间
正常的这个写法应该是 先引入默认命名空间,
自定义自己的命名空间
再就是文档内容的书写

下面案例是
http://blog.sina.com.cn/s/blog_9844e5a8010108f3.html
1.

<xsd:schema xmlns:xsd=“http://www.w3.org/2001/XMLSchema” 声明xsd的名字为本文使用的,url是默认的,不会有操作
targetNamespace=“urn:MyNamespace”
elementFormDefault=“qualified”> 使用时必须是名称.名称的方式
2.

<?xml version="1.0"?>


Rugby jersey

3.schema命名空间的解释:

3.1首先看Product.xsd中的内容。

(1)xmlns:xsd=“http://www.w3.org/2001/XMLSchema”,要使用xsd前缀,就必须声明一个前缀为xsd的命名空间。Schema规范中的命名空间的值必须用 URI (统一资源标志符) 指代,一般我们使用URL作为NameSpace。但是Parser并不会从中读取任何信息。使用URL只是为了NameSpace的唯一性。

(2)targetNamespace=“urn:MyNamespace”,这里的targetNamespace属性表示了该shema所对应的命名空间的URI。也就是说在引用该Schema的其它文档中要声明命名空间,其URI应该是targetNamespace的属性值。可以

看到引用了Product.xsd的XML文件ProductWithXSD.xml中声明了xsi:schemaLocation=“urn:MyNamespace Product.xsd”,其中Product.xsd是ProductWithXSD.xml的相对路径。如果Product.xsd中没有targetNamespace属性,那么ProductWithXSD.xml中应改为xsi:noNamespaceSchemaLocation=“Product.xsd”,noNamespaceSchemaLocation属性用于引用没有目标名称空间的模式文档,属性的值是单一的,只是用于指定模式文档的位置。

(3)elementFormDefault=“qualified”,xsd:schema 元素具有 elementFormDefault 属性,这个属性的有效值是 qualified 和 unqualified,如果该值是 qualified,实例xml根元素及其下所有子元素都必须通过命名空间前缀限定目标命名空间。这个命名空间必须是schema中定义的targetNameSpace。可以看到引用了Product.xsd的XML文件ProductWithXSD.xml中声明了 xmlns=“urn:MyNamespace”,声明中没有使用前缀,元素前也就不用添加前缀;如果该值是 unqualified,实例xml的根元素必须有命名空间的的限定,这个命名空间必须是schema中定义的targetNameSpace。但是其下子元素无须也不允许用命名空间前缀限定目标命名空间。 子元素的命名空间为空命名空间。

3.2再看ProductWithXSD.xml中的内容。

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance,xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance” 是任何XML实例文档固有的命名空间,当然按照前面所说的命名空间名称xsi是可以自己规定的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值