首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >RelaxNG枚举的元素名称

RelaxNG枚举的元素名称
EN

Stack Overflow用户
提问于 2012-02-12 16:31:47
回答 1查看 111关注 0票数 0

如果我的元素名必须看起来像这样:

代码语言:javascript
复制
<myElem>
  <subElem_n/>
  <subElem_n+1/>
  <subElem_n+2/>
</myElem>

其中'n‘= 0;

我该如何强制执行这是RelaxNG?

棘手的部分是动态生成的元素名称。

EN

回答 1

Stack Overflow用户

发布于 2012-02-15 16:59:54

关于XML示例文件的 :

您提供的XML格式不正确。XML名称中不允许使用+See here,请看一下PrefixedNameUnprefixedName以获得精确的语法。

关于你的验证案例的 :

据我所知,您不能使用Relax NG在元素名称上添加动态生成的验证规则。

检查这种结构的惟一方法是使用ISO Schematron或即将发布的带有xs:assert元素的XML Schema1.1建议。

这两个解决方案使用XPath,您可以使用local-name()函数检查名称。

还有一件事

请注意,这种结构并不总是被认为是一种好的实践,你也可以考虑这样的结构:

代码语言:javascript
复制
<myElem>
    <subElem rank="1"/>
    <subElem rank="2"/>
    <subElem rank="3"/>
    ...
</myElem>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9247467

复制
相关文章

相似问题

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