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