0
我無法理解聲明XML架構的某些行爲。在聲明xml架構名稱空間後無法找到數據類型
問題 此XML模式正常工作:
*<?xml version="1.0" encoding="windows-1252" ?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns="http://www.example.org" xmlns:ab="http://test.com"
targetNamespace="http://www.example.org"
elementFormDefault="qualified">
<xsd:element name="simple1" type="complexType1"/>
<xsd:complexType name="complexType1">
<xsd:sequence>
<xsd:element name="element1" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
</xsd:schema>*
但是,如果我從http://www.example.org除了改變的targetNamespace什麼,架構沒有找到complexType1。爲什麼會這樣。 這不起作用。
*<?xml version="1.0" encoding="windows-1252" ?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns="http://www.example.org" xmlns:ab="http://test.com"
targetNamespace="http://www.example.org99999"
elementFormDefault="qualified">
<xsd:element name="simple1" type="complexType1"/>
<xsd:complexType name="complexType1">
<xsd:sequence>
<xsd:element name="element1" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
</xsd:schema>*
在此先感謝
嗨邁克爾,謝謝你回答他的問題。我仍然不理解部分「當你聲明一個組件,比如complexType時,它會進入模式的targetNamespace」。我已經聲明瞭xsd:complexType。我已經使用了xsd前綴。那麼爲什麼xsd:complexType會進入目標命名空間呢? – subhadip21a
你誤解了我的答案。當您在模式'中編寫時,其效果是聲明一個類型,其本地名稱爲「foo」,其名稱空間是包含的模式文檔的targetNamespace。 –