Example usage for org.w3c.dom Element setAttribute

List of usage examples for org.w3c.dom Element setAttribute

Introduction

In this page you can find the example usage for org.w3c.dom Element setAttribute.

Prototype

public void setAttribute(String name, String value) throws DOMException;

Source Link

Document

Adds a new attribute.

Usage

From source file:com.msopentech.odatajclient.engine.data.impl.JSONPropertyDeserializer.java

@Override
protected JSONProperty doDeserialize(final JsonParser parser, final DeserializationContext ctxt)
        throws IOException, JsonProcessingException {

    final ObjectNode tree = (ObjectNode) parser.getCodec().readTree(parser);

    final JSONProperty property = new JSONProperty();

    if (tree.hasNonNull(ODataConstants.JSON_METADATA)) {
        property.setMetadata(URI.create(tree.get(ODataConstants.JSON_METADATA).textValue()));
        tree.remove(ODataConstants.JSON_METADATA);
    }// ww w .j a v  a 2  s  .  c  om

    try {
        final DocumentBuilder builder = XMLUtils.DOC_BUILDER_FACTORY.newDocumentBuilder();
        final Document document = builder.newDocument();

        Element content = document.createElement(ODataConstants.ELEM_PROPERTY);

        if (property.getMetadata() != null) {
            final String metadataURI = property.getMetadata().toASCIIString();
            final int dashIdx = metadataURI.lastIndexOf('#');
            if (dashIdx != -1) {
                content.setAttribute(ODataConstants.ATTR_M_TYPE, metadataURI.substring(dashIdx + 1));
            }
        }

        JsonNode subtree = null;
        if (tree.has(ODataConstants.JSON_VALUE)) {
            if (tree.has(ODataConstants.JSON_TYPE)
                    && StringUtils.isBlank(content.getAttribute(ODataConstants.ATTR_M_TYPE))) {

                content.setAttribute(ODataConstants.ATTR_M_TYPE, tree.get(ODataConstants.JSON_TYPE).asText());
            }

            final JsonNode value = tree.get(ODataConstants.JSON_VALUE);
            if (value.isValueNode()) {
                content.appendChild(document.createTextNode(value.asText()));
            } else if (EdmSimpleType.isGeospatial(content.getAttribute(ODataConstants.ATTR_M_TYPE))) {
                subtree = tree.objectNode();
                ((ObjectNode) subtree).put(ODataConstants.JSON_VALUE, tree.get(ODataConstants.JSON_VALUE));
                if (StringUtils.isNotBlank(content.getAttribute(ODataConstants.ATTR_M_TYPE))) {
                    ((ObjectNode) subtree).put(ODataConstants.JSON_VALUE + "@" + ODataConstants.JSON_TYPE,
                            content.getAttribute(ODataConstants.ATTR_M_TYPE));
                }
            } else {
                subtree = tree.get(ODataConstants.JSON_VALUE);
            }
        } else {
            subtree = tree;
        }

        if (subtree != null) {
            JSONDOMTreeUtils.buildSubtree(client, content, subtree);
        }

        final List<Node> children = XMLUtils.getChildNodes(content, Node.ELEMENT_NODE);
        if (children.size() == 1) {
            final Element value = (Element) children.iterator().next();
            if (ODataConstants.JSON_VALUE.equals(XMLUtils.getSimpleName(value))) {
                if (StringUtils.isNotBlank(content.getAttribute(ODataConstants.ATTR_M_TYPE))) {
                    value.setAttribute(ODataConstants.ATTR_M_TYPE,
                            content.getAttribute(ODataConstants.ATTR_M_TYPE));
                }
                content = value;
            }
        }

        property.setContent(content);
    } catch (ParserConfigurationException e) {
        throw new JsonParseException("Cannot build property", parser.getCurrentLocation(), e);
    }

    return property;
}

From source file:net.sf.jabref.exporter.OOCalcDatabase.java

public Document getDOMrepresentation() {
    Document result = null;//from   w  ww  . ja v a 2  s .  c o m
    try {
        DocumentBuilder dbuild = DocumentBuilderFactory.newInstance().newDocumentBuilder();
        result = dbuild.newDocument();
        Element collection = result.createElement("office:document-content");
        //collection.setAttribute("xmlns", "http://openoffice.org/2000/office");
        collection.setAttribute("xmlns:office", "http://openoffice.org/2000/office");
        collection.setAttribute("xmlns:style", "http://openoffice.org/2000/style");
        collection.setAttribute("xmlns:text", "http://openoffice.org/2000/text");
        collection.setAttribute("xmlns:table", "http://openoffice.org/2000/table");
        collection.setAttribute("xmlns:office:class", "spreadsheet");
        collection.setAttribute("xmlns:office:version", "1.0");
        collection.setAttribute("xmlns:fo", "http://www.w3.org/1999/XSL/Format");
        Element el = result.createElement("office:script");
        collection.appendChild(el);

        el = result.createElement("office:automatic-styles");
        Element el2 = result.createElement("style:style");
        el2.setAttribute("style:name", "ro1");
        el2.setAttribute("style:family", "table-row");
        Element el3 = result.createElement("style.properties");
        el3.setAttribute("style:row-height", "0.1681inch");
        el3.setAttribute("fo:break-before", "auto");
        el3.setAttribute("style:use-optimal-row-height", "true");
        el2.appendChild(el3);
        el.appendChild(el2);
        el2 = result.createElement("style:style");
        el2.setAttribute("style:name", "ta1");
        el2.setAttribute("style:family", "table");
        el2.setAttribute("style:master-page-name", "Default");
        el3 = result.createElement("style:properties");
        el3.setAttribute("table:display", "true");
        el2.appendChild(el3);
        el.appendChild(el2);
        collection.appendChild(el);

        Element body = result.createElement("office:body");
        Element table = result.createElement("table:table");
        table.setAttribute("table:name", "biblio");
        table.setAttribute("table.style-name", "ta1");

        Element row = result.createElement("table:table-row");
        row.setAttribute("table.style-name", "ro1");
        addTableCell(result, row, "Type");
        addTableCell(result, row, "ISBN");
        addTableCell(result, row, "Identifier");
        addTableCell(result, row, "Author");
        addTableCell(result, row, "Title");
        addTableCell(result, row, "Journal");
        addTableCell(result, row, "Volume");
        addTableCell(result, row, "Number");
        addTableCell(result, row, "Month");
        addTableCell(result, row, "Pages");
        addTableCell(result, row, "Year");
        addTableCell(result, row, "Address");
        addTableCell(result, row, "Note");
        addTableCell(result, row, "URL");
        addTableCell(result, row, "Booktitle");
        addTableCell(result, row, "Chapter");
        addTableCell(result, row, "Edition");
        addTableCell(result, row, "Series");
        addTableCell(result, row, "Editor");
        addTableCell(result, row, "Publisher");
        addTableCell(result, row, "ReportType");
        addTableCell(result, row, "Howpublished");
        addTableCell(result, row, "Institution");
        addTableCell(result, row, "Organization");
        addTableCell(result, row, "School");
        addTableCell(result, row, "Annote");
        addTableCell(result, row, "Assignee");
        addTableCell(result, row, "Day");
        addTableCell(result, row, "Dayfiled");
        addTableCell(result, row, "Monthfiled");
        addTableCell(result, row, "Yearfiled");
        addTableCell(result, row, "Language");
        addTableCell(result, row, "Nationality");
        addTableCell(result, row, "Revision");
        addTableCell(result, row, "Custom1");
        addTableCell(result, row, "Custom2");
        addTableCell(result, row, "Custom3");
        addTableCell(result, row, "Custom4");
        addTableCell(result, row, "Custom5");
        table.appendChild(row);

        for (BibEntry e : entries) {
            row = result.createElement("table:table-row");
            addTableCell(result, row, new GetOpenOfficeType().format(e.getType()));
            addTableCell(result, row, getField(e, "isbn"));
            addTableCell(result, row, getField(e, BibEntry.KEY_FIELD));
            addTableCell(result, row, getField(e, "author"));//new AuthorLastFirst().format(getField(e, "author")));
            addTableCell(result, row,
                    new RemoveWhitespace().format(new RemoveBrackets().format(getField(e, "title"))));
            addTableCell(result, row, getField(e, "journal"));
            addTableCell(result, row, getField(e, "volume"));
            addTableCell(result, row, getField(e, "number"));
            addTableCell(result, row, getField(e, "month"));
            addTableCell(result, row, getField(e, "pages"));
            addTableCell(result, row, getField(e, "year"));
            addTableCell(result, row, getField(e, "address"));
            addTableCell(result, row, getField(e, "note"));
            addTableCell(result, row, getField(e, "url"));
            addTableCell(result, row, getField(e, "booktitle"));
            addTableCell(result, row, getField(e, "chapter"));
            addTableCell(result, row, getField(e, "edition"));
            addTableCell(result, row, getField(e, "series"));
            addTableCell(result, row, getField(e, "editor"));//new AuthorLastFirst().format(getField(e, "editor")));
            addTableCell(result, row, getField(e, "publisher"));
            addTableCell(result, row, getField(e, "reporttype"));
            addTableCell(result, row, getField(e, "howpublished"));
            addTableCell(result, row, getField(e, "institution"));
            addTableCell(result, row, getField(e, "organization"));
            addTableCell(result, row, getField(e, "school"));
            addTableCell(result, row, getField(e, "annote"));
            addTableCell(result, row, getField(e, "assignee"));
            addTableCell(result, row, getField(e, "day"));
            addTableCell(result, row, getField(e, "dayfiled"));
            addTableCell(result, row, getField(e, "monthfiled"));
            addTableCell(result, row, getField(e, "yearfiled"));
            addTableCell(result, row, getField(e, "language"));
            addTableCell(result, row, getField(e, "nationality"));
            addTableCell(result, row, getField(e, "revision"));
            addTableCell(result, row, "");
            addTableCell(result, row, "");
            addTableCell(result, row, "");
            addTableCell(result, row, "");
            addTableCell(result, row, "");
            table.appendChild(row);
        }

        body.appendChild(table);
        collection.appendChild(body);

        result.appendChild(collection);
    } catch (Exception e) {
        LOGGER.warn("Exception caught...", e);
    }
    return result;
}

From source file:net.sf.jabref.logic.exporter.OOCalcDatabase.java

public Document getDOMrepresentation() {
    Document result = null;/*w w  w .  j  av a 2  s .  c  o m*/
    try {
        DocumentBuilder dbuild = DocumentBuilderFactory.newInstance().newDocumentBuilder();
        result = dbuild.newDocument();
        Element collection = result.createElement("office:document-content");
        //collection.setAttribute("xmlns", "http://openoffice.org/2000/office");
        collection.setAttribute("xmlns:office", "http://openoffice.org/2000/office");
        collection.setAttribute("xmlns:style", "http://openoffice.org/2000/style");
        collection.setAttribute("xmlns:text", "http://openoffice.org/2000/text");
        collection.setAttribute("xmlns:table", "http://openoffice.org/2000/table");
        collection.setAttribute("xmlns:office:class", "spreadsheet");
        collection.setAttribute("xmlns:office:version", "1.0");
        collection.setAttribute("xmlns:fo", "http://www.w3.org/1999/XSL/Format");
        Element el = result.createElement("office:script");
        collection.appendChild(el);

        el = result.createElement("office:automatic-styles");
        Element el2 = result.createElement("style:style");
        el2.setAttribute("style:name", "ro1");
        el2.setAttribute("style:family", "table-row");
        Element el3 = result.createElement("style.properties");
        el3.setAttribute("style:row-height", "0.1681inch");
        el3.setAttribute("fo:break-before", "auto");
        el3.setAttribute("style:use-optimal-row-height", "true");
        el2.appendChild(el3);
        el.appendChild(el2);
        el2 = result.createElement("style:style");
        el2.setAttribute("style:name", "ta1");
        el2.setAttribute("style:family", "table");
        el2.setAttribute("style:master-page-name", "Default");
        el3 = result.createElement("style:properties");
        el3.setAttribute("table:display", "true");
        el2.appendChild(el3);
        el.appendChild(el2);
        collection.appendChild(el);

        Element body = result.createElement("office:body");
        Element table = result.createElement("table:table");
        table.setAttribute("table:name", "biblio");
        table.setAttribute("table.style-name", "ta1");

        Element row = result.createElement("table:table-row");
        row.setAttribute("table.style-name", "ro1");
        addTableCell(result, row, "Type");
        addTableCell(result, row, "ISBN");
        addTableCell(result, row, "Identifier");
        addTableCell(result, row, "Author");
        addTableCell(result, row, "Title");
        addTableCell(result, row, "Journal");
        addTableCell(result, row, "Volume");
        addTableCell(result, row, "Number");
        addTableCell(result, row, "Month");
        addTableCell(result, row, "Pages");
        addTableCell(result, row, "Year");
        addTableCell(result, row, "Address");
        addTableCell(result, row, "Note");
        addTableCell(result, row, "URL");
        addTableCell(result, row, "Booktitle");
        addTableCell(result, row, "Chapter");
        addTableCell(result, row, "Edition");
        addTableCell(result, row, "Series");
        addTableCell(result, row, "Editor");
        addTableCell(result, row, "Publisher");
        addTableCell(result, row, "ReportType");
        addTableCell(result, row, "Howpublished");
        addTableCell(result, row, "Institution");
        addTableCell(result, row, "Organization");
        addTableCell(result, row, "School");
        addTableCell(result, row, "Annote");
        addTableCell(result, row, "Assignee");
        addTableCell(result, row, "Day");
        addTableCell(result, row, "Dayfiled");
        addTableCell(result, row, "Monthfiled");
        addTableCell(result, row, "Yearfiled");
        addTableCell(result, row, "Language");
        addTableCell(result, row, "Nationality");
        addTableCell(result, row, "Revision");
        addTableCell(result, row, "Custom1");
        addTableCell(result, row, "Custom2");
        addTableCell(result, row, "Custom3");
        addTableCell(result, row, "Custom4");
        addTableCell(result, row, "Custom5");
        table.appendChild(row);

        for (BibEntry e : entries) {
            row = result.createElement("table:table-row");
            addTableCell(result, row, new GetOpenOfficeType().format(e.getType()));
            addTableCell(result, row, getField(e, FieldName.ISBN));
            addTableCell(result, row, getField(e, BibEntry.KEY_FIELD));
            addTableCell(result, row, getField(e, FieldName.AUTHOR));//new AuthorLastFirst().format(getField(e, FieldName.AUTHOR_FIELD)));
            addTableCell(result, row,
                    new RemoveWhitespace().format(new RemoveBrackets().format(getField(e, FieldName.TITLE))));
            addTableCell(result, row, getField(e, FieldName.JOURNAL));
            addTableCell(result, row, getField(e, FieldName.VOLUME));
            addTableCell(result, row, getField(e, FieldName.NUMBER));
            addTableCell(result, row, getField(e, FieldName.MONTH));
            addTableCell(result, row, getField(e, FieldName.PAGES));
            addTableCell(result, row, getField(e, FieldName.YEAR));
            addTableCell(result, row, getField(e, "address"));
            addTableCell(result, row, getField(e, "note"));
            addTableCell(result, row, getField(e, FieldName.URL));
            addTableCell(result, row, getField(e, "booktitle"));
            addTableCell(result, row, getField(e, "chapter"));
            addTableCell(result, row, getField(e, "edition"));
            addTableCell(result, row, getField(e, "series"));
            addTableCell(result, row, getField(e, FieldName.EDITOR));//new AuthorLastFirst().format(getField(e, FieldName.EDITOR_FIELD)));
            addTableCell(result, row, getField(e, FieldName.PUBLISHER));
            addTableCell(result, row, getField(e, "reporttype"));
            addTableCell(result, row, getField(e, "howpublished"));
            addTableCell(result, row, getField(e, "institution"));
            addTableCell(result, row, getField(e, "organization"));
            addTableCell(result, row, getField(e, "school"));
            addTableCell(result, row, getField(e, "annote"));
            addTableCell(result, row, getField(e, "assignee"));
            addTableCell(result, row, getField(e, "day"));
            addTableCell(result, row, getField(e, "dayfiled"));
            addTableCell(result, row, getField(e, "monthfiled"));
            addTableCell(result, row, getField(e, "yearfiled"));
            addTableCell(result, row, getField(e, "language"));
            addTableCell(result, row, getField(e, "nationality"));
            addTableCell(result, row, getField(e, "revision"));
            addTableCell(result, row, "");
            addTableCell(result, row, "");
            addTableCell(result, row, "");
            addTableCell(result, row, "");
            addTableCell(result, row, "");
            table.appendChild(row);
        }

        body.appendChild(table);
        collection.appendChild(body);

        result.appendChild(collection);
    } catch (Exception e) {
        LOGGER.warn("Exception caught...", e);
    }
    return result;
}

From source file:org.coronastreet.gpxconverter.Converter.java

private Element createTrackPointElement(Trkpt tp) {

    Element eTrackpoint = outDoc.createElement("Trackpoint");

    //create time element and time text node and attach it to the trackpoint
    Element eTime = outDoc.createElement("Time");
    eTime.appendChild(outDoc.createTextNode(tp.getTime()));
    eTrackpoint.appendChild(eTime);//from   w  w w .  ja  v a  2s  .c om

    //create elevation element and elevation text node and attach it to the trackpoint
    Element eElevation = outDoc.createElement("AltitudeMeters");
    eElevation.appendChild(outDoc.createTextNode(tp.getElevation()));
    eTrackpoint.appendChild(eElevation);

    //create Speed Sensor element and attach it to the Trackpoint
    Element eSensorState = outDoc.createElement("SensorState");
    eSensorState.appendChild(outDoc.createTextNode("Absent"));
    eTrackpoint.appendChild(eSensorState);

    // Create Lat/Long and add them to Position
    Element ePosition = outDoc.createElement("Position");
    Element eLatitudeDegrees = outDoc.createElement("LatitudeDegrees");
    eLatitudeDegrees.appendChild(outDoc.createTextNode(tp.getLat()));
    Element eLongitudeDegrees = outDoc.createElement("LongitudeDegrees");
    eLongitudeDegrees.appendChild(outDoc.createTextNode(tp.getLon()));
    ePosition.appendChild(eLongitudeDegrees);
    ePosition.appendChild(eLatitudeDegrees);
    eTrackpoint.appendChild(ePosition);

    //create HeartRate and add it to the Trackpoint
    Element eHR = outDoc.createElement("HeartRateBpm");
    eHR.setAttribute("xsi:type", "HeartRateInBeatsPerMinute_t");
    Element eHRValue = outDoc.createElement("Value");
    eHRValue.appendChild(outDoc.createTextNode(tp.getHr()));
    eHR.appendChild(eHRValue);
    eTrackpoint.appendChild(eHR);

    //create Cadence element text node and add it to the Trackpoint
    Element eCad = outDoc.createElement("Cadence");
    eCad.appendChild(outDoc.createTextNode(tp.getCad()));
    eTrackpoint.appendChild(eCad);

    return eTrackpoint;

}

From source file:at.gv.egovernment.moa.id.auth.validator.parep.client.szrgw.SZRGWClient.java

/**
 * Gets a identity link.//from  www .j a v a2s.  com
 * 
 * @param reqElem the request.
 * @return a SZR-gateway response containing the result
 * @throws SZRGWException when an error occurs creating the mandate.
 */
public CreateIdentityLinkResponse createIdentityLinkResponse(Element reqElem) throws SZRGWClientException {

    try {
        if (address == null) {
            throw new NullPointerException("Address (SZR-gateway ServiceURL) must not be null.");
        }
        HttpClient client = new HttpClient();
        PostMethod method = new PostMethod(address);
        method.setRequestHeader("SOAPAction", "");

        // ssl settings
        if (sSLSocketFactory != null) {
            SZRGWSecureSocketFactory fac = new SZRGWSecureSocketFactory(sSLSocketFactory);
            Protocol.registerProtocol("https", new Protocol("https", fac, 443));
        }

        // create soap body
        Element soapBody = getSOAPBody();
        Document doc = soapBody.getOwnerDocument();
        soapBody.appendChild(doc.importNode(reqElem, true));
        Element requestElement = soapBody.getOwnerDocument().getDocumentElement();

        //ParepUtils.saveElementToFile(requestElement, new File("c:/temp/szrRequest.xml"));
        ByteArrayOutputStream bos = new ByteArrayOutputStream();
        ParepUtils.serializeElementAsDocument(requestElement, bos);

        method.setRequestBody(new ByteArrayInputStream(bos.toByteArray()));
        client.executeMethod(method);
        CreateIdentityLinkResponse response = new CreateIdentityLinkResponse();

        bos = new ByteArrayOutputStream();
        doc = ParepUtils.readDocFromIs(method.getResponseBodyAsStream());
        //ParepUtils.saveElementToFile(doc.getDocumentElement(), new File("c:/temp/szrResponse.xml"));

        NodeList list = doc.getElementsByTagNameNS(SZRGWConstants.SZRGW_REQUEST_NS, "ErrorResponse");
        if (list.getLength() > 0) {
            // set error response
            list = doc.getElementsByTagNameNS(SZRGWConstants.SZRGW_REQUEST_NS, "Info");
            String error = DOMUtils.getText(list.item(0));

            response.setError(error);
        } else {
            // set assertion
            DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
            Document newdoc = builder.newDocument();

            Element nameSpaceNode = newdoc.createElement("NameSpaceNode");
            nameSpaceNode.setAttribute("xmlns:" + Constants.DSIG_PREFIX, Constants.DSIG_NS_URI);
            nameSpaceNode.setAttribute("xmlns:" + Constants.SAML_PREFIX, Constants.SAML_NS_URI);

            Element samlAssertion = (Element) XPathAPI.selectSingleNode(doc, "//saml:Assertion[1]",
                    nameSpaceNode);

            if (samlAssertion == null)
                throw new SZRGWClientException("Could not found a saml:Assertion element in response.");
            else
                response.setAssertion(samlAssertion);
        }

        return response;

    } catch (Exception e) {
        throw new SZRGWClientException(e);
    }
}

From source file:jp.co.opentone.bsol.framework.core.generator.excel.strategy.XmlWorkbookGeneratorStrategy.java

/**
 * ??./* ww w .j a  v a2s .  c  o  m*/
 * @param context Excel???
 * @param doc DOM Document
 * @return 
 */
private Element createWorksheet(WorkbookGeneratorContext context, Document doc) {
    Element e = doc.createElement("Worksheet");
    e.setAttribute("ss:Name", context.sheetName);

    return e;
}

From source file:com.redhat.rcm.maven.plugin.buildmetadata.io.SdocBuilder.java

private Element createDocRoot() throws DOMException {
    final Element docRoot = document.createElement("buildmetadata");
    docRoot.setAttribute("xmlns:xsi", XML_SCHEMA_INSTANCE);
    docRoot.setAttribute("xmlns", CODE_URI);
    docRoot.setAttribute("xsi:schemaLocation", CODE_URI + ' ' + CODE_URI);
    document.appendChild(docRoot);/*from   www. j  ava 2 s  .com*/
    return docRoot;
}

From source file:de.codesourcery.jasm16.emulator.EmulationOptions.java

public void saveEmulationOptions(Element element, Document document) {

    if (isEnableDebugOutput()) {
        element.setAttribute("debug", "true");
    }//from  www .  j a  v a 2  s.  com
    if (isIgnoreAccessToUnknownDevices()) {
        element.setAttribute("ignoreAccessToUnknownDevices", "true");
    }
    if (isMapFontRamUponAddDevice()) {
        element.setAttribute("mapFontRamUponAddDevice", "true");
    }
    if (isMapVideoRamUponAddDevice()) {
        element.setAttribute("mapVideoRamUponAddDevice", "true");
    }
    if (isMemoryProtectionEnabled()) {
        element.setAttribute("memoryProtectionEnabled", "true");
    }
    if (isUseLegacyKeyboardBuffer()) {
        element.setAttribute("useLegacyKeyboardBuffer", "true");
    }
    if (isRunFloppyAtFullSpeed()) {
        element.setAttribute("runFloppyAtFullSpeed", "true");
    }
    if (isCrashOnStoreWithImmediate()) {
        element.setAttribute("crashOnStoreWithImmediate", "true");
    }

    element.setAttribute("emulationSpeed", emulationSpeedToString(this.emulationSpeed));

    if (getInsertedDisk() != null) {
        final Element disks = document.createElement("disks");
        element.appendChild(disks);

        final Element disk = document.createElement("disk");
        disks.appendChild(disk);

        disk.setAttribute("writeProtected", getInsertedDisk().isWriteProtected() ? "true" : "false");
        disk.setAttribute("file", getInsertedDisk().getFile().getAbsolutePath());
    }
}

From source file:net.sf.jabref.exporter.OpenDocumentRepresentation.java

public Document getDOMrepresentation() {
    Document result = null;/* www .  ja  va  2 s. c  o  m*/
    try {
        DocumentBuilder dbuild = DocumentBuilderFactory.newInstance().newDocumentBuilder();
        result = dbuild.newDocument();
        Element collection = result.createElement("office:document-content");
        //collection.setAttribute("xmlns", "http://openoffice.org/2000/office");
        collection.setAttribute("xmlns:office", "urn:oasis:names:tc:opendocument:xmlns:office:1.0");
        collection.setAttribute("xmlns:style", "urn:oasis:names:tc:opendocument:xmlns:style:1.0");
        collection.setAttribute("xmlns:text", "urn:oasis:names:tc:opendocument:xmlns:text:1.0");
        collection.setAttribute("xmlns:table", "urn:oasis:names:tc:opendocument:xmlns:table:1.0");
        collection.setAttribute("xmlns:meta", "urn:oasis:names:tc:opendocument:xmlns:meta:1.0");
        collection.setAttribute("office:version", "1.0");
        collection.setAttribute("xmlns:fo", "urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0");
        collection.setAttribute("xmlns:xlink", "http://www.w3.org/1999/xlink");
        Element el = result.createElement("office:scripts");
        collection.appendChild(el);

        el = result.createElement("office:automatic-styles");
        Element el2 = result.createElement("style:style");
        el2.setAttribute("style:name", "ro1");
        el2.setAttribute("style:family", "table-row");
        Element el3 = result.createElement("style.table-row-properties");
        el3.setAttribute("style:row-height", "0.1681inch");
        el3.setAttribute("fo:break-before", "auto");
        el3.setAttribute("style:use-optimal-row-height", "true");
        el2.appendChild(el3);
        el.appendChild(el2);
        el2 = result.createElement("style:style");
        el2.setAttribute("style:name", "ta1");
        el2.setAttribute("style:family", "table");
        el2.setAttribute("style:master-page-name", "Default");
        el3 = result.createElement("style:properties");
        el3.setAttribute("table:display", "true");
        el2.appendChild(el3);
        el.appendChild(el2);
        collection.appendChild(el);

        Element body = result.createElement("office:body");
        Element spreadsheet = result.createElement("office:spreadsheet");
        Element table = result.createElement("table:table");
        table.setAttribute("table:name", "biblio");
        table.setAttribute("table.style-name", "ta1");

        Element row = result.createElement("table:table-row");
        row.setAttribute("table.style-name", "ro1");
        addTableCell(result, row, "Identifier");
        addTableCell(result, row, "Type");
        addTableCell(result, row, "Address");
        addTableCell(result, row, "Assignee");
        addTableCell(result, row, "Annote");
        addTableCell(result, row, "Author");
        addTableCell(result, row, "Booktitle");
        addTableCell(result, row, "Chapter");
        addTableCell(result, row, "Day");
        addTableCell(result, row, "Dayfiled");
        addTableCell(result, row, "Edition");
        addTableCell(result, row, "Editor");
        addTableCell(result, row, "Howpublish");
        addTableCell(result, row, "Institution");
        addTableCell(result, row, "Journal");
        addTableCell(result, row, "Language");
        addTableCell(result, row, "Month");
        addTableCell(result, row, "Monthfiled");
        addTableCell(result, row, "Nationality");
        addTableCell(result, row, "Note");
        addTableCell(result, row, "Number");
        addTableCell(result, row, "Organization");
        addTableCell(result, row, "Pages");
        addTableCell(result, row, "Publisher");
        addTableCell(result, row, "Revision");
        addTableCell(result, row, "School");
        addTableCell(result, row, "Series");
        addTableCell(result, row, "Title");
        addTableCell(result, row, "RepType");
        addTableCell(result, row, "Volume");
        addTableCell(result, row, "Year");
        addTableCell(result, row, "Yearfiled");
        addTableCell(result, row, "URL");
        addTableCell(result, row, "Custom1");
        addTableCell(result, row, "Custom2");
        addTableCell(result, row, "Custom3");
        addTableCell(result, row, "Custom4");
        addTableCell(result, row, "Custom5");
        addTableCell(result, row, "ISBN");
        table.appendChild(row);

        for (BibEntry e : entries) {
            row = result.createElement("table:table-row");
            addTableCell(result, row, getField(e, BibEntry.KEY_FIELD));
            addTableCell(result, row, new GetOpenOfficeType().format(e.getType()));
            addTableCell(result, row, getField(e, "address"));
            addTableCell(result, row, getField(e, "assignee"));
            addTableCell(result, row, getField(e, "annote"));
            addTableCell(result, row, getField(e, "author"));//new AuthorLastFirst().format(getField(e, "author")));
            addTableCell(result, row, getField(e, "booktitle"));
            addTableCell(result, row, getField(e, "chapter"));
            addTableCell(result, row, getField(e, "day"));
            addTableCell(result, row, getField(e, "dayfiled"));
            addTableCell(result, row, getField(e, "edition"));
            addTableCell(result, row, getField(e, "editor"));//new AuthorLastFirst().format(getField(e, "editor")));
            addTableCell(result, row, getField(e, "howpublished"));
            addTableCell(result, row, getField(e, "institution"));
            addTableCell(result, row, getField(e, "journal"));
            addTableCell(result, row, getField(e, "language"));
            addTableCell(result, row, getField(e, "month"));
            addTableCell(result, row, getField(e, "monthfiled"));
            addTableCell(result, row, getField(e, "nationality"));
            addTableCell(result, row, getField(e, "note"));
            addTableCell(result, row, getField(e, "number"));
            addTableCell(result, row, getField(e, "organization"));
            addTableCell(result, row, getField(e, "pages"));
            addTableCell(result, row, getField(e, "publisher"));
            addTableCell(result, row, getField(e, "revision"));
            addTableCell(result, row, getField(e, "school"));
            addTableCell(result, row, getField(e, "series"));
            addTableCell(result, row,
                    new RemoveWhitespace().format(new RemoveBrackets().format(getField(e, "title"))));
            addTableCell(result, row, getField(e, "reporttype"));
            addTableCell(result, row, getField(e, "volume"));
            addTableCell(result, row, getField(e, "year"));
            addTableCell(result, row, getField(e, "yearfiled"));
            addTableCell(result, row, getField(e, "url"));
            addTableCell(result, row, "");
            addTableCell(result, row, "");
            addTableCell(result, row, "");
            addTableCell(result, row, "");
            addTableCell(result, row, "");
            addTableCell(result, row, getField(e, "isbn"));
            table.appendChild(row);
        }

        spreadsheet.appendChild(table);
        body.appendChild(spreadsheet);
        collection.appendChild(body);

        result.appendChild(collection);
    } catch (Exception e) {
        LOGGER.warn("Exception caught...", e);
    }
    return result;
}

From source file:net.sf.jabref.logic.exporter.OpenDocumentRepresentation.java

public Document getDOMrepresentation() {
    Document result = null;/*from w  ww .  j  a va2 s  .  c  om*/
    try {
        DocumentBuilder dbuild = DocumentBuilderFactory.newInstance().newDocumentBuilder();
        result = dbuild.newDocument();
        Element collection = result.createElement("office:document-content");
        //collection.setAttribute("xmlns", "http://openoffice.org/2000/office");
        collection.setAttribute("xmlns:office", "urn:oasis:names:tc:opendocument:xmlns:office:1.0");
        collection.setAttribute("xmlns:style", "urn:oasis:names:tc:opendocument:xmlns:style:1.0");
        collection.setAttribute("xmlns:text", "urn:oasis:names:tc:opendocument:xmlns:text:1.0");
        collection.setAttribute("xmlns:table", "urn:oasis:names:tc:opendocument:xmlns:table:1.0");
        collection.setAttribute("xmlns:meta", "urn:oasis:names:tc:opendocument:xmlns:meta:1.0");
        collection.setAttribute("office:version", "1.0");
        collection.setAttribute("xmlns:fo", "urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0");
        collection.setAttribute("xmlns:xlink", "http://www.w3.org/1999/xlink");
        Element el = result.createElement("office:scripts");
        collection.appendChild(el);

        el = result.createElement("office:automatic-styles");
        Element el2 = result.createElement("style:style");
        el2.setAttribute("style:name", "ro1");
        el2.setAttribute("style:family", "table-row");
        Element el3 = result.createElement("style.table-row-properties");
        el3.setAttribute("style:row-height", "0.1681inch");
        el3.setAttribute("fo:break-before", "auto");
        el3.setAttribute("style:use-optimal-row-height", "true");
        el2.appendChild(el3);
        el.appendChild(el2);
        el2 = result.createElement("style:style");
        el2.setAttribute("style:name", "ta1");
        el2.setAttribute("style:family", "table");
        el2.setAttribute("style:master-page-name", "Default");
        el3 = result.createElement("style:properties");
        el3.setAttribute("table:display", "true");
        el2.appendChild(el3);
        el.appendChild(el2);
        collection.appendChild(el);

        Element body = result.createElement("office:body");
        Element spreadsheet = result.createElement("office:spreadsheet");
        Element table = result.createElement("table:table");
        table.setAttribute("table:name", "biblio");
        table.setAttribute("table.style-name", "ta1");

        Element row = result.createElement("table:table-row");
        row.setAttribute("table.style-name", "ro1");
        addTableCell(result, row, "Identifier");
        addTableCell(result, row, "Type");
        addTableCell(result, row, "Address");
        addTableCell(result, row, "Assignee");
        addTableCell(result, row, "Annote");
        addTableCell(result, row, "Author");
        addTableCell(result, row, "Booktitle");
        addTableCell(result, row, "Chapter");
        addTableCell(result, row, "Day");
        addTableCell(result, row, "Dayfiled");
        addTableCell(result, row, "Edition");
        addTableCell(result, row, "Editor");
        addTableCell(result, row, "Howpublish");
        addTableCell(result, row, "Institution");
        addTableCell(result, row, "Journal");
        addTableCell(result, row, "Language");
        addTableCell(result, row, "Month");
        addTableCell(result, row, "Monthfiled");
        addTableCell(result, row, "Nationality");
        addTableCell(result, row, "Note");
        addTableCell(result, row, "Number");
        addTableCell(result, row, "Organization");
        addTableCell(result, row, "Pages");
        addTableCell(result, row, "Publisher");
        addTableCell(result, row, "Revision");
        addTableCell(result, row, "School");
        addTableCell(result, row, "Series");
        addTableCell(result, row, "Title");
        addTableCell(result, row, "RepType");
        addTableCell(result, row, "Volume");
        addTableCell(result, row, "Year");
        addTableCell(result, row, "Yearfiled");
        addTableCell(result, row, "URL");
        addTableCell(result, row, "Custom1");
        addTableCell(result, row, "Custom2");
        addTableCell(result, row, "Custom3");
        addTableCell(result, row, "Custom4");
        addTableCell(result, row, "Custom5");
        addTableCell(result, row, "ISBN");
        table.appendChild(row);

        for (BibEntry e : entries) {
            row = result.createElement("table:table-row");
            addTableCell(result, row, getField(e, BibEntry.KEY_FIELD));
            addTableCell(result, row, new GetOpenOfficeType().format(e.getType()));
            addTableCell(result, row, getField(e, "address"));
            addTableCell(result, row, getField(e, "assignee"));
            addTableCell(result, row, getField(e, "annote"));
            addTableCell(result, row, getField(e, FieldName.AUTHOR));//new AuthorLastFirst().format(getField(e, FieldName.AUTHOR_FIELD)));
            addTableCell(result, row, getField(e, "booktitle"));
            addTableCell(result, row, getField(e, "chapter"));
            addTableCell(result, row, getField(e, "day"));
            addTableCell(result, row, getField(e, "dayfiled"));
            addTableCell(result, row, getField(e, "edition"));
            addTableCell(result, row, getField(e, FieldName.EDITOR));//new AuthorLastFirst().format(getField(e, FieldName.EDITOR_FIELD)));
            addTableCell(result, row, getField(e, "howpublished"));
            addTableCell(result, row, getField(e, "institution"));
            addTableCell(result, row, getField(e, FieldName.JOURNAL));
            addTableCell(result, row, getField(e, "language"));
            addTableCell(result, row, getField(e, FieldName.MONTH));
            addTableCell(result, row, getField(e, "monthfiled"));
            addTableCell(result, row, getField(e, "nationality"));
            addTableCell(result, row, getField(e, "note"));
            addTableCell(result, row, getField(e, FieldName.NUMBER));
            addTableCell(result, row, getField(e, "organization"));
            addTableCell(result, row, getField(e, FieldName.PAGES));
            addTableCell(result, row, getField(e, FieldName.PUBLISHER));
            addTableCell(result, row, getField(e, "revision"));
            addTableCell(result, row, getField(e, "school"));
            addTableCell(result, row, getField(e, "series"));
            addTableCell(result, row,
                    new RemoveWhitespace().format(new RemoveBrackets().format(getField(e, FieldName.TITLE))));
            addTableCell(result, row, getField(e, "reporttype"));
            addTableCell(result, row, getField(e, FieldName.VOLUME));
            addTableCell(result, row, getField(e, FieldName.YEAR));
            addTableCell(result, row, getField(e, "yearfiled"));
            addTableCell(result, row, getField(e, FieldName.URL));
            addTableCell(result, row, "");
            addTableCell(result, row, "");
            addTableCell(result, row, "");
            addTableCell(result, row, "");
            addTableCell(result, row, "");
            addTableCell(result, row, getField(e, FieldName.ISBN));
            table.appendChild(row);
        }

        spreadsheet.appendChild(table);
        body.appendChild(spreadsheet);
        collection.appendChild(body);

        result.appendChild(collection);
    } catch (Exception e) {
        LOGGER.warn("Exception caught...", e);
    }
    return result;
}