Supported as strings only
import java.math.BigInteger;
import java.io.*;
import org.jdom.*;
import org.jdom.output.XMLOutputter;
public class InternalValidFibonacci {
public static void main(String[] args) {
Element root = new Element("Fibonacci_Numbers");
BigInteger low = BigInteger.ONE;
BigInteger high = BigInteger.ONE;
for (int i = 1; i <= 25; i++) {
Element fibonacci = new Element("fibonacci");
Attribute index = new Attribute("index", String.valueOf(i));
fibonacci.setAttribute(index);
fibonacci.setText(low.toString());
BigInteger temp = high;
high = high.add(low);
low = temp;
root.addContent(fibonacci);
}
String dtd = "<!ELEMENT Fibonacci_Numbers (fibonacci*)>\r\n";
dtd += "<!ELEMENT fibonacci (#PCDATA)>\r\n";
dtd += "<!ATTLIST fibonacci index CDATA #IMPLIED>\r\n";
DocType type = new DocType("Fibonacci_Numbers");
type.setInternalSubset(dtd);
Document doc = new Document(root, type);
// serialize it into a file
try {
FileOutputStream out = new FileOutputStream("internalvalidfibonacci.xml");
XMLOutputter serializer = new XMLOutputter(" ", true);
serializer.output(doc, out);
out.flush();
out.close();
}
catch (IOException e) {
System.err.println(e);
}
}
}
View Output in Browser