Details
Description
Given the following xsd that should allow only a valid email address pattern:
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element name="Email" type="EmailType" />
<xsd:simpleType name="EmailType" >
<xsd:restriction base="xsd:token">
<xsd:pattern value="([\.a-zA-Z0-9_-])@([a-zA-Z0-9_-])(([a-zA-Z0-9_-])*\.([a-zA-Z0-9_-]))"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:schema>
Using the following simple xml instance:
<Email>test@test.com</Email>
Running:
validate sample.xsd sample.xml
generates:
Schema invalid:
D:\sample.xsd:7: error: pattern-regex: The regular expression '([\.a-zA-Z0-9_-])@([a-zA-Z0-9_-])(([a-zA-Z0-9_-])*\.([a-zA-Z0-9_-]))' is malformed: '-' is an invalid character range. Write '-'.
A dash at the end or at the beginning of a character range does not have to be escaped (see http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/datatypes.html#nt-charRange "The - character is a valid character range only at the beginning or end of a - positive character group- .")
The regular expression in the email example is a valid xsd regexp and should be accepted by the XmlBeans validator.
Attachments
Attachments
Issue Links
- is a clone of
-
XMLBEANS-224 Pattern facet regex requires dash - to be escaped
- Resolved