繁体   English   中英

不可打印字符xsd

[英]Non-Printable Characters xsd

我想为xsd模式编写一个正则表达式。

该字符串可以支持以下1-20个字符:

  • 字母(小写,大写)
  • 号码
  • Latin-1 Leters(但乘号\\ u00D7和除号\\ u00F7)

我的架构如下所示:

<xs:restriction base="xs:string">
  <xs:pattern value="^[a-zA-Z0-9\uC0-\uFF-[\u00D7\u00F7]]{1,20}$"/>
</xs:restriction>

该模式可在.Net(C#)和Visual Studio中完美运行。 现在,如果我将其放在eclipse中,则会出现以下错误:

... Is not avalid regular expresion

如果尝试使用Java SAX Parser验证XML,则会出现以下异常:

InvalidRegex:....Is not avalid regular expresion

现在明白了:

^([a-zA-Z0-9]|[&#x00C0;-&#x00D6;&#x00D8;-&#x00F6;&#x00F8;-&#x00FF;]){1,20}$

详情:

小写或大写字母或数字

[a-zA-Z0-9] 

或除\\ u00D7和\\ u00F7以外的拉丁字母1

[&#x00C0;-&#x00D6;&#x00D8;-&#x00F6;&#x00F8;-&#x00FF;]

整件事最多20次


或使用xml-exclude-syntax:

^([a-zA-Z0-9]|[&#x00C0;-&#x00FF;-[&#x00D7;&#x00F7;]]){1,20}$

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM