[ 
http://issues.apache.org/jira/browse/DERBY-688?page=comments#action_12428837 ] 
            
A B commented on DERBY-688:
---------------------------

As I was writing up the documentation for the XML operators, I was also 
double-checking the features to make sure they were all in-line with the 
SQL/XML[2006] specification.  After some searching around I've realized that 
there are two ways in which the current XML operators are not in line with the 
spec:

  1. Currently one can use XMLQUERY to retrieve a single element
     node from an XML value and then insert that element directly
     into another Derby XML column.  However, SQL/XML spec says
     that a column of type XML(DOCUMENT)--which is what Derby's
     columns are--can only store actual DOCUMENT nodes; element
     nodes cannot be implicitly "morphed" into document nodes.
     Instead, one must use the XMLDOCUMENT() operator, which is
     not yet implemented in Derby.  So basically, I have to make
     changes to disallow this kind of insertion.

  2. When serializing the results of an XMLQUERY operator, the
     current code doesn't strictly follow the SQL/XML specification,
     which dictates that the sequence must be "normalized" before
     it is serialized.  The rules for normalization can be found
     here:

     http://www.w3.org/TR/xslt-xquery-serialization/#serdm 

     So changes have to be made in SqlXmlUtil.serializeToString()
     to implement these rules.

Thus, there are still two outstanding code-related tasks for DERBY-688:

  A. Fix SQLSTATEs: I have a patch ready, just haven't posted it yet.
     Will try to do it soon.

  B. Resolve two situations listed above w.r.t to following SQL/XML
     specifications.

I think both of these things need to be completed for the 10.2 release in order 
to 1) make sure Derby is a standards-based database, per the charter, and 2) 
minimize likelihood for "Existing Application Impact" issues in subsequent 
releases (caused by having to change behavior or sqlstates).

> Enhancements to XML functionality to move toward XPath/XQuery support...
> ------------------------------------------------------------------------
>
>                 Key: DERBY-688
>                 URL: http://issues.apache.org/jira/browse/DERBY-688
>             Project: Derby
>          Issue Type: Improvement
>          Components: JDBC, SQL
>            Reporter: A B
>         Assigned To: A B
>            Priority: Minor
>         Attachments: d688_phase1_v1.patch, d688_phase1_v1.stat, 
> d688_phase1_v2.patch, d688_phase1_v3.patch, d688_phase2_v1_code.patch, 
> d688_phase2_v1_tests.patch, d688_phase2_v2_tests.patch, 
> d688_phase2_v3_tests.patch, d688_phase3_v1_code.patch, 
> d688_phase3_v1_tests.patch, d688_phase4_v1.patch, d688_phase4_v2.patch, 
> d688_phase5_v1.patch, derbyXMLSpec.html
>
>
> As of DERBY-334, Derby has some very basic support for XML that consists of 
> an XML datatype and three operators (XMLPARSE, XMLSERIALIZE, and XMLEXISTS).  
> I would like to enhance this existing functionality and, by doing so, help to 
> move Derby incrementally toward a more usable and more complete XPath/XQuery 
> solution (with emphasis on "incrementally").
> I have attached to this issue a document describing the particular changes 
> that I am looking to make.  At a high level, they consist of:
> 1) Making it easier to use the XML operators and datatype from within JDBC 
> (ex. by implicit parsing/serialization of XML values).
> 2) Adding a new operator, XMLQUERY, to allow a user to retrieve the results 
> of an XPath expression (instead of just determining whether or not the 
> expression evaluates to an empty sequence, which is what XMLEXISTS does).
> 3) Making changes to the existing operators to line them up with the SQL/XML 
> 2005 specification, and also to take steps toward my eventual hope of having 
> support for XQuery (as opposed to just XPath) in Derby.
> If anyone has time and interest enough to look at the document and provide 
> feedback, that'd be great...

-- 
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

        

Reply via email to