XML模式(XSD)1.0 xs:模式正则表达式将4位数字作为字符串匹配?
问题描述:
如何匹配特定的数字序列,就像它是XML Schema中的字符串xs:pattern
?XML模式(XSD)1.0 xs:模式正则表达式将4位数字作为字符串匹配?
说我有包含任意10个字符的字符串像
<string>12345678990</string>
一些标签,我想排除所有标签任意序列的像1234
特定的黑名单,2435
,``9587`,或者其他一些。
如何解决特定的4位子字符串否定并将其添加到<string>
的内容模型的xs:pattern
限制列表中?
答
我不认为有任何实际的符合XSD的正则表达式将匹配除了包含“1234”作为子字符串的所有字符串。 (因此,禁止几个子串的更具挑战性的要求也不能满足)。
这是一个用于XSD 1.1断言,例如
<xs:assert test="not(contains($value, '1234') or contains($value, '9999'))"/>