因为想深入框架 ,又不免写些配置文件
配置文件怎么写又取决于xsd
xsd又取决于schema
于是自己动手写xsd和xml
老是写不对
原因是url写错了
首先schema是一种规则
这种规则用来约束配置文件
而这种规则还会被别的规则约束
但规则的起源在于一个schema标签里面
比如
<xsd:schema
xmlns="http"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="http"
elementFormDefault="qualified"
>
先说一下规则的尽头是
http://www.w3.org/2001/XMLSchema
所以 xmlns:xsd="http://www.w3.org/2001/XMLSchema"这句话除了xsd别名外是固定的
http://www.w3.org/2001/XMLSchema可以看做是一个标识 代表着w3c制定的规则
而不是一个url
至于其他的url也是一个标识(自己做的标识)
xmlns=“http” 这句话是这个xsd的标识是http
targetNamespace=“http” 这句话意思是
将这个xsd的所有元素绑定到http上 http只是一个字符串 可以想写什么写什么
elementFormDefault="qualified"也是固定的 毕竟都是需要前缀区分的
然后xsd继续写一些自定义规则就行了
然后说下xml 被约束的配置文件
<p:persons
xmlns:p="http"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http person.xsd"
>
比如这个xml
先看 xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance”
这里仍然是引入w3c的schema规则
通过 xsi:schemaLocation="http person.xsd"引入了外部自定义规则
其中person.xsd是我们的xsd
http是我们person.xsd里面的xmlns=“http”
这样xsd里面定义的标识
在xml里面就可以用了
虽然我不知道这样有什么用
然后xmlns:p=“http”
将http对应的schema规则用p前缀进行实现
我们能改的只有前缀了
接下来写xml就好了
<p:person>
<p:name></p:name>
<p:age></p:age>
<p:sex></p:sex>
</p:person>
最后
url是什么?
就是一个单纯的字符串
除了http://www.w3.org/2001/XMLSchema-instance这个代表w3c的规则字符串以外
然后只要注意xsd里面的 xmlns=“http”
targetNamespace=“http” 这俩http字符串一样
以及xml里面的
xsi:schemaLocation=“http person.xsd”
http一样 xsd的文件名
xmlns:p=“http”
这四个http字符串和一个xsd的文件名就好了
本文深入解析XML与XSD的配置方式,阐述了如何正确使用URL标识、schema规则及元素约束,帮助读者理解XML配置文件与XSD模式文件之间的关联。

被折叠的 条评论
为什么被折叠?



