我是XML-Schema-to-JSON-Schema编译器/转换器的作者。用户最近询问是否也可以在JSON Schema中支持xs:pattern
。
JSON Schema确实支持regular expressions所以理论上这应该是可能的。
但是,这假设XML Schema的正则表达式语法和语义与JavaScript / ECMAScript的正则表达式语法和语义兼容。因为如果他们不是,我可能无法解析并将一种正则表达方言翻译成另一种方言而不费力。
如果不对这两个规范进行彻底分析,我无法回答这个问题:
所以我想问:
XML Schema正则表达式是否与JavaScript / ECMAScript正则表达式兼容?
具体来说,我可以使用JavaScript中的XML Schema中的有效正则表达式(通过RegExp
或类似方法)吗?
我已经读过XML Schema正则表达式相当有限,所以希望它们可以在更强大的环境中工作,但是我很难说这是否是一个案例。
我将在这里假设XML Schema 1.0和ECMAScript 5.1。
答案 0 :(得分:2)
ES5和XML Schema正则表达式语法不兼容。
在XML Shema中,您可以使用Unicode类别类(称为category escapes),但您无法在JavaScript ES5中使用它们。
此外,JavaScript正则表达式不支持character class subtraction。
此外,\w
,\d
和\s
速记类可以匹配Unicode符号,而在ES5中它们则不匹配。 ES5也不支持\i
,\l
,\c
,\C
"multi-character escapes"。