W3C home > Mailing lists > Public > w3c-ietf-xmldsig@w3.org > April to June 2000

XPath Serialization

From: John Boyer <jboyer@PureEdge.com>
Date: Tue, 23 May 2000 11:04:02 -0700
To: "IETF/W3C XML-DSig WG" <w3c-ietf-xmldsig@w3.org>
Hello all,

Attached is the latest version of the XPath serialization spec.  The
following changes were made:

1) Changed character reference rendering to be uppercase hexadecimal with no
leading zeroes (e.g. &#xD; instead of &#x0D;).  This was decided at the
Victoria FTF.

2) Added the function here() to the XPath function library based on requests
by the group at and after the Victoria FTF.  You want to have a look at it,
though, because it is defined slightly differently than in the current
XPointer draft.  Basically, they define it to return the element containing
the attribute or text node that bears the Xpath expression.  I changed that
to returning the actuall attribute, text or other node (if you want the
element, you can get the parent, but if you are given an element, but it has
more than one attribute bearing an Xpath, then there is room for ambiguity.

I need feedback on this function, esp. from other implementers.

3) Beefed up the example XPath by surrounding it in a Signature, SignedInfo,
Reference, Transforms, Transform, XPath ancestry.  Also added a second
expression that does a better job with enveloped signatures by using the
here() function.

4) Gave clearer definition of document order for namespace and attribute
nodes so there would be no confusion about how and when they get rendered in
the absence of their parent element (however unlikely that might be in

5) There was some confusion about how to process the node-set.  I fixed this
by commenting that nodes are not processed more than once.  As part of the
processing of an element E, its namespace declarations, attributes, and
descendants are processed, so they are not visited again when E is finished

6) Clarified the processing of the namespace and attribute axes of an
element by saying that only those namespace and attribute nodes *that are in
the node-set* will be rendered.

7) Also tweaked the namespace axis processing by adding xmlns="" if there is
no default namespace node and by omitting the xmlns:xml namespace node if it
is equal to the value "http://www.w3.org/XML/1998/namespace"

John Boyer
Software Development Manager
PureEdge Solutions Inc. (formerly UWI.Com)
Creating Binding E-Commerce

Received on Tuesday, 23 May 2000 14:04:03 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 21:21:33 UTC