Octavian Nadolu created XERCESJ-1623:
----------------------------------------

             Summary: Invalid characters in assertion XPath expression
                 Key: XERCESJ-1623
                 URL: https://issues.apache.org/jira/browse/XERCESJ-1623
             Project: Xerces2-J
          Issue Type: Bug
          Components: XML Schema 1.1 Structures
    Affects Versions: 2.11.0
            Reporter: Octavian Nadolu


If I validate the following XML Schema, I get an error:
"cvc-xpath.3.13.4.2a: XPST0003 - Assertion XPath expression 
('count(le:Einführung) le 1') on the schema type 'defKapitel' couldn't compile 
successfully."
I tested on the xml-schema-1.1-dev branch. 

The error occurs because of the "ü" character that is used in the assertion. 
The problem seems to be the in the PsychoPath library 
(org.eclipse.wst.xml.xpath2.processor_1.2.0.jar) that Xerces uses. 
I updated the PsychoPath library to the latest version, 2.1.2, and the 
validation seems to work well.
In order to make Xerces work with the new PsychoPath library, you need to make 
two modifications:
-  in XSAssertionXPath2ValueImpl.java, you need to use PsychoPathTypeHelper 
instead of PsychoPathXPathTypeHelper.
- in AbstractPsychoPathXPath2Impl, the constructors of DefaultEvaluator and 
ElementType are modified.

------ XML Schema --------------------
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"; 
elementFormDefault="qualified"
    xmlns:le="myns" targetNamespace="myns"
    xmlns:vc="http://www.w3.org/2007/XMLSchema-versioning"; vc:minVersion="1.1">
    <xs:element name="Einführung"/>
    <xs:element name="Lernziele"/>
    <xs:element name="Textebene-1"/>
    <xs:complexType name="defKapitel">
        <xs:sequence>
            <xs:choice minOccurs="0" maxOccurs="2">
                <xs:element ref="le:Einführung"/>
                <xs:element ref="le:Lernziele"/>
            </xs:choice>
            <xs:element minOccurs="1" maxOccurs="unbounded" 
ref="le:Textebene-1"/>
        </xs:sequence>     
        <xs:assert test="count(le:Einführung) le 1"/>     
    </xs:complexType>
</xs:schema>
--------------------------------------------



--
This message was sent by Atlassian JIRA
(v6.1.4#6159)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to