XML.orgXML.org
FOCUS AREAS |XML-DEV |XML.org DAILY NEWSLINK |REGISTRY |RESOURCES |ABOUT
OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]
Serialization with SAX

Hello,

I want to be able to serialize an input XML document to an output
document. It seems to be stupid, but I want to read until the say 2000th
page-element and then skip everything. It seems I can serialize it with
something like

SAXTransformerFactory fac = (SAXTransformerFactory)TransformerFactory.newInstance();
handler = fac.newTransformerHandler();
Transformer t = handler.getTransformer();
t.setOutputProperty(OutputKeys.METHOD, "xml");
t.setOutputProperty(OutputKeys.INDENT, "yes");
handler.setResult(new StreamResult(new FileOutputStream(filename)));

Now I'm not sure how to implement something like a check against a counter within every callback-method. Something like

private long counter = 0;

/**
 * {@inheritdoc}
 */
public void startElement(String namespaceURI, String localName, String qName,
      Attributes atts) throws SAXException {
 
  if (localName.equalsIgnoreCase("page")) {
    counter++;
  }
    
  if (counter < ARTICLES) {
    // TODO: everything which really has to be done to serialize the doc.
  }
}

I'm not sure where to get the source for a full serialization implemention and add "if (counter < ARTICLES) {" to every method. Or simply how to add such a check ;-) I simply want to have 2000 pages (page-Elements with all descendants) in the output and then skip everything else.

greetings,
Johannes



[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]


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

Copyright 1993-2007 XML.org. This site is hosted by OASIS