自学XML,求助
下面的Schema文件里我看教程和视频都加了前缀,跟着做尝试加了xs:, 后来我全部替换成abc:也对,现在全部删掉了,也没问题。那加前缀到底有什么意义呢?
我理解element,sequence这些东西都是那个xmlns里规定的,本来就是重复的,定好的,所有人写Schema都用这个http://www.w3.org/2001/XMLSchema,那命名空间有什么意义呢?
<?xml version="1.0" encoding="UTF-8"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
<element name="书本">
<complexType>
<sequence>
<element name="名称" type="string"/>
<element name="作者" type="string"/>
</sequence>
</complexType>
</element>
</schema>
下面的xml是书上抄的:
书架 xmlns="http://www.it315.org/xmlbook/schema"
第一句是不是可以认为这个xml内所有的元素后续都叫http://www.it315.org/xmlbook/schema:<书架>或者<书>等等,这里这个网址是不是爱写啥写啥呢?
然后第二句
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"是为了和第三句Location绑定?
第三句的第一个URI一定要和第一句一样?
第二个URI如果xml和schema放在同一个文件夹内就直接写名字xxx.xsd,如果不一样就写物理路径C:/abc/xxx.xsd?服务器写相对路径?
那书上写个网址是什么意思呢?书上写是文档的位置,难道还能联网找?
<?xml version="1.0" encoding="UTF-8"?>
<书架 xmlns="http://www.it315.org/xmlbook/schema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.it315.org/xmlbook/schema
http://www.it315.org/xmlbook.xsd">
<书>
<书名>JavaScript网页开发</书名>
<作者>张孝祥</作者>
<售价>28.00元</售价>
</书>
</书架>
困扰好几天了,感谢各位!
假如,在一个xml文件当中调用另外一个xml,这时候就需要子xml加前缀,便于区分,另外如果不加前缀就默认是根元素的,具体取决于xsd文件中的定义