Example usage for javax.xml.xpath XPath evaluate

List of usage examples for javax.xml.xpath XPath evaluate

Introduction

In this page you can find the example usage for javax.xml.xpath XPath evaluate.

Prototype

public Object evaluate(String expression, InputSource source, QName returnType) throws XPathExpressionException;

Source Link

Document

Evaluate an XPath expression in the context of the specified InputSource and return the result as the specified type.

Usage

From source file:nz.govt.natlib.adapter.arc.ArcAdapter.java

private ArcMetadata parseArcMetadataRecord(ArcVersionBlock arcMetadataRecord) {
    if (arcMetadataRecord == null)
        return null;
    ArcMetadata metadata = new ArcMetadata();
    ByteArrayOutputStream bos = null;
    try {/*from ww  w  . j a v  a 2s .  c  o  m*/
        Document doc = createXmlDocumentFrom(arcMetadataRecord.getPayloadContent());
        XPathFactory xPathFactory = XPathFactory.newInstance();
        XPath xpath = xPathFactory.newXPath();
        xpath.setNamespaceContext(new ArcMetadataNamespaceContext());
        metadata.software = (String) xpath.evaluate("//arc:arcmetadata/arc:software", doc,
                XPathConstants.STRING);
        metadata.hostname = (String) xpath.evaluate("//arc:arcmetadata/arc:hostname", doc,
                XPathConstants.STRING);
        metadata.ip = (String) xpath.evaluate("//arc:arcmetadata/arc:ip", doc, XPathConstants.STRING);
        metadata.operator = (String) xpath.evaluate("//arc:arcmetadata/arc:operator", doc,
                XPathConstants.STRING);
        metadata.createdDate = (String) xpath.evaluate("//arc:arcmetadata/dc:date", doc, XPathConstants.STRING);
        metadata.robotPolicy = (String) xpath.evaluate("//arc:arcmetadata/arc:robots", doc,
                XPathConstants.STRING);
        metadata.arcFormat = (String) xpath.evaluate("//arc:arcmetadata/dc:format", doc, XPathConstants.STRING);
        metadata.conformsTo = (String) xpath.evaluate("//arc:arcmetadata/dcterms:conformsTo", doc,
                XPathConstants.STRING);
        return metadata;
    } catch (Exception e) {
    } finally {
        if (bos != null) {
            try {
                bos.close();
            } catch (IOException e) {
            }
        }
    }
    return null;
}

From source file:nz.govt.natlib.ndha.wctdpsdepositor.extractor.XPathWctMetsExtractor.java

private void populateSeedUrlsFrom(Document doc, XPath xpath) throws XPathExpressionException {
    NodeList seedNodes = (NodeList) xpath.evaluate(seedUrlsQuery, doc, XPathConstants.NODESET);
    //int l = seedNodes.getLength();
    for (int i = 0; i < seedNodes.getLength(); i++) {
        Node node = seedNodes.item(i);
        if (node == null)
            continue;
        NodeList childNodes = node.getChildNodes();
        if (childNodes.getLength() <= 0)
            continue;
        String url = null;//from  w  ww  . j  ava2  s.  c  om
        String type = null;
        for (int j = 0; j < childNodes.getLength(); j++) {
            Node childNode = childNodes.item(j);
            String nodeName = childNode.getLocalName();
            if ("SeedURL".equals(nodeName))
                url = childNode.getTextContent();
            else if ("SeedType".equals(nodeName))
                type = childNode.getTextContent();
        }
        SeedUrl.Type typeAsEnum;
        if (url != null) {
            try {
                typeAsEnum = SeedUrl.Type.valueOf(type);
            } catch (RuntimeException e) {
                typeAsEnum = SeedUrl.Type.Primary;
            }
            SeedUrl seedUrl = new SeedUrl(url, typeAsEnum);
            seedUrls.add(seedUrl);
        }
    }
}

From source file:nz.govt.natlib.ndha.wctdpsdepositor.extractor.XPathWctMetsExtractor.java

private void popualteHarvestDate(Document doc, XPath xpath) throws XPathExpressionException {
    harvestDate = (String) xpath.evaluate(harvestDateQuery, doc, XPathConstants.STRING);
}

From source file:nz.govt.natlib.ndha.wctdpsdepositor.extractor.XPathWctMetsExtractor.java

private void populateTargetName(Document doc, XPath xpath) throws XPathExpressionException {
    targetName = (String) xpath.evaluate(targetNameQuery, doc, XPathConstants.STRING);
}

From source file:nz.govt.natlib.ndha.wctdpsdepositor.extractor.XPathWctMetsExtractor.java

private void populateCreatedBy(Document doc, XPath xpath) throws XPathExpressionException {
    createdBy = (String) xpath.evaluate(createdByQuery, doc, XPathConstants.STRING);
}

From source file:nz.govt.natlib.ndha.wctdpsdepositor.extractor.XPathWctMetsExtractor.java

private void populateCreationDate(Document doc, XPath xpath) throws XPathExpressionException {
    creationDate = (String) xpath.evaluate(creationDateQuery, doc, XPathConstants.STRING);
}

From source file:nz.govt.natlib.ndha.wctdpsdepositor.extractor.XPathWctMetsExtractor.java

private void populateProvenanceNote(Document doc, XPath xpath) throws XPathExpressionException {
    provenanceNote = (String) xpath.evaluate(provenanceNoteQuery, doc, XPathConstants.STRING);
}

From source file:nz.govt.natlib.ndha.wctdpsdepositor.extractor.XPathWctMetsExtractor.java

private void populateCopyrightStatement(Document doc, XPath xpath) throws XPathExpressionException {
    copyrightStatement = (String) xpath.evaluate(copyrightStatementQuery, doc, XPathConstants.STRING);
}

From source file:nz.govt.natlib.ndha.wctdpsdepositor.extractor.XPathWctMetsExtractor.java

private void populateCopyrightURL(Document doc, XPath xpath) throws XPathExpressionException {
    copyrightURL = (String) xpath.evaluate(copyrightURLQuery, doc, XPathConstants.STRING);
}

From source file:nz.govt.natlib.ndha.wctdpsdepositor.extractor.XPathWctMetsExtractor.java

private void populateAccessRestrictions(Document doc, XPath xpath) throws XPathExpressionException {
    accessRestriction = (String) xpath.evaluate(accessRestrictionQuery, doc, XPathConstants.STRING);
}