OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

 


 

   GenX and attribute QNames

[ 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




 

News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS