Example usage for org.jdom2.input SAXBuilder SAXBuilder

List of usage examples for org.jdom2.input SAXBuilder SAXBuilder

Introduction

In this page you can find the example usage for org.jdom2.input SAXBuilder SAXBuilder.

Prototype

public SAXBuilder() 

Source Link

Document

Creates a new JAXP-based SAXBuilder.

Usage

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();
    }
}