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