如何在具有附加到名称的计数器的模式中正确定义元素名称

时间:2012-10-25 15:44:39

标签: xsd

如何正确定义我的元素RandomAmount_

//当RandomAmount可以是RandomAmount_1到RandomAmount_N

<xs:element name="RandomAmount">
   <xs:complexType>
       <xs:choice maxOccurs="unbounded" minOccurs="0">
            <xs:element type="xs:float" name="RandomAmount_" />
       </xs:choice>
   </xs:complexType>
 </xs:element>

我觉得应该将RandomAmount命名为=“RandomAmount_ *”来做这个伎俩,但这不起作用。

1 个答案:

答案 0 :(得分:1)

XSD元素声明必须为元素指定单个名称;对于您显然正在寻找的那类家庭没有规定。

目前尚不清楚建议您做什么,主要是因为您不清楚为什么要在元素的名称中包含数字。如果要将调用的值返回到随机数生成器,通过在随机数生成器返回值1419时命名元素RandomAmount_1419,那么我建议您只命名元素{{1并返回元素内容或属性中的值。

另一方面,如果你想要数字,那么父RandomAmount元素的子元素将被命名为RandomAmountRandomAmount_1RandomAmount_2等,那么我的建议仍然是一样的:只要给所有孩子同名,并让你的数据(例如):

RandomAmount_3

没有必要给孩子们不同的名字;事实上,如果所有的孩子都包含相同类型的信息(我猜你的命名是包含随机数),那么给他们提供不同的名字几乎总是更好。 (如果需要能够引用序列中的第三个数字,XPath有简单的方法可以做到这一点;如果要映射到无法处理多个具有相同名称的子元素的对象系统,请获得更好的对象映射系统。)