You are viewing a plain text version of this content. The canonical link for it is here.
Posted to j-dev@xerces.apache.org by bu...@apache.org on 2002/07/25 01:47:49 UTC

DO NOT REPLY [Bug 11152] New: - Xerces treats location path "//" in xpath attribute of xs:selector element of xs:key element as if it were "/"

DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=11152>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=11152

Xerces treats location path "//" in xpath attribute of xs:selector element of xs:key element as if it were "/"

           Summary: Xerces treats location path "//" in xpath attribute of
                    xs:selector element of xs:key element as if it were "/"
           Product: Xerces2-J
           Version: 2.0.0
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: Normal
          Priority: Other
         Component: XML Schema Structures
        AssignedTo: xerces-j-dev@xml.apache.org
        ReportedBy: apache@confusionconsultants.com


Hi I'm using the following XML file:

-------- start xml
<?xml version="1.0" encoding="UTF-8"?>
<filebase xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:noNamespaceSchemaLocation="bug.xsd">
	<categories>
		<category description="help me!" id="0015">
			<category description="I am drowning" id="0015">
				<category description="You are drowning" 
id="0005">
					<category description="XML is drowning 
me!" id="0003">
						<category description="XML is 
good" id="0002">
							<category 
description="XML is bad" id="0006"/>
						</category>
					</category>
				</category>
			</category>
		</category>
		<category description="help me again!" id="0015"/>
	</categories>
</filebase>
-------- end xml

and the following xsd (bug.xsd):

-------- start xsd
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" 
elementFormDefault="qualified">
	<xs:element name="category">
		<xs:complexType>
			<xs:sequence minOccurs="0">
				<xs:element ref="category"/>
			</xs:sequence>
			<xs:attribute name="id" type="xs:string"/>
			<xs:attribute name="description" type="xs:string"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="filebase">
		<xs:complexType>
			<xs:sequence>
				<xs:element name="categories">
					<xs:complexType>
						<xs:sequence 
maxOccurs="unbounded">
							<xs:element 
ref="category"/>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
			</xs:sequence>
		</xs:complexType>
		<xs:key name="categoryId">
			<xs:selector xpath=".//category"/>
			<xs:field xpath="@id"/>
		</xs:key>
	</xs:element>
</xs:schema>
-------- end xsd

And I'm using the following parser options:

-------- start parserOptions
      parser.setFeature("http://xml.org/sax/features/namespaces", true);
      parser.setFeature("http://xml.org/sax/features/validation", true);
      parser.setFeature("http://apache.org/xml/features/validation/schema", 
true);
      parser.setFeature
("http://apache.org/xml/features/validation/schema/normalized-value",true);
-------- end parserOptions

and there are two bugs as I see it:

1) The first feature (namespaces) should be set to true by default according to 
the docs (features), but it's false.
2) More interesting: there are TWO repeated IDs in the XML snippet above, but 
Xerces only finds one (see the xs:key in the XSD snippet above).  I've 
replicated this problem a lot and it seems it can't handle the "//" 
(/descendant- or- self:: node()) location path.

I hope this is a real bug and can be fixed.  I'm not expert enough to know if 
the "//" is legal, but XML Spy seems to think so (which doesn't help).

Thanks,
Daniel

P.S. Feel free to send me comments by e-mail about this potential bug.

---------------------------------------------------------------------
To unsubscribe, e-mail: xerces-j-dev-unsubscribe@xml.apache.org
For additional commands, e-mail: xerces-j-dev-help@xml.apache.org