我有10"括号内"变量(" [EVENT]"," [PROTOCOL]"," [SESSION]"等...) 我需要限制一个属性。 有效案例是:
无效案件:
要简短 - 在括号内只允许使用预定义变量,它们可以与任何字符串连接。
提前致谢
答案 0 :(得分:1)
阅读正则表达式,如下所示: 一个或多个不包含括号的子串的串联,除了围绕EVENT,PROTOCOL或SESSION的那些。 这可以简单地扩展为额外可接受的括号变量。
<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="root">
<xs:complexType>
<xs:attribute name="attr">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[^\[\]]*"/>
<xs:pattern value="([^\[\]]*\[(EVENT|PROTOCOL|SESSION)\][^\[\]]*)+"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
</xs:schema>