使用type="xs:int"
的简单元素我想添加限制和许多属性。但是,我看到它完成的唯一方法是采用两步法:
声明一个命名(全局)类型并将所有限制放在命名类型中
请参阅base
的{{1}}中的命名类型,并将属性添加到扩展节点。
如果我可以避免声明全局命名类型,因为动态生成模式并且在本地指定所有限制会更加清晰,这可能会很好。例如。像这样:
<xs:extension>
或者在字符串类型的情况下:
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:int">
<xs:minInclusive>2</xs:minInclusive>
<xs:attribute name="myAttribute" type="xs:boolean" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
不幸的是,似乎不允许这样的“组合”声明。