Inheritance XSD继承和xhtml格式

Inheritance XSD继承和xhtml格式,inheritance,xsd,Inheritance,Xsd,我正在寻找一个描述一类实例的XSD。我将用一个实例来解释我试图实现的目标。我想要一个XSD类型,我们称之为FormBaseType,用于描述此实例: <form method="post" action="someaction" name="acme"> <input name="EXACTLY FOO" value="EXACT ENUMERATION" type="CONST STRING" /> <input name="SOME RANDOM

我正在寻找一个描述一类实例的XSD。我将用一个实例来解释我试图实现的目标。我想要一个XSD类型,我们称之为FormBaseType,用于描述此实例:

<form method="post" action="someaction" name="acme">
    <input name="EXACTLY FOO" value="EXACT ENUMERATION" type="CONST STRING" />
    <input name="SOME RANDOM STRING" value="SOME RANDOM STRING" type="CONST STRING" />
    <input name="SOME RANDOM STRING" value="SOME RANDOM STRING" type="CONST STRING" />
    ... (input element repeats up to 30 times) ...
</form>
我希望OneKindOfMyFormType继承并限制FormBaseType,使其仅匹配以下实例:

<form method="post" action="someaction" name="acme">
    <input name="EXACTLY FOO" value="EXACT ENUMERATION" type="CONST STRING" />
    <input name="EXACTLY BAR" value="SOME RANDOM STRING RESTRICTION" type="CONST STRING" />
    <input name="EXACTLY BAZ" value="SOME OTHER RANDOM STRING RESTRICTION" type="CONST STRING" />
    ... (input element repeats up to 30 times) ...
</form>
我在尝试定义多个以不同方式限制的输入元素时遇到了一个问题。我可以有多个相同类型的输入元素,如下所示:

<xs:complexType name="FormBaseType">
    <xs:sequence>
        <xs:element name="input" type="ns0:InputType" minOccurs="1" maxOccurs="33"/>
    </xs:sequence>
</xs:complexType>
但当我尝试这个:

<xs:complexType name="RequestType">
    <xs:complexContent>
        <xs:restriction base="RequestTypeBase">
            <xs:sequence>
                <xs:element name="input" type ="ns0:AlphaNumericInputType" minOccurs="1" maxOccurs="1" />
                <xs:element name="input" type ="ns0:NumericInputType" minOccurs="1" maxOccurs="1" />
            </xs:sequence>
        </xs:restriction>
    </xs:complexContent>
</xs:complexType>
存在一个问题,即同一输入名称和同一作用域中的元素必须具有相同的类型。AlphaNumericInputType和NumericInputType是InputType的限制,但这对于示例来说并不重要,也许只是澄清了我的意图

长话短说,我希望对多个表单有一个XSD描述,其中一些输入元素在各种表单中都是相同的(基本的),并且在派生的XSD类型中,输入元素具有基本属性类型加上确切的名称属性值,对于确切的名称,还有一个值属性类型限制

这可能吗?怎么做


TIA根据我的发现,这是不可能做到的。请确认这一点,如果你有专业知识

名称、值和类型是XML属性。XML规范明确声明属性没有顺序。XML解析器应该能够使用单个标记先行解析输入。因此,不可能通过固定另一个属性的值来限制一个属性的类型。问题是,要按类型限制的属性值可能在属性值确定受限制属性类型之前出现