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 "Ishara Karunarathna (JIRA)" <xe...@xml.apache.org> on 2011/08/10 13:48:27 UTC

[jira] [Commented] (XERCESJ-1113) [GSoC]: Support for xml:id

    [ https://issues.apache.org/jira/browse/XERCESJ-1113?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13082294#comment-13082294 ] 

Ishara Karunarathna commented on XERCESJ-1113:
----------------------------------------------

Hi Michael,

I have implemented ID type assignment and error reporting in the addXmlIDAttrsAndValidate() method in a following way.
Thanks.


  protected void addXmlIDAttrsAndValidate(QName elementName, int elementIndex, 
                                               XMLAttributes attributes) {
    	
    	if(attributes.getType(elementIndex) != null){
    		String oldType = attributes.getType(elementIndex);
    		if(!oldType.equals("ID")){
    			fErrorReporter.reportError(XMLMessageFormatter.XMLNS_DOMAIN,
                        "InvalidAttributeType",
                        new Object[]{oldType},
                        XMLErrorReporter.SEVERITY_FATAL_ERROR);
    			
    		}
    		
    	}    	
    	else{
    		attributes.setType(elementIndex, "ID");
    		
    	}

//


> [GSoC]: Support for xml:id
> --------------------------
>
>                 Key: XERCESJ-1113
>                 URL: https://issues.apache.org/jira/browse/XERCESJ-1113
>             Project: Xerces2-J
>          Issue Type: New Feature
>          Components: XInclude 1.0
>    Affects Versions: 2.7.1
>         Environment: All
>            Reporter: George Cristian Bina
>            Assignee: Ishara Karunarathna
>              Labels: gsoc2011
>         Attachments: xmlIDHandler.zip
>
>
> 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.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

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