1
我有2個xsds。Xsd重新定義complexType
我試圖從第二個xsd中重新定義一些複雜類型。
但我得到重新定義驗證錯誤。
我不明白爲什麼。
第一XSD(ConfigProperties.xsd):
?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns="http://example.com/configProperties" targetNamespace="http://example.com/configProperties" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
<xs:element name="config-properties">
<xs:complexType>
<xs:sequence>
<xs:element ref="System"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="System">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="1" maxOccurs="1" name="PushMessageFields" type="PushMessageFields"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:complexType name="PushMessageFields"/>
</xs:schema>
第二XSD(SomeConfigProperties.xsd):
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns="http://example.com/SomeConfigProperties" targetNamespace="http://example.com/SomeConfigProperties" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
<xs:redefine schemaLocation="ConfigProperties.xsd">
<xs:complexType name="PushMessageFields">
<xs:complexContent>
<xs:extension base="PushMessageFields">
<xs:sequence>
<xs:element name="color" type="xs:string"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:redefine>
</xs:schema>
我得到第二XSD錯誤:「無法解析名稱'PushMessageFields'「。
我的問題在哪裏?
THX。您的建議有效。但是我有一些必要性,那些2個xsds將在不同的命名空間中。也許有另一種方式重新定義這個complexType? – yanivsh
不使用'redefine'。如果將「PushMessageFields」放置在另一個名稱空間中,則原始XSD將找不到它。你想做什麼? – helderdarocha
我想重寫configPropertiea.xsd中的PushMessageFields。 – yanivsh