diff options
author | jestin | 2006-08-01 09:24:10 +0000 |
---|---|---|
committer | jestin | 2006-08-01 09:24:10 +0000 |
commit | d0afba319f95f0059d201c6b7cbfbc3322f2c0f6 (patch) | |
tree | 8da823c48b5843bf7022db1f3c53b63e85b8c4f5 /examples/TranslateXML.java | |
parent | d23e26197c375071459bbd6c5aa3d09c27020c31 (diff) | |
download | ivy-java-d0afba319f95f0059d201c6b7cbfbc3322f2c0f6.zip ivy-java-d0afba319f95f0059d201c6b7cbfbc3322f2c0f6.tar.gz ivy-java-d0afba319f95f0059d201c6b7cbfbc3322f2c0f6.tar.bz2 ivy-java-d0afba319f95f0059d201c6b7cbfbc3322f2c0f6.tar.xz |
Adding a correct example of translator in XML
documentation update
cleanup of IvyClient for Ping Pong
Diffstat (limited to 'examples/TranslateXML.java')
-rw-r--r-- | examples/TranslateXML.java | 33 |
1 files changed, 18 insertions, 15 deletions
diff --git a/examples/TranslateXML.java b/examples/TranslateXML.java index b7ec8fb..9dc3283 100644 --- a/examples/TranslateXML.java +++ b/examples/TranslateXML.java @@ -8,6 +8,8 @@ * this program is LGPL ... etc etc * * New: + * 1.2.12 + * leaving NanoXML in favor to the full featured xpath etc... * 1.2.6 * get compatible with new Ivy version * 1.2.3 @@ -16,10 +18,14 @@ * */ import fr.dgac.ivy.* ; +import gnu.getopt.Getopt; import java.io.* ; -import net.n3.nanoxml.*; import java.util.*; -import gnu.getopt.Getopt; +import javax.xml.parsers.*; +import javax.xml.xpath.*; +import org.xml.sax.*; +import org.w3c.dom.*; + class TranslateXML { @@ -42,19 +48,16 @@ class TranslateXML { private void parseFile(String filename) { try { - IXMLParser parser = XMLParserFactory.createDefaultXMLParser(); - IXMLReader reader = StdXMLReader.fileReader(filename); - parser.setReader(reader); - IXMLElement xml = (IXMLElement) parser.parse(); - // checks if everything is OK - // XMLWriter writer = new XMLWriter(System.out); - // writer.write(xml); - Vector translations = xml.getChildrenNamed("translate"); - for (int i=0;i<translations.size();i++) { - IXMLElement trans = (IXMLElement)translations.elementAt(i); - String from = trans.getAttribute("from",null); - String to = trans.getAttribute("to",null); - if ((from!=null)&&(to!=null)) { + DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); + DocumentBuilder builder = factory.newDocumentBuilder(); + Document trans = builder.parse(new File(filename)); + XPath xpath = XPathFactory.newInstance().newXPath(); + NodeList list = (NodeList)xpath.evaluate("/translations/translate",trans,XPathConstants.NODESET); + for (int i=0;i<list.getLength();i++) { + NamedNodeMap nnm = list.item(i).getAttributes(); + String from = nnm.getNamedItem("from").getNodeValue(); + String to = nnm.getNamedItem("to").getNodeValue(); + if ((from!=null)&&(to!=null)&&(!from.equals(to))) { System.out.println("translating every \""+from+"\" in \""+to+"\""); bus.bindMsg(from,new TALK(to)); } |