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

 


Help: OASIS Mailing Lists Help | MarkMail Help

 


 

   Re: [xml-dev] QNames in attribute values

[ Lists Home | Date Index | Thread Index ]

Paul Prescod wrote:
> What does "by hand" mean? Serializers need to work with namespaces as
> much as parsers do.

"By hand" means code that looks like this:

   StringBuffer sb = new StringBuffer;
   sb.append("<Price>");
   sb.append(Integer.toString(price));
   sb.append("</Price>");

instead of this:

   doc.serialize();

In the first case, the application has to worry about namespaces. In the
second case, a lower level tool worries about namespaces. (Actually, in
the case shown, this isn't true, as the DOM doesn't do everything for
you.)

> And that means that most filters do also. Anyhow,
> most of the applications I write or work with do one of those things.

Undoubtedly, but I suspect you're in the minority.

> Arguably, most serious XML development is around "tools" in the sense of
> applications that are namespace-neutral (editors, XML databases,
> transformation engines, data binding engines, schema engines etc.). Part
> of the way the XML world works is that we XML-heads write these tools
> that hide the XML grunge from people who are trying to string together
> systems. Each of these "tools" stands in for a hundred or a thousand
> hand-coded namespace-specific modules.

Agreed. And that's the way it should be.

> It's a pain in SAX too, because if you want to write a filter or
> something you need to keep track of namespaces yourself.

What am I missing here? Although I haven't used it, NamespaceSupport in
SAX 2 looks like it does most of the work for you for tracking in-scope
namespaces. The only thing that looks difficult is figuring out when to
call start/endPrefixMapping.

-- Ron




 

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

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