4
学习XML Schema,我希望能够在另一个元素中包含元素的集合。看起来很简单,不太清楚如何去做。XML中的集合SChema
这是架构:
<xs:attributeGroup name="ProcedureMappingFragment">
<xs:attribute name="ParameterName" type="xs:string" />
<xs:attribute name="TypeName" type="xs:string" />
<xs:attribute name="PropertyName" type="xs:string" />
<xs:complexType name="ProcedureMappingSection">
<xs:sequence>
<xs:element name="ProcMapping" type="ProcedureMapping" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="ProcedureMapping">
<xs:attributeGroup id="two" ref="ProcedureMappingFragment" />
<xs:attribute name="ProcedureName" type="xs:string" />
</xs:complexType>
,我试图以产生类似这样的:
<MappingSection xmlns="http://tempuri.org/ServiceMapping.xsd">
<ProcMapping ParameterName="ParameterName1" TypeName="TypeName1" PropertyName="PropertyName1" ProcedureName="ProcedureName1" />
<ProcMapping ParameterName="ParameterName1" TypeName="TypeName1" PropertyName="PropertyName1" ProcedureName="ProcedureName1" />
<ProcMapping ParameterName="ParameterName1" TypeName="TypeName1" PropertyName="PropertyName1" ProcedureName="ProcedureName1" />
<ProcMapping ParameterName="ParameterName1" TypeName="TypeName1" PropertyName="PropertyName1" ProcedureName="ProcedureName1" />
</MappingSection>
然而,告诉我在MappingSection里只能有一个ProcMapping。具体来说,它将对命名空间MappingSection调用第二个ProcMapping元素无效。
谢谢,这个作品。虽然当我删除XS:序列是说XS:元素是一个无效的成员直接在complexType中? – 2011-03-09 23:25:08
是的,那是我的错,我把它放回去了。 “xs:sequence”或“choice”或“group”是强制性的,我已经忘记了这一点。 – Aliostad 2011-03-09 23:26:45