2
我想验证我的XML与另一个XSD导入的XSD。无法验证导入的XSD
请看看下面的代码:
xml1.xml:
<e1 xmlns="n1"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="n2 main.xsd">
</e1>
xsd1.xsd:
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="n1"
elementFormDefault="qualified">
<xsd:element name="e1"/>
</xsd:schema>
main.xsd:
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="n2"
elementFormDefault="qualified">
<xsd:import namespace = "n1" schemaLocation = "xsd1.xsd"/>
</xsd:schema>
验证xml1.xml(NetBeans中使用XML工具或JAVA)简单地抛出:
cvc-elt.1: Cannot find the declaration of element 'e1'. [3]
可能是什么问题呢?
谢谢!顺便说一句,我期望,因为我将xsd1模式导入到主模式中,只需引用主模块就足够了,因为它包含导入的名称空间。我开始意识到它不以这种方式工作,但我需要将导入的名称空间绑定到前缀,并在主架构中使用它。除此之外,我相信你的回答很好,再次感谢! – user1856926