首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何定义XSD以允许具有特定值类型的整数序列的任何元素

如何定义XSD以允许具有特定值类型的整数序列的任何元素
EN

Stack Overflow用户
提问于 2014-08-14 19:30:36
回答 1查看 54关注 0票数 0

我有以下需求,并且正在尝试确定如何最好地对XSD建模来表示这些需求。

我的示例XML如下所示:

代码语言:javascript
复制
<Langauge>
    <0>English</0>
    <1>Dutch</1>
    <2>French</2>
    ..
    ..
</Language>

Langauge标签中的元素数量是不同的,但元素总是按顺序排列的。

对于如何为上述需求定义XSD,有什么建议吗?

EN

回答 1

Stack Overflow用户

发布于 2014-08-14 22:19:49

不可能。

Valid XML element names cannot begin with a digit。因此,根据定义,不能合法地定义名为<1>的标记。

如果您将标记重命名为类似于tag0、tag1、tag2等的名称,那么这将是可行的。您可以将语言定义为按该顺序排列的元素序列,其中所有元素都是可选的。请注意,这仍然允许使用后跟tag4的tag0 (中间没有1、2或3),但它们将按顺序排列。

最后--即使到那时,你也不应该这样做。通过要求这些元素按顺序排列,您正在尝试将数组编号放入元素名称中,而您不应该尝试这样做。相反,只需创建相同的元素(类似于LanguageName),然后使用它的相对子位置作为您想要的数字。例如:

代码语言:javascript
复制
<Language>
   <LanguageName>English</LanguageName>
   <LanguageName>French</LanguageName>
</Language>

在任何XML处理框架中,知道English=0和French=1 (父级下子级索引)都很简单。所以我会问,是否有一个好的建模理由想要把这个升序数字放到元素名称中。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25307007

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档