如何定义要在空元素和非空元素中重用的一组属性?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何定义要在空元素和非空元素中重用的一组属性?相关的知识,希望对你有一定的参考价值。
我想定义一个支持这样的元素的模式:
<one att1="foo" att2="bar"/>
<two att1="foo" att2="bar">TEXT</two>
<three att1="Foo" att2="bar" att3="baz"/>
如何定义类型层次结构以包含att1和att2?
<complexType name="Att">
<attribute name="att1" type="string"/>
<attribute name="att2" type="string"/>
</complexType>
<complexType name="One">
<complexContent>
<extension base="tns:Att"/>
</complexContent>
</complexType>
<complexType name="Two">
<simpleContent>
<extension base="tns:Att"/>
</simpleContent>
</complexType>
<complexType name="Three">
<complexContent>
<extension base="tns:Att">
<attribute name="att3" type="string"/>
</extension>
</complexContent>
</complexType>
这对于Two不起作用,并且我在使用simpleContent扩展complexContent时遇到错误
答案
这有效:
<complexType name="Att" mixed="true">
<attribute name="att1" type="string"/>
<attribute name="att2" type="string"/>
</complexType>
...
<complexType name="Two">
<simpleContent>
<restriction base="tns:Att">
<simpleType>
<restriction base="string"/>
</simpleType>
</restriction>
</simpleContent>
</complexType>
以上是关于如何定义要在空元素和非空元素中重用的一组属性?的主要内容,如果未能解决你的问题,请参考以下文章
如何在elasticsearch的嵌套聚合中存储空字段和非空字段?
七数组和集合(一维数组和二维数组的声明以及使用,ArrayList类,HashTable,List,Directory字典等常用集合(泛型和非泛型))