是否可以以定义text
正则表达式的方式在 RELAX NG Compact Syntax 中定义模式,或者,甚至可能是仅具有“或”和字符类/排序操作的正则语法的更简单变体?
本质上,我想将一个属性声明为仅允许与此 regexp: 匹配的值0x[0-9A-Fa-f]{6}
。我可以将其限制为minLength
and maxLength
,但我不确定是否可以为字符定义规则。
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)" }