XML 模式混合内容

发布于 2024-10-03 21:27:53 字数 1147 浏览 3 评论 0原文

我正在为国际象棋游戏的数据库格式编写 XML 架构。这些动作采用特定的格式,我使用正则表达式进行验证;它看起来像这样:Pe2e4 元素还可以包含 '元素。问题是,我不能简单地执行mixed="true"`,因为我需要验证移动。以下是架构文件的相关部分:

<xs:element name="move">
    <xs:complexType>
        <xs:simpleContent>
            <xs:extension base="moveType">
                <xs:attribute ref="time"/>
                <xs:attribute ref="comment"/>
            </xs:extension>
        </xs:simpleContent>
        <xs:sequence>
            <xs:element ref="variation" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:complexType>
</xs:element>

moveType 是进行验证的移动的类型。

那么有人可以解释我如何:

  1. 进行移动正则表达式验证,
  2. 进行 元素,并
  3. 进行 timecomment 属性。

顺便说一句,整个模式在没有该

<xs:sequence>
    <xs:element ref="variation" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>

部分的情况下也可以很好地验证。

I am writing an XML Schema for a database format for chess games. The moves are in a specific format which I validate with a regex; it looks something like this: <move>Pe2e4</move>. The <move&> element can also contain a <variation>' element. The problem is, I can't simply domixed="true"` because I need to validate the move. Here is the relevant part of the schema file:

<xs:element name="move">
    <xs:complexType>
        <xs:simpleContent>
            <xs:extension base="moveType">
                <xs:attribute ref="time"/>
                <xs:attribute ref="comment"/>
            </xs:extension>
        </xs:simpleContent>
        <xs:sequence>
            <xs:element ref="variation" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:complexType>
</xs:element>

moveType is the type for moves that does the validation.

So can someone explain how I can:

  1. have my move regex validation,
  2. have my <variation> element, and
  3. have my time and comment attributes.

BTW, the whole schema validates fine without the

<xs:sequence>
    <xs:element ref="variation" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>

part.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

烂柯人 2024-10-10 21:27:53

在 Alejandro 和 Nic Gibson 的建议下,我最终重新组织了架构。 <变体>元素现在位于之外元素。

I ended up reorganizing the schema thanks to the advice of Alejandro and Nic Gibson. The <variation> element is now outside of the <move> element.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文