[Home] [By Thread] [By Date] [Recent Entries]

  • From: Johannes Lichtenberger <Johannes.Lichtenberger@u...>
  • To: xml-dev@l...
  • Date: Thu, 15 Jan 2009 22:29:34 +0100

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]


Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member