-1
我有2個獨立的XSD,它們具有一些通用屬性。我想創建另一個XSD,並將所有常用屬性都放在單獨的XSD中,並將它們導入到我已有的2個XSD中,而不是在兩個XSD中重複或重複它們。在XSD中的導入及其實現
這樣的實現有沒有參考?
我有2個獨立的XSD,它們具有一些通用屬性。我想創建另一個XSD,並將所有常用屬性都放在單獨的XSD中,並將它們導入到我已有的2個XSD中,而不是在兩個XSD中重複或重複它們。在XSD中的導入及其實現
這樣的實現有沒有參考?
我們這樣做是這樣的:
共享 「圖書館」 的xsd:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns="http://www.common.namespace/" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.common.namespace/">
<xs:attribute name="ACommonAttribute" type="xs:float" default="1.7"/>
</xs:schema>
左XSD具有相同的目標命名空間:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns="http://www.common.namespace/" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.common.namespace/">
<xs:include schemaLocation="Common.xsd"/>
<xs:element name="MyLeftElement">
<xs:annotation>
<xs:documentation>Comment describing your root element</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute ref="ACommonAttribute"/>
</xs:complexType>
</xs:element>
</xs:schema>
不同的目標命名空間權XSD(需要一個如果包含聲明,則改爲導入)
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns="http://another.namespace/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:libs="http://www.common.namespace/" targetNamespace="http://another.namespace/">
<xs:import namespace="http://www.common.namespace/" schemaLocation="Common.xsd"/>
<xs:complexType name="RightComplexType">
<xs:sequence>
<xs:element name="Bit">
<xs:complexType>
<xs:attribute ref="libs:ACommonAttribute"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:schema>
你是什麼意思的「這種實施的參考」?這可以使用xsd:import和xsd:include完成。 這裏有一個問題以前可能會提供幫助。 http://stackoverflow.com/questions/2357943/whats-the-difference-between-xsdinclude-and-xsdimport – user1187008 2012-07-30 13:31:22
http://www.liquid-technologies.com/Tutorials/XmlSchemas/XsdTutorial_04.aspx幫助..謝謝。 – nisha 2012-07-30 13:35:49
[在XSD中導入常用屬性]的可能重複(http://stackoverflow.com/questions/11716829/importing-common-attributes-in-xsd) – 2012-07-30 14:27:45