首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >xs:对xs:group的限制?

xs:对xs:group的限制?
EN

Stack Overflow用户
提问于 2016-09-21 10:35:07
回答 1查看 27关注 0票数 0

例如,我们经常看到一些短语元素。(下面的代码是一个图像,它不能工作。)

代码语言:javascript
复制
<xs:group name="Phrase">
    <xs:sequence>
        <xs:element ref="b"/>
        <xs:element ref="i"/>
        <xs:element ref="span"/>
        <xs:element ref="sub"/>
        <xs:element ref="sup"/>
        <xs:element ref="u"/>
    </xs:sequence>
</xs:group>

但是,我们不想嵌套<b>。因此,我们将<b>元素定义为:

代码语言:javascript
复制
<xs:group name="b.group">
    <xs:sequence>
        <xs:element ref="i"/>
        <xs:element ref="span"/>
        <xs:element ref="sub"/>
        <xs:element ref="sup"/>
        <xs:element ref="u"/>
    </xs:sequence>
</xs:group>

是的,<i>元素也是。

代码语言:javascript
复制
<xs:group name="i.group">
    <xs:sequence>
        <xs:element ref="b"/>
        <xs:element ref="span"/>
        <xs:element ref="sub"/>
        <xs:element ref="sup"/>
        <xs:element ref="u"/>
    </xs:sequence>
</xs:group>

<span><sub><sup>元素可能能够组合短语。

代码语言:javascript
复制
<xs:group name="span.group">
    <xs:sequence>
        <xs:group ref="Phrase"/>
    </xs:sequence>
</xs:group>

但同样,我们不想嵌套<u>

代码语言:javascript
复制
<xs:group name="u.group">
    <xs:sequence>
        <xs:element ref="b"/>
        <xs:element ref="i"/>
        <xs:element ref="span"/>
        <xs:element ref="sub"/>
        <xs:element ref="sup"/>
    </xs:sequence>
</xs:group>

<b><i><u>的定义在我们看来是多余的,而且可维护性较低。如何在<b><i><u>上更有意义地使用阶段组

EN

回答 1

Stack Overflow用户

发布于 2016-09-21 16:17:05

如果您不想允许嵌套的b元素,那么限制它不具有b子级是不起作用的-它仍然可以通过中间的iu元素拥有b孙级元素。使用简单的递归语法(如DTD或XSD 1.0 )没有解决此问题的通用方法,除非通过对每一层嵌套具有不同的类型定义而涉及组合复杂性的方式。最好的方法是使用Schematron或XSD1.1添加断言。流行词汇表中的大多数内容模型都不会尝试限制内联标签的嵌套。

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

https://stackoverflow.com/questions/39606632

复制
相关文章

相似问题

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