Re: xpath processing brain dead - Mailing list pgsql-hackers

From Hannu Krosing
Subject Re: xpath processing brain dead
Date
Msg-id 1235946922.8441.44.camel@huvostro
Whole thread Raw
In response to Re: xpath processing brain dead  (Andrew Dunstan <andrew@dunslane.net>)
Responses Re: xpath processing brain dead  (Andrew Dunstan <andrew@dunslane.net>)
List pgsql-hackers
On Sun, 2009-03-01 at 10:13 -0500, Andrew Dunstan wrote:
> 
> Hannu Krosing wrote:
> >> Some of the functions, including some specified in the standard, produce 
> >> fragments. That's why we have the 'IS DOCUMENT' test.
> >>     
> >
> > But then you could use xmlfragments as the functions return type, no ?
> >
> > Does tha standard require that the same field type must store both
> > documents and fragments ?
> >
> >   
> 
> Yes, the standard very explicitly provides for one XML type which need 
> not be an XML document. We have no choice about that.

What is it then ? A sequence of XML elements ?

Which standard does postgreSQL XML type need to confirm to - general XML
DB, Xpath or some other XML ?


XML Path Language (XPath) Version 1.0
--------------------------------------

starts with this Abstract:

"XPath is a language for addressing parts of an XML document, designed
to be used by both XSLT and XPointer."

So I think that using Xpath on anything else than "XML document" is
invalid and results are undefined.

XML 1.0 and XML 1.1
-------------------

Also, both XML 1.0 and XML 1.1 standards are about a thing called an
"XML document", so I don't see anything there, which would make us
accept anything else as being "XML".


And SQL 2008, Part 14: XML-Related Specifications (SQL/XML)
-----------------------------------------------------------
Says:

"SQL defines a predefined data type named by the following <key word>:
XML.
...
The data types XML(DOCUMENT(UNTYPED)), XML(DOCUMENT(ANY)),
XML(DOCUMENT(XMLSCHEMA)), XML(CONTENT(UNTYPED)), XML(CONTENT(ANY)),
XML(CONTENT(XMLSCHEMA)), and XML(SEQUENCE) are referred to as the XML
types. Values of XML types are called XML values."


So while the type itself could be called XML, there are several
subtypes, like Document, Content and Sequence

Could the XML(SEQUENCE) better be represented as an array 
of xml documents aka. xml[] , and maybe CONTENT could be done as 
xmlelement[] where xmlelement can be any single XML element, including
CDATA and plain text ?

> cheers
> 
> andrew
-- 
Hannu Krosing   http://www.2ndQuadrant.com
PostgreSQL Scalability and Availability   Services, Consulting and Training



pgsql-hackers by date:

Previous
From: Sushant Sinha
Date:
Subject: patch for space around the FragmentDelimiter
Next
From: Andrew Dunstan
Date:
Subject: Re: xpath processing brain dead