xerces-j-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Hiranya Jayathilaka (JIRA)" <xerces-j-...@xml.apache.org>
Subject [jira] Commented: (XERCESJ-1391) XML Schema 1.1, inheritable attributes implementation
Date Sun, 09 Aug 2009 06:18:15 GMT

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

Hiranya Jayathilaka commented on XERCESJ-1391:
----------------------------------------------

Yes. CTA is one area that can make use of this enhancement. I think to support this we need
to slightly change how XML attributes are passed into the CTA code.

> XML Schema 1.1, inheritable attributes implementation
> -----------------------------------------------------
>
>                 Key: XERCESJ-1391
>                 URL: https://issues.apache.org/jira/browse/XERCESJ-1391
>             Project: Xerces2-J
>          Issue Type: New Feature
>          Components: XML Schema 1.1 Structures
>    Affects Versions: 2.9.1
>            Reporter: Mukul Gandhi
>         Attachments: inhr_attr_patch.txt, test.xml, test.xsd
>
>
> Hi all,
>     I have written an implementation, for XML Schema 1.1 inheritable attributes. I am
creating this JIRA issue for inheritable 
> attributes, with a patch.
> I think, that a review of these changes would be good before we commit these changes
to SVN server. This will help to ensure the correctness of implementation, and better quality
of the code.
> I request, that this JIRA issue be assigned to the appropriate reviewer.
> Below are some implementation details, and a bit of design thinking I have in mind, for
inherited attributes implementation.
> This patch has all the implementation for attribute traversal changes, and also some
changes in XMLSchemaValidator.java 
> (which are currently not finalized, but I plan to use these changes in CTA and assertions
enhancements, for inheritable 
> attributes).
> I am also attaching a dummy XML and XSD files, which I used to verify the attribute traversal
changes. The attached XML is 
> valid, for the given XSD, using the current XML Schema 1.1 code in SVN, plus this patch
that I have written.
> As mentioned above, apart from attribute traversal changes (which are working fine, and
tested at my end), the following code has been written in XMLSchemaValidator.java, which I
plan to use to enhance CTA and assertions implementation, for inherited attributes:
> I have written a new method, saveInheritableAttributes(..) in XMLSchemaValidator.java,
which I am invoking from, 
> handleStartElement method.
> [1] CTA (conditional type assignment) changes
> I plan to enhance CTA implementation as following, to be able to use inherited attributes:
> In XMLSchemaValidator.java, I plan to modify the code fragment for CTA (the fragment,
//process type alternatives). I'll add 
> inherited attributes from the list, fInheritableAttrMap (using the element level information,
which is the key to this map 
> object) to the "attributes (of type XMLAttributes)" list.
> Rest of the code for CTA will remain same. The statement,
> if (test != null && test.evaluateTest(element, attributes)) {
> would use the new list of attributes (attributes, which are physically present on this
element, plus the inherited attributes).
> After the CTA processing is complete (i.e after a type from CTA is assigned to the element),
I'll remove the inherited 
> attributes from the "attributes" list, so the original set of attributes is used by code
after CTA processing. 
> I think, these are all the changes that are required to enhance CTA implementation, to
be able to use inherited attributes.
> [2] Assertion enhancements
> I plan to enhance assertions implementation as following, to be able to use inherited
attributes:
> In the, handleStartElement method, I'll pass the inherited attributes as well to the
assertions interface.
> To do this, I think following:
> addAssertsForEvaluation(element, attributes);
> would change to something like,
> addAssertsForEvaluation(element, attributes, inheritedattributes);
> In XMLAssertPsychopathImpl.java, I'll add the inherited attributes as well in the XDM
tree to all descendant elements.
> I think, these changes would be sufficient, to implement inherited attributes, on assertions.
> I have just outlined the logic to enhance CTA and assertions, for inherited attributes.
The final code, might look a bit 
> different, than the specifics I have mentioned here.
> I would be thankful, if you could send me the feedback to this patch, and confirmation
(and feedback) that CTA and assertions design changes, look ok.
> After I recieve the feedback to this patch, and to CTA and assertions design changes,
I'll do the suggested modifications.
> I would appreciate, feedback from any member of the xerces-dev community, as well.
> Regards,
> Mukul

-- 
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: j-dev-unsubscribe@xerces.apache.org
For additional commands, e-mail: j-dev-help@xerces.apache.org


Mime
View raw message