regex 我可以在DTD模式中使用正则表达式吗?

sq1bmfud  于 2023-03-24  发布在  其他
关注(0)|答案(1)|浏览(105)

我想强制XML元素必须包含ISBN代码。因此,我需要您的典型模式“[0-9]{3}-[0-9]{3}......"。
这可以在DTD模式中实现吗?我读到过你不能将DTD与正则表达式结合起来,但我不太确定。

xxls0lw8

xxls0lw81#

不可以,您不能用DTD定义正则表达式模式。
您可以强制regex patterns with XSD schemas

<xsd:simpleType name="SSN">
    <xsd:restriction base="xsd:token">
        <xsd:pattern value="[0-9]{3}-[0-9]{2}-[0-9]{4}"/>
    </xsd:restriction>
</xsd:simpleType>

另一种选择是应用某种其他验证,例如Schematron

相关问题