[
https://issues.apache.org/jira/browse/XMLBEANS-412?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Radosław Ceszkiel updated XMLBEANS-412:
---------------------------------------
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>[email protected]</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.
was:
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>[email protected]</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 '\-'.
Question: Why should I have to escape the dashes??
Then escaping the dashes, you can actually get the schema to compile. But then
you have a new problem. The regex does validate valid email addresses!!
So two bugs AFAIK - shouldn't need to escape slashes. Something in the regex is
not recognised by xmlbeans regex parser.
> CLONE -Pattern facet regex requires dash - to be escaped
> --------------------------------------------------------
>
> Key: XMLBEANS-412
> URL: https://issues.apache.org/jira/browse/XMLBEANS-412
> Project: XMLBeans
> Issue Type: Bug
> Components: Validator
> Affects Versions: Version 2, Version 2.1, Version 2.2, Version 2.2.1,
> Version 2.3, Version 2.3.1
> Environment: Win 2000, JDK1.5
> Reporter: Radosław Ceszkiel
> Fix For: Version 2
>
>
> 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>[email protected]</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.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]