[
Lists Home |
Date Index |
Thread Index
]
Hi,
I've been looking at Tim Bray's GenX library in order to generate
canonicalized SOAP messages, and i can't see how to handle attributes
whose value is a QName, e.g. i need to generate this element
<p1 xsi:type='xsd:int'
xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'
xmlns:xsd='http://www.w3.org/2001/XMLSchema'>1</p1>
I used genxDelcareNamespace to declare the xsd namespace, but it looks
like GenX doesn't write it to the stream unless it see's it being used,
so i end up with
<p1 xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'
xsi:type='xsd:int'>1</p1>
Tim said
> On the face of it, the obvious thing seems to be to add a call
>
> genxAddQname(genxWriter w, genxNamespace n, utf8 value);
>
>Got a better idea?
>
>Oops, this has the potential of breaking Canonical XML.
>
>I *HATE* qnames in content, bah.
On a related note, I'd like to serialize out a number of namespace
declarations in my root element in order to reduce the number of times a
particular namespace needs declaring (in soap you tend to get a number
of sibling elements all using the same namespace, but no parent elements
using it, so it ends up being declared on every sibling, massively
increasing the message size).
Othen than pointing out how evil QNames in content are, anyone have any
suggestions on how these things might be incorporated into the API
without breaking the canonicalization ?
Thanks
Simon
www.pocketsoap.com
|