【问题标题】:XML Schema (XSD) 1.0 xs:pattern regex to match 4 digits as a string?XML Schema (XSD) 1.0 xs:pattern regex 匹配 4 位数字作为字符串?
【发布时间】:2017-10-07 21:01:18
【问题描述】:

如何匹配特定的数字序列,就像它是 XML Schema xs:pattern 中的字符串一样?

假设我有一些标签包含任意 10 个字符的字符串,例如

<string>12345678990</string>

我想排除所有带有特定黑名单的任意序列的标签,例如12342435、``9587​​` 等。

我如何处理特定的 4 位子字符串以否定它并将其添加到 <string> 的内容模型的 xs:pattern 限制列表中?

【问题讨论】:

    标签: xml regex-negation xsd-1.0


    【解决方案1】:

    我认为没有任何实用的符合 XSD 的正则表达式可以匹配所有字符串,除了包含“1234”作为子字符串的字符串。 (因此也无法满足您禁止多个子字符串的更具挑战性的要求)。

    这是一个用于 XSD 1.1 断言的例子,例如

    <xs:assert test="not(contains($value, '1234') or contains($value, '9999'))"/>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-03-14
      • 2020-11-13
      • 2014-08-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-16
      相关资源
      最近更新 更多