加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

schema基本格式及xml引用xsd

发布时间:2020-12-16 06:06:06 所属栏目:百科 来源:网络整理
导读:来自w3c的例子: note.xsd ?xml version="1.0"?xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"targetNamespace="http://www.w3school.com.cn"xmlns="http://www.w3school.com.cn"elementFormDefault="qualified"xs:element name="note" xs:complexT

来自w3c的例子:

note.xsd


<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.w3school.com.cn"
xmlns="http://www.w3school.com.cn"
elementFormDefault="qualified">

<xs:element name="note">
    <xs:complexType>
      <xs:sequence>
	<xs:element name="to" type="xs:string"/>
	<xs:element name="from" type="xs:string"/>
	<xs:element name="heading" type="xs:string"/>
	<xs:element name="body" type="xs:string"/>
      </xs:sequence>
    </xs:complexType>
</xs:element>

</xs:schema>
note.xml



<?xml version="1.0"?>
<note
xmlns="http://www.w3school.com.cn"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.w3school.com.cn note.xsd">

<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don't forget the meeting!</body>
</note>
[如果xsd与xml文件在同一目录下]


其中xml文件第5行也可以写为:xsi:noNamespaceSchemaLocation="note.xsd"

也就是说根据路径引用。

xsd的需要注意的点:

1、最简单的xsd文件:


<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"


</xs:schema>
最简单也就意味着这三行是必须要有的,至于理由,暂时还看不太懂


2、一个一般的xsd是这样写的:


<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
	targetNamespace="http://www.w3school.com.cn" 
	xmlns="http://www.w3school.com.cn"
	elementFormDefault="qualified">



</xs:schema>
targetNamespace的作用:为这个xsd文件中定义的元素指定一个名称空间。一个xml文件[包括这个xsd文件本身]要引用这个xsd文件定义的元素时,需要指明引用的是哪个名称空间中的元素。


再下一行: xmlns="http://www.w3school.com.cn"

是用来定义引用的名称空间前缀,可以看到和第一次出现的xmlns不同,也就是没有:xs,意为引用一个默认的命名空间,在一个xml文件中,只能有一上默认命名空间

再下一行:elementFormDefault

此行太复杂,斩时不管


xml中引用xsd

1、note中 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 是必须的

2、note中 xsi:schemaLocation="http://www.w3school.com.cn note.xsd" 即为指明要引用哪个命名空间中定义的元素

3、note xmlns="http://www.w3school.com.cn" 就是为引用的命名空间加一个前缀,可以看到在这里是默认的命名空间

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读