-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