[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]
Re: [xml-dev] Java 1.6 XMLStreamWriter and output indentation
- From: Andrew Welch <andrew.j.welch@gmail.com>
- To: nico <ndebeiss@gmail.com>
- Date: Wed, 13 May 2009 09:56:36 +0100
> Did you try to use the Xerces-Xalan parser embedded in jdk :
> com.sun.org.apache.xml.internal.serialize.XMLSerializer ?
Xerces is an XML parser, and Xalan is an XSLT processor.
Also, I don't think you are meant to use the "internal" interfaces...
there's likely to be a "public" one instead.
> I find strange that your create a QName from nothing, usually a markup is
> associated to a context document. You may have troubles with the namespaces
> declaration ? That may be a problem in the future if you want to interact
> with some systems of implicit namespaces declarations like ones discussed
> here.
Hmm not sure I follow. The reason for using a QName is to make is
easy to handle namespaces... for example, given the element:
<f:foo xmlns:f="foo_namespace">
and you want to process that using SAX, it's nice to do:
QName foo = new QName("foo_namespace", "foo", "f");
and then you can just compare QNames:
public void startElement(String uri, String localName, String name,
Attributes atts) throws SAXException {
QName elem = new QName(uri, localName);
if (elem.equals(foo)) {
....
and then if you need to write that element back out, you just want
give that QName to the writer, eg
writeStartElement(QName name)
rather than:
writeStartElement(String prefix, localName, namespaceURI)
...but that's easy enough to hide that behind an api.
It's nice to just define all of your elements and attributes as QNames
in one place, and have your parser and writer use them.
--
Andrew Welch
http://andrewjwelch.com
Kernow: http://kernowforsaxon.sf.net/
[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]