RELAX NG Compact Syntax正则表达式支持?

时间:2012-11-07 19:44:15

标签: xml regex relaxng

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

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

1 个答案:

答案 0 :(得分: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)" }