Question

I'm creating a program in Java that reads a string of XSL-FO code, populates the empty fields with app data, and adds it to a StringReader, to eventually be set as an InputSource for a web dispatcher.

I already have the code to find and populate the blank template, and now I need to loop through the template X number of times to create X instances of the same document, put together all as a single document.

Psuedocode:

StringReader reader = new StringReader();

for (Iterator i = Object.iterator(); i.hasNext();
{
Object o = (Object) i.next();
reader.append(populateObject(o);
}
InputSource isource = new InputSource(reader);

StringReader, however, doesn't have an append function, and probably isn't meant to have one either. So, how can I create an InputSource that will satisfy the need to have a full, accurate reference to my XML code, that can be read by an InputSource object?

Was it helpful?

Solution

You could try doing all the appending before-hand:

StringBuilder sb = new StringBuilder();

for (...)
    sb.append(populateObject(obj));

StringReader reader = new StringReader(sb.toString());

Use StringBuffer if you're using a Java version below 5.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top