我試圖從c#類(使用xsd.exe)創建一個XML模式,其中我使用了另一個XMl模式的類。XML模式前綴錯誤
之後,我在c#中加載模式,並且我正在填充一些缺少的屬性,如導入的shema的shemalocation和名稱空間的前綴。
當我再次導出xml模式時,導入的模式類型的前綴是錯誤的,所有它被聲明。前綴設置爲「q1:enumeratedValues」。
我在做什麼錯了?
<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:spirit="http://www.spiritconsortium.org/XMLSchema/SPIRIT/1685-2009" xmlns:myNamespace="file:///c:/Local/" elementFormDefault="qualified" targetNamespace="file:///c:/Local/" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:import schemaLocation="http://www.spiritconsortium.org/XMLSchema/SPIRIT/1685-2009/memoryMap.xsd" namespace="http://www.spiritconsortium.org/XMLSchema/SPIRIT/1685-2009" />
<xs:element name="signals" type="myNamespace:signals" />
<xs:complexType name="signals">
<xs:complexContent mixed="false">
<xs:extension base="myNamespace:vendorExtensionBase">
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" name="signal" type="myNamespace:signalType" />
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="vendorExtensionBase" abstract="true">
<xs:attribute name="xsdversion" type="xs:string" />
</xs:complexType>
<xs:complexType name="signalType">
<xs:complexContent mixed="false">
<xs:extension base="myNamespace:vendorExtensionBase">
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="1" name="name" type="xs:string" />
<xs:element minOccurs="0" maxOccurs="1" name="description" type="xs:string" />
<xs:element minOccurs="0" maxOccurs="1" name="bitwidth" type="xs:string" />
<xs:element minOccurs="0" maxOccurs="1" name="signed" type="xs:string" />
<xs:element minOccurs="0" maxOccurs="1" name="fractionalBits" type="xs:string" />
<xs:element minOccurs="0" maxOccurs="1" name="defaultValue" type="xs:string" />
<xs:element minOccurs="0" maxOccurs="1" name="divider" type="xs:string" />
<xs:element xmlns:q1="http://www.spiritconsortium.org/XMLSchema/SPIRIT/1685-2009" minOccurs="0" maxOccurs="1" ref="q1:enumeratedValues" />
<xs:element minOccurs="0" maxOccurs="1" name="scaling">
<xs:complexType mixed="true">
<xs:sequence>
<xs:any maxOccurs="unbounded" />
</xs:sequence>
<xs:anyAttribute />
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:schema>
爲什麼這是錯的?它看起來似乎對我來說似乎合理。要明確,前綴是不相關的 - 只有它映射到的名稱空間是。 –
你可以添加一個示例XML嗎? –
嗨,它沒有錯,但我希望導入架構的類型看起來像 。事實上,我得到了更多的導入架構和更多的自定義類型,當前綴與導入架構中的相同時,它會很好......唯一正在工作的上司是我自己的shema ... –
Kosta