- From: Sanjiva Weerawarana <sanjiva@watson.ibm.com>
- Date: Thu, 20 Jul 2000 07:17:14 -0400
- To: <www-xml-query-comments@w3.org>
- Cc: "XSL Working Group" <w3c-xsl-wg@w3.org>
The XSL WG has reviewed the XML Query Data Model document (dated 11
May 2000) and has following comments and proposal.
Specific Issues with the current document:
-----------------------------------------
(1) Overall, the way that the XML Query Data Model handles node types
is somewhat awkward from an XPath perspective:
- some functions are defined on the Node type and some on specific
types of Node; for example, isDocNode is defined on Node, but
children is defined separately for each kind of node
- it uses union types rather than more familiar subtyping
- relationship of the isXXXNode functions to the type system is
unclear
- it uses many different separate isXXXNode functions with an
implicit constraint that only one of them returns true for a
given node, rather than a single nodeType function (as in the
DOM)
(2) The approach taken to data-typing by the XML Query Model appears
to have difficulty dealing with the possibility that the string
representation of a value of particular data-type in an element
can be interrupted by processing instructions and comments; for
example, the integer 10 might be represented by
<amount>1<?bizarre processing instruction?>0</amount>
(3) Given that the infoset does not define node identity, we feel
that the XML Query data model must define node identity
rigourously. It appears that while the current document assumes
such identity, it does not formally define it.
(4) The data model has the concept of constructors to describe the
data model of result trees. In the current model, nodes have
accessors for parents, however, parents are not specified in
constructors. This appears to be a problem.
(5) We believe that the approach of representing complex schema types
by the data model of that type's schema as an XML document is
rather inadequate. This places the burden of processing the
schema (traversing import/include links, detecting inheritance,
equivalence classes etc.) on every user. We would prefer an
approach where element types are represented by some processed
form of the schema defining the type.
(6) We also noticed the following relatively minor issues:
- It would be preferable if the the XML Query Data Model used terms
and abbreviations consistent with XPath. For example, it should
use "ProcessingInstructionNode" not "PINode". The choices in
XPath were made conciously to maximize useability and we urge
the query group to build on the XPath experiences.
- It is not clear to us why the name of an ElemNode is a
*reference* to a QNameValue and not just a QNameValue.
- It appears that InfoItemNode is not fully specified. Which info
items it represents is not clear and the possible answers all
have drawbacks: If all implementations are required to support
all info items, then that imposes a significant implementation
burden, with very little benefit for most users. If not all are
required, then there is a significant potential interoperability
problem.
Discussion Points:
-----------------
(1) Given that the XPath data model is already present, we feel
strongly that the XML Query data model should be built with
an appropriate relationship to the XPath data model.
(2) The above approach makes sense if and only if the XML query group
decides to use XPath as a part of the query language. In that
case (i.e., if there is committement to use XPath), we feel
very strongly that the data models must be closely related.
(3) XPath clearly does not support typed values at this time. Adding
schema support to XPath is a vital work-item from the XPath 2.0
effort. Adding types to the XPath data model could be achieved by,
for example, adding a "type" node for each element node and
attribute node; the "type" node could be accessible by a new
"type" axis in XPath; and a new typed-value() function could
return the value of a element or attribute converted to the type
specified by its type node.
(4) It is not clear to us that the semi-formal approach used in
defining the query data model is sufficiently rigourous. It is
clear that the notation leads to a more compact specification,
but it is not obvious whether resulting specification is more
rigourous than a prose specification.
Received on Thursday, 20 July 2000 07:17:45 UTC