我正在使用Relax Ng
来验证XML
文件
在我的XML文件中,我有一个标记,其中有几个以逗号分隔的值
<mytage>01,02,03,04<mytage>
我可以在.rng文件中使用<List>
模式,但它匹配以逗号分隔的空格分隔的序列
答案 0 :(得分:1)
可以使用带有正则表达式的<param name="pattern">
指定;例如:
<data type="string" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
<param name="pattern">[0-9][0-9](,[0-9][0-9])*</param>
</data>
或者在紧凑语法中:
xsd:string {
pattern = "[0-9][0-9](,[0-9][0-9])*"
}
如果您想让它成为<choice>
:
<choice>
<data type="string" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
<param name="pattern">[0-9][0-9](,[0-9][0-9])*</param>
</data>
<data type="string" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
<param name="pattern">…</param>
</data>
</choice>
或者在紧凑语法中:
( xsd:string {
pattern = "[0-9][0-9](,[0-9][0-9])*"
}
| xsd:string {
pattern = "…"
}
)