[ http://issues.apache.org/jira/browse/XERCESJ-1113?page=comments#action_12362168 ]
Michael Glavassevich commented on XERCESJ-1113: ----------------------------------------------- [[Recording a comment I sent in an e-mail back in December]] I see how the patch gets the job done for some cases though I'm not sure whether a conforming XInclude processor should be doing this by default. That aside, since it isn't performing the processing steps required by the xml:id spec [1] you can't really call this support for xml:id and in general it will miss values because they haven't been fully normalized. xml:id processing is logically a separate processing layer from XInclude, schema validation, etc... I understand the usefulness of xml:id in an XInclude context but this attribute has broader usage. When Xerces eventually does support xml:id I feel it should be independent of the other components in the pipeline. [1] http://www.w3.org/TR/xml-id/#processing > Support for xml:id > ------------------ > > Key: XERCESJ-1113 > URL: http://issues.apache.org/jira/browse/XERCESJ-1113 > Project: Xerces2-J > Type: New Feature > Components: XInclude 1.0 > Versions: 2.7.1 > Environment: All > Reporter: George Cristian Bina > > Hi, > The XInclude ID support should handle xml:id. This is useful for instance > with DocBook or TEI that use Relax NG schemas for validation and also need > XInclude support. > Here it is a patch that adds support for handling xml:id attributes as > attributes of ID type. > Index: > C:/george/workspace/xerces/src/org/apache/xerces/xpointer/ShortHandPointer.java > =================================================================== > --- > C:/george/workspace/xerces/src/org/apache/xerces/xpointer/ShortHandPointer.java > (revision 344362) > +++ > C:/george/workspace/xerces/src/org/apache/xerces/xpointer/ShortHandPointer.java > (working copy) > @@ -162,6 +162,17 @@ > } > } > > + if (normalizedValue == null && attributes != null) { > + // Try to see if we can get an xml:id > + for (int i = 0; i < attributes.getLength(); i++) { > + if ("xml".equals(attributes.getPrefix(i)) && > + > "id".equals(attributes.getLocalName(i))) { > + normalizedValue = attributes.getValue(i); > + break; > + } > + } > + } > + > if (normalizedValue != null > && normalizedValue.equals(fShortHandPointer)) { > return true; > Best Regards, > George -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
