3

是否可以以定义text正则表达式的方式在 RELAX NG Compact Syntax 中定义模式,或者,甚至可能是仅具有“或”和字符类/排序操作的正则语法的更简单变体?

本质上,我想将一个属性声明为仅允许与此 regexp: 匹配的值0x[0-9A-Fa-f]{6}。我可以将其限制为minLengthand maxLength,但我不确定是否可以为字符定义规则。

4

1 回答 1

3

http://books.xmlschemata.org/relaxng/relax-CHP-9.html描述了 RELAX NG 中的正则表达式支持。

可以在https://github.com/citation-style-language/schema/blob/master/csl.rnc中找到一个紧凑语法的示例:

element cs:issn { issn }
issn = xsd:string { pattern = "\d{4}\-\d{3}(\d|x|X)" }
于 2012-11-07T21:27:53.420 回答