Methods Summary |
---|
public void | convertAll()Convert all the nodes in the current document.
msg.println("<MML 1.00 -- MML produced by XmlForm>");
msg.println("<Include \"xmlformat.mml\">");
doRecursive(theDocument);
|
protected void | doBold(org.w3c.dom.Element p)
msg.print("<Bold>");
doNodes(p);
msg.print("<Plain>");
|
protected void | doCData(org.w3c.dom.CharacterData p)
String s = p.getData().trim();
if (s.length() == 0) // Suns parser returns extra 1-space "Text"s
return;
msg.println(s);
|
protected void | doChapter(org.w3c.dom.Element p)
msg.println("<ChapterTitle>");
|
protected void | doElement(org.w3c.dom.Element p)
String tag = p.getTagName().toLowerCase();
if (tag.equals("ch")) {
doChapter(p);
} else if (tag.equals("sc")) {
doSection(p);
} else if (tag.equals("ss")) {
doSubSection(p);
} else if (tag.equals("p")) {
doParagraph(p);
} else if (tag.equals("pr")) {
msg.println("<HeadB>Problem");
} else if (tag.equals("so")) {
msg.println("<HeadB>Solution");
} else if (tag.equals("di")) {
msg.println("<HeadB>Discussion");
} else if (tag.equals("b")) {
doBold(p);
} else if (tag.equals("i")) {
doItalic(p);
} else if (tag.equals("example")) {
doExample(p);
} else
System.err.println("IGNORING UNHANDLED TAG " + tag + '(" +
p.getClass() + '@" + p.hashCode() + ')");
|
protected void | doExample(org.w3c.dom.Element p)
NamedNodeMap attrs = p.getAttributes();
Node href;
if ((href = attrs.getNamedItem("HREF")) == null)
throw new IllegalArgumentException(
"node " + p + "lacks required HREF Attribute");
String fname = href.getNodeValue();
msg.println("<Example>");
try {
fname = "/javasrc/" + fname;
LineNumberReader is = new LineNumberReader(new FileReader(fname));
gm.process(fname, is, smsg);
} catch(IOException e) {
throw new IllegalArgumentException(e.toString());
}
|
protected void | doItalic(org.w3c.dom.Element p)
msg.print("<Italic>");
doNodes(p);
msg.print("<Plain>");
|
public void | doNode(org.w3c.dom.Node p)
if (p.getNodeType() == Node.ELEMENT_NODE)
doElement((Element)p);
else if (p.getNodeType() == Node.TEXT_NODE)
doCData((org.w3c.dom.CharacterData)p);
else
System.err.println("IGNORING non-Element: " +
p.getClass() + ':" + p.toString() + "\n" +
p.getNodeValue());
|
protected void | doNodes(org.w3c.dom.Element p)
NodeList nodes = p.getChildNodes();
for (int i=0; i<nodes.getLength(); i++) {
Node n = nodes.item(i);
if (n instanceof CharacterData) {
doCData((CharacterData)n);
p.removeChild(n);
}
}
|
protected void | doParagraph(org.w3c.dom.Element p)
msg.println("<Body>");
|
protected void | doRecursive(org.w3c.dom.Node n)
NodeList kids;
if (n == null)
return;
doNode(n);
kids = n.getChildNodes();
int nkids = kids.getLength();
for (int i=0; i<nkids; i++) {
doRecursive(kids.item(i));
}
|
protected void | doSection(org.w3c.dom.Element p)
msg.println("<HeadA>");
|
protected void | doSubSection(org.w3c.dom.Element p)
msg.println("<HeadB>");
|