DOMHelper.java Source code

Java tutorial

Introduction

Here is the source code for DOMHelper.java

Source

/*
 * XAdES4j - A Java library for generation and verification of XAdES signatures.
 * Copyright (C) 2010 Luis Goncalves.
 *
 * XAdES4j is free software; you can redistribute it and/or modify it under
 * the terms of the GNU Lesser General Public License as published by the Free
 * Software Foundation; either version 3 of the License, or any later version.
 *
 * XAdES4j is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
 * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
 * details.
 *
 * You should have received a copy of the GNU Lesser General Public License along
 * with XAdES4j. If not, see <http://www.gnu.org/licenses/>.
 */
//package xades4j.utils;

import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;

import org.w3c.dom.Document;
import org.w3c.dom.Element;

/**
 * Utility methods for DOM nodes.
 * 
 * @author Lus
 */
public class DOMHelper {
    /**
     * Creates an element on the given document. Exceptions are as in
     * {@link Document#createElementNS(java.lang.String, java.lang.String)}. The
     * qualified name is obtained by {@code prefix}:{@code name} if the prefix
     * is not {@code null}.
     * 
     * @param doc
     *            the owner document
     * @param name
     *            the element's local name
     * @param prefix
     *            the element's prefix (may be {@code null})
     * @param namespaceURI
     *            the element's uri ({@code null} for no namespace)
     * @return the created element
     * 
     * @see Document#createElementNS(java.lang.String, java.lang.String)
     */
    public static Element createElement(Document doc, String name, String prefix, String namespaceURI) {
        if (prefix != null)
            name = prefix + ":" + name;
        return doc.createElementNS(namespaceURI, name);
    }

    public static Element createElementInTempDocument(String name, String prefix, String namespaceURI) {
        DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
        dbf.setNamespaceAware(true);
        try {
            Document doc = dbf.newDocumentBuilder().newDocument();
            return createElement(doc, name, prefix, namespaceURI);
        } catch (ParserConfigurationException ex) {
            return null;
        }
    }

}