[
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
|