我从XML和XSD开始,我想构建一个XML文件,它必须匹配我在硬盘中的两个不同模式。
我应该在targetNamespace
键入什么来引用文件schema1.xsd和schema2.xsd?
答案 0 :(得分:1)
在XSD中,xs:schema/@targetNamespace
定义了XSD管理的单个命名空间:
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:ns1="http://example.com/1"
targetNamespace="http://example.com/1">
...
在XML文档中,可以提示多个XSD,一个用于XML文档实例中通过`xs:schemaLocation'使用的每个命名空间:
<ns1:root xmlns:ns1="http://example.com/1"
xmlns:ns2="http://example.com/2"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://example.com/1 ns1.xsd
http://example.com/2 ns2.xsd">
<ns2:a/>
</ns1:root>
在XML文档中,不能提示单个XML文档实例必须同时遵循多个XSD(不同于单独的命名空间)。但是,您可以按照希望应用于XML的XSD顺序验证一次。