List of usage examples for org.jdom2.input SAXBuilder SAXBuilder
public SAXBuilder()
From source file:edu.utep.cs.jasg.specificationGenerator.XMLParser.java
License:Open Source License
/** Parser XML file. */ public void parse(String filePath) { if (Files.exists(Paths.get(filePath)) && DOMValidateDTD.validateXML(filePath)) { try {// www . ja v a2 s . c om SAXBuilder builder = new SAXBuilder(); Document doc = (Document) builder.build(filePath); Element root = doc.getRootElement(); nameSpace = root.getChild("nameSpace").getText(); //TODO: should I replace all files? Like compiling new files //check existing name spaces if (!Files.exists(Paths.get(workspace + File.separator + nameSpace))) { fileFactory.createDirectory(nameSpace); } specificationGenerator = new SpecificationGenerator(fileFactory, nameSpace); //get root element declarations Element parserElement = root.getChild("parser"); Element scannerElement = root.getChild("scanner"); Element ASTNodeElement = root.getChild("AST"); Element ASTBehaviorElement = root.getChild("ASTBehavior"); //parse root elements (document specifications) if (parserElement != null) parseRootElement("parser", parserElement); if (scannerElement != null) parseRootElement("scanner", scannerElement); if (ASTNodeElement != null) parseRootElement("AST", ASTNodeElement); if (ASTBehaviorElement != null) parseRootElement("ASTBehavior", ASTBehaviorElement); } catch (IOException io) { System.out.println(io.getMessage()); } catch (JDOMException jdomex) { System.out.println(jdomex.getMessage()); } } }
From source file:edu.utep.cs.jasg.specificationGenerator.XMLParser.java
License:Open Source License
/** Print XML file using XMLOutputter. */ public void printXMLFile(File file) { try {/* ww w .j a v a 2s .c om*/ // Build the document with SAX and Xerces, no validation SAXBuilder builder = new SAXBuilder(); // Create the document Document doc = builder.build(file); // Output the document, use standard formatter XMLOutputter fmt = new XMLOutputter(); fmt.output(doc, System.out); } catch (Exception e) { e.printStackTrace(); } }
From source file:Ejercicio3.Consulta1.java
public static void main(String args[]) { // Abrimos el fichero Document doc = null;/*from w w w. ja v a 2 s . c o m*/ try { doc = new SAXBuilder().build(".\\src\\Ejercicio3\\arbol.xml"); } catch (JDOMException ex) { ex.printStackTrace(); } catch (IOException ex) { ex.printStackTrace(); } //Metodos.xpath(doc, "//child::actor[@nacionalidad='uk']../../child::director"); Metodos.xpath(doc, "//child::cine[self::id[count>2]]../../child::titulo"); }
From source file:elh.eus.absa.CorpusReader.java
License:Open Source License
private void extractOpinionsAbsaSemEval2014(InputStream fileName) { SAXBuilder sax = new SAXBuilder(); XPathFactory xFactory = XPathFactory.instance(); try {//ww w. j ava2 s . co m Document doc = sax.build(fileName); XPathExpression<Element> expr = xFactory.compile("//sentence", Filters.element()); List<Element> sentences = expr.evaluate(doc); Integer sId = 0; //sentence id Integer oId = 0; //opinion id for (Element sent : sentences) { sId++; StringBuilder sb = new StringBuilder(); String sentString = sent.getChildText("text"); sb = sb.append(sentString); Element aspectTerms = sent.getChild("aspectTerms"); if (aspectTerms != null) { List<Element> aspectTermList = aspectTerms.getChildren(); for (Element aspectElem : aspectTermList) { oId++; String trgt = aspectElem.getAttributeValue("target"); Integer offsetFrom = Integer.parseInt(aspectElem.getAttributeValue("from")); Integer offsetTo = Integer.parseInt(aspectElem.getAttributeValue("to")); String polarity = aspectElem.getAttributeValue("polarity"); //String cat = aspectElem.getAttributeValue("category"); //create and add opinion to the structure Opinion op = new Opinion("o" + oId, trgt, offsetFrom, offsetTo, polarity, null, "s" + sId); this.addOpinion(op); } //System.out.println(sb.toString()); } } } catch (JDOMException | IOException e) { e.printStackTrace(); } }
From source file:elh.eus.absa.CorpusReader.java
License:Open Source License
/** * Read semeval-absa 2015 shared task formatted corpus and extract opinions. * /* w w w . ja v a 2 s. c om*/ * @param InputStream fileName: corpus * @param boolean nullSentOps: whether null opinions should be created for sentence with no opinion * (only used for semeval-absa 2015 formatted corpora) * */ private void extractOpinionsAbsaSemEval2015(InputStream fileName, boolean nullSentenceOps) { SAXBuilder sax = new SAXBuilder(); XPathFactory xFactory = XPathFactory.instance(); try { Document doc = sax.build(fileName); XPathExpression<Element> expr = xFactory.compile("//sentence", Filters.element()); List<Element> sentences = expr.evaluate(doc); String rId = ""; String sId = ""; //sentence id Integer oId = 0; //opinion id for (Element sent : sentences) { sId = sent.getAttributeValue("id"); rId = sId.replaceAll(":[0-9]+$", ""); if (rId.equalsIgnoreCase(sId)) { rId = sId.replaceAll("#[0-9]+$", ""); } //store the sentence and the corresponding review addRevSent(rId, sId); StringBuilder sb = new StringBuilder(); String sentString = sent.getChildText("text"); //add sentence to the reader object this.addSentence(sId, sentString); sb = sb.append(sentString); Element opinions = sent.getChild("Opinions"); if (opinions != null) { List<Element> opinionList = opinions.getChildren(); //there is no opinions if (opinionList.isEmpty()) { //System.err.println("kkkkk"); //create sentence at list, even if it has no opinion elements sId = sent.getAttributeValue("id"); addRevSent(rId, sId); String sentStr = sent.getChildText("text"); //add sentence to the reader object this.addSentence(sId, sentStr); if (nullSentenceOps) { oId++; //create and add opinion to the structure Opinion op = new Opinion("o" + oId, "NULL", 0, 0, "NULL", "NULL", sId); this.addOpinion(op); } } for (Element opElem : opinionList) { oId++; String trgt = opElem.getAttributeValue("target"); Integer offsetFrom = 0; Integer offsetTo = 0; try { offsetFrom = Integer.parseInt(opElem.getAttributeValue("from")); offsetTo = Integer.parseInt(opElem.getAttributeValue("to")); } catch (NumberFormatException ne) { } String polarity = opElem.getAttributeValue("polarity"); String cat = opElem.getAttributeValue("category"); //create and add opinion to the structure Opinion op = new Opinion("o" + oId, trgt, offsetFrom, offsetTo, polarity, cat, sId); this.addOpinion(op); //debugging sb.append("\n\t> " + "o" + oId + " " + trgt + " " + offsetFrom + "-" + offsetTo + " " + polarity + " " + cat); } //System.out.println(sb.toString()); } else { //System.err.println("kkkkk"); //create sentence at list, even if it has no opinion elements sId = sent.getAttributeValue("id"); addRevSent(rId, sId); String sentStr = sent.getChildText("text"); //add sentence to the reader object this.addSentence(sId, sentStr); if (nullSentenceOps) { oId++; //create and add opinion to the structure Opinion op = new Opinion("o" + oId, "NULL", 0, 0, "NULL", "NULL", sId); this.addOpinion(op); } } } } catch (JDOMException | IOException e) { e.printStackTrace(); } }
From source file:elh.eus.absa.CorpusReader.java
License:Open Source License
/** * Extract sentence texts from tabulated format. The function assumes the text is PoS tagged in * Conll tabulated format./*from www . ja v a 2 s .co m*/ * * @param fileName string: input corpus file path */ private void extractOpinionsTabText(InputStream fileName) { SAXBuilder sax = new SAXBuilder(); XPathFactory xFactory = XPathFactory.instance(); try { Document doc = sax.build(fileName); XPathExpression<Element> expr = xFactory.compile("//sentence", Filters.element()); List<Element> sentences = expr.evaluate(doc); String rId = ""; String sId = ""; //sentence id Integer oId = 0; //opinion id for (Element sent : sentences) { sId = sent.getAttributeValue("id"); rId = sId; oId++; /*store the sentence and the corresponding review * (in this case this info is redundant, because a whole review is represented by a sentence) */ addRevSent(rId, sId); //StringBuilder sb = new StringBuilder(); String sentString = sent.getChildText("text"); //add sentence to the reader object this.addSentence(sId, sentString); String polarity = sent.getAttributeValue("polarity"); if (polarity == null) { System.err.println("no polarity annotation for review " + rId + "." + " Review won't be taken into account"); continue; } String trgt = ""; String cat = "global"; Integer offsetFrom = 0; Integer offsetTo = 0; //create and add opinion to the structure Opinion op = new Opinion("o" + oId, trgt, offsetFrom, offsetTo, polarity, cat, sId); this.addOpinion(op); //debugging //sb.append("\n\t> "+"o"+oId+" "+trgt+" "+offsetFrom+"-"+offsetTo+" "+polarity+" "+cat); } //System.out.println(sentString); } catch (JDOMException | IOException e) { e.printStackTrace(); } }
From source file:engine.Engine.java
License:Open Source License
public void loadLevel(String filePath) throws JDOMException, IOException { SAXBuilder sax = new SAXBuilder(); Document doc;/*from w w w .j a v a 2s . c o m*/ doc = sax.build(new File(filePath)); Element root = doc.getRootElement(); List<Element> listElem = root.getChildren(); for (Element elem : listElem) { Entity entity = null; switch (elem.getName()) { case "BreakableBlock": entity = new BreakableBlock(this); break; case "SolidBlock": entity = new SolidBlock(this); break; case "Bomb": entity = new Bomb(this); break; case "Fire": entity = new Fire(this); break; case "Bomberman": entity = new Bomberman(this); break; case "Bonus": Bonus bonus = new Bonus(this); bonus.setBomb(elem.getAttribute("bomb").getIntValue()); bonus.setPower(elem.getAttribute("power").getIntValue()); bonus.setSpeed(elem.getAttribute("speed").getIntValue()); entity = bonus; break; case "SpeedBonus": entity = new SpeedBonus(this); break; case "PowerBonus": entity = new PowerBonus(this); break; case "BombBonus": entity = new BombBonus(this); break; case "KickBonus": entity = new KickBonus(this); break; case "FutureBonus": futureBonus(elem); continue; default: this.log.warn("loadLevel: unknown type object -> " + elem.getName()); continue; } Vector2f position = new Vector2f(); position.x = elem.getAttribute("x").getIntValue() * 1000; position.y = elem.getAttribute("y").getIntValue() * 1000; entity.setPosition(position); entity.setDirection(elem.getAttribute("dir").getIntValue()); addEntity(entity); } this.collisionManager.addHandler(new BombermanBlockCH(this.collisionManager)); this.collisionManager.addHandler(new BombermanBonusCH()); this.collisionManager.addHandler(new BombermanFireCH()); this.collisionManager.addHandler(new BombFireCH()); this.collisionManager.addHandler(new BonusFireCH()); this.collisionManager.addHandler(new BlockFireCH()); this.collisionManager.addHandler(new BombBlockCH()); BombermanBombCH han = new BombermanBombCH(this.collisionManager); addListener(han); this.collisionManager.addHandler(han); this.loaded = true; }
From source file:Enrichissement.Jaccard.java
private static void ouvrirDoc() { SAXBuilder sxb = new SAXBuilder(); try {//from ww w . ja v a 2s .c o m // On cre un nouveau document JDOM avec en argument le fichier XML // Le parsing est termin ;) document = sxb.build(new File("rdf.xml")); System.out.println("Fichier ouvert"); } catch (Exception e) { e.printStackTrace(); } // On initialise un nouvel lment racine avec l'lment racine du // document. racine = document.getRootElement(); }
From source file:es.ehu.si.ixa.pipe.convert.Convert.java
License:Apache License
public void absaSemEvalToNER(String fileName) { SAXBuilder sax = new SAXBuilder(); XPathFactory xFactory = XPathFactory.instance(); try {// ww w . ja va 2 s. c o m Document doc = sax.build(fileName); XPathExpression<Element> expr = xFactory.compile("//sentence", Filters.element()); List<Element> sentences = expr.evaluate(doc); for (Element sent : sentences) { StringBuilder sb = new StringBuilder(); String sentString = sent.getChildText("text"); sb = sb.append(sentString); Element aspectTerms = sent.getChild("aspectTerms"); if (aspectTerms != null) { List<List<Integer>> offsetList = new ArrayList<List<Integer>>(); List<Integer> offsets = new ArrayList<Integer>(); List<Element> aspectTermList = aspectTerms.getChildren(); if (!aspectTermList.isEmpty()) { for (Element aspectElem : aspectTermList) { Integer offsetFrom = Integer.parseInt(aspectElem.getAttributeValue("from")); Integer offsetTo = Integer.parseInt(aspectElem.getAttributeValue("to")); offsets.add(offsetFrom); offsets.add(offsetTo); } } Collections.sort(offsets); for (int i = 0; i < offsets.size(); i++) { List<Integer> offsetArray = new ArrayList<Integer>(); offsetArray.add(offsets.get(i++)); if (offsets.size() > i) { offsetArray.add(offsets.get(i)); } offsetList.add(offsetArray); } int counter = 0; for (List<Integer> offsetSent : offsetList) { Integer offsetFrom = offsetSent.get(0); Integer offsetTo = offsetSent.get(1); String aspectString = sentString.substring(offsetFrom, offsetTo); sb.replace(offsetFrom + counter, offsetTo + counter, "<START:term> " + aspectString + " <END>"); counter += 19; } } System.out.println(sb.toString()); } } catch (JDOMException | IOException e) { e.printStackTrace(); } }
From source file:es.ehu.si.ixa.pipe.convert.Convert.java
License:Apache License
public void absaSemEvalToNER2015(String fileName) { SAXBuilder sax = new SAXBuilder(); XPathFactory xFactory = XPathFactory.instance(); try {//w w w.ja v a 2 s.c o m Document doc = sax.build(fileName); XPathExpression<Element> expr = xFactory.compile("//sentence", Filters.element()); List<Element> sentences = expr.evaluate(doc); for (Element sent : sentences) { String sentString = sent.getChildText("text"); StringBuilder sb = new StringBuilder(); sb = sb.append(sentString); Element opinionsElement = sent.getChild("Opinions"); if (opinionsElement != null) { List<List<Integer>> offsetList = new ArrayList<List<Integer>>(); List<Integer> offsets = new ArrayList<Integer>(); List<Element> oteList = opinionsElement.getChildren(); for (Element aspectElem : oteList) { if (!aspectElem.getAttributeValue("target").equals("NULL")) { Integer offsetFrom = Integer.parseInt(aspectElem.getAttributeValue("from")); Integer offsetTo = Integer.parseInt(aspectElem.getAttributeValue("to")); offsets.add(offsetFrom); offsets.add(offsetTo); } } List<Integer> offsetsWithoutDuplicates = new ArrayList<Integer>(new HashSet<Integer>(offsets)); Collections.sort(offsetsWithoutDuplicates); for (int i = 0; i < offsetsWithoutDuplicates.size(); i++) { List<Integer> offsetArray = new ArrayList<Integer>(); offsetArray.add(offsetsWithoutDuplicates.get(i++)); if (offsetsWithoutDuplicates.size() > i) { offsetArray.add(offsetsWithoutDuplicates.get(i)); } offsetList.add(offsetArray); } int counter = 0; for (List<Integer> offsetSent : offsetList) { Integer offsetFrom = offsetSent.get(0); Integer offsetTo = offsetSent.get(1); String aspectString = sentString.substring(offsetFrom, offsetTo); sb.replace(offsetFrom + counter, offsetTo + counter, "<START:target> " + aspectString + " <END>"); counter += 21; } System.out.println(sb.toString()); } } } catch (JDOMException | IOException e) { e.printStackTrace(); } }