Xsd 如何在一个带有计数器的模式中正确定义元素名

Xsd 如何在一个带有计数器的模式中正确定义元素名,xsd,Xsd,如何正确定义我的元素\u //当RandomAmount可以是RandomAmount\u 1到RandomAmount\N时 <xs:element name="RandomAmount"> <xs:complexType> <xs:choice maxOccurs="unbounded" minOccurs="0"> <xs:element type="xs:float" name="RandomAmoun

如何正确定义我的元素\u

//当RandomAmount可以是RandomAmount\u 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”*,但这不起作用。

XSD元素声明必须为元素指定一个名称;对于你显然正在寻找的那种名字的家族没有规定

不清楚建议您做什么,主要是因为不清楚您为什么希望在元素名称中包含数字。如果您想通过在随机数生成器返回值1419时命名元素
RandomAmount\u 1419
来返回对随机数生成器的调用值,那么我建议您仅命名元素
RandomAmount
,并在元素的内容或属性中返回值

另一方面,如果您想要这些数字,以便父元素
RandomAmount
的子元素将被命名为
RandomAmount\u 1
RandomAmount\u 2
RandomAmount\u 3
,那么我的建议仍然是相同的:只需给所有子元素起相同的名字,并让您的数据(例如):


1419
8676
862
7331
7318
...

没有必要给孩子起不同的名字;事实上,如果所有的孩子都包含相同的信息(我从你的名字猜他们包含随机数),那么最好不要给他们起不同的名字。(如果您需要能够引用序列中的第三个数字,XPath提供了简单的方法;如果您要映射到一个无法处理多个同名子元素的对象系统,请使用更好的对象映射系统。)

感谢您的回复。我上面的示例节点名称仅用于演示。这是一个与知识产权相关的问题,所以我不得不对我的问题措辞非常挑剔。父级的子级来自N个大小的数组。该数组的每个子数组都附加了一个计数器,因此在输出期间它将是子数组1、子数组2等。。(取决于数组的大小)此外,每个子级都拥有不同于其他子级的重要数据,我担心保留相同的名称会给最终用户带来混淆。
<RandomAmount>
  <amount>1419</amount>
  <amount>8676</amount>
  <amount>862</amount>
  <amount>7331</amount>
  <amount>7318</amount>
  ...
</RandomAmount>