Class DomUtils


  • public final class DomUtils
    extends Object
    • Field Detail

      • TRANSFORMER_INDENT_NUMBER

        public static final int TRANSFORMER_INDENT_NUMBER
        See Also:
        Constant Field Values
    • Method Detail

      • registerNamespace

        public static boolean registerNamespace​(String prefix,
                                                String namespace)
        This method allows to register a namespace and associated prefix. If the prefix exists already it is replaced.
        Parameters:
        prefix - namespace prefix
        namespace - namespace
        Returns:
        true if this map did not already contain the specified element
      • getSecureTransformerFactory

        public static TransformerFactory getSecureTransformerFactory()
        This method returns a new instance of TransformerFactory with secured features enabled
        Returns:
        an instance of TransformerFactory with enabled secure features
      • getSecureTransformer

        public static Transformer getSecureTransformer()
        This method returns a new instance of Transformer with secured features enabled
        Returns:
        an instance of Transformer with enabled secure features
      • buildDOM

        public static Document buildDOM()
        Creates the new empty Document.
        Returns:
        a new empty Document
      • buildDOM

        public static Document buildDOM​(String xmlString)
        This method returns the Document created based on the XML string.
        Parameters:
        xmlString - The string representing the dssDocument to be created.
        Returns:
        a new Document with the xmlString content
      • buildDOM

        public static Document buildDOM​(byte[] bytes)
        This method returns the Document created based on byte array.
        Parameters:
        bytes - The bytes array representing the dssDocument to be created.
        Returns:
        a new Document with the bytes content
      • buildDOM

        public static Document buildDOM​(DSSDocument dssDocument)
        This method returns the Document created based on the DSSDocument.
        Parameters:
        dssDocument - The DSS representation of the document from which the dssDocument is created.
        Returns:
        a new Document from DSSDocument
      • isDOM

        public static boolean isDOM​(byte[] bytes)
        This method returns true if the binaries contains a Document
        Parameters:
        bytes - the binaries to be tested
        Returns:
        true if the binaries is a XML
      • buildDOM

        public static Document buildDOM​(InputStream inputStream)
        This method returns the Document created based on the XML inputStream.
        Parameters:
        inputStream - The inputStream stream representing the dssDocument to be created.
        Returns:
        a new Document from InputStream @
      • addElement

        public static Element addElement​(Document document,
                                         Element parentDom,
                                         String namespace,
                                         String name)
        This method creates and adds a new XML Element
        Parameters:
        document - root document
        parentDom - parent node
        namespace - namespace
        name - element name
        Returns:
        added element
      • createXPathExpression

        public static XPathExpression createXPathExpression​(String xpathString)
        This method creates a new instance of XPathExpression with the given xpath expression
        Parameters:
        xpathString - XPath query string
        Returns:
        an instance of XPathExpression for the given xpathString @ if
      • getValue

        public static String getValue​(Node xmlNode,
                                      String xPathString)
        Returns the String value of the corresponding to the XPath query.
        Parameters:
        xmlNode - The node where the search should be performed.
        xPathString - XPath query string
        Returns:
        string value of the XPath query
      • getNodeList

        public static NodeList getNodeList​(Node xmlNode,
                                           String xPathString)
        Returns the NodeList corresponding to the XPath query.
        Parameters:
        xmlNode - The node where the search should be performed.
        xPathString - XPath query string
        Returns:
        the NodeList corresponding to the XPath query
      • getNode

        public static Node getNode​(Node xmlNode,
                                   String xPathString)
        Returns the Node corresponding to the XPath query.
        Parameters:
        xmlNode - The node where the search should be performed.
        xPathString - XPath query string
        Returns:
        the Node corresponding to the XPath query.
      • getElement

        public static Element getElement​(Node xmlNode,
                                         String xPathString)
        Returns the Element corresponding to the XPath query.
        Parameters:
        xmlNode - The node where the search should be performed.
        xPathString - XPath query string
        Returns:
        the Element corresponding to the XPath query
      • isNotEmpty

        public static boolean isNotEmpty​(Node xmlNode,
                                         String xPathString)
        Returns true if the xpath query contains something
        Parameters:
        xmlNode - the current node
        xPathString - the expected child node
        Returns:
        true if the current node has any filled child node
      • addTextElement

        public static Element addTextElement​(Document document,
                                             Element parentDom,
                                             String namespace,
                                             String name,
                                             String value)
        This method creates and adds a new XML Element with text value
        Parameters:
        document - root document
        parentDom - parent node
        namespace - namespace
        name - element name
        value - element text node value
        Returns:
        added element
      • setTextNode

        public static void setTextNode​(Document document,
                                       Element parentDom,
                                       String text)
        This method sets a text node to the given DOM element.
        Parameters:
        document - root document
        parentDom - parent node
        text - text to be added
      • createXMLGregorianCalendar

        public static XMLGregorianCalendar createXMLGregorianCalendar​(Date date)
        Converts a given Date to a new XMLGregorianCalendar.
        Parameters:
        date - the date to be converted
        Returns:
        the new XMLGregorianCalendar or null
      • getDate

        public static Date getDate​(String text)
        This method allows to convert the given text (XML representation of a date) to the Date.
        Parameters:
        text - the text representing the XML date
        Returns:
        Date converted or null
      • getChildrenNames

        public static List<String> getChildrenNames​(Node xmlNode,
                                                    String xPathString)
        This method returns the list of children's names for a given Node.
        Parameters:
        xmlNode - The node where the search should be performed.
        xPathString - XPath query string
        Returns:
        List of children's names
      • writeDocumentTo

        public static void writeDocumentTo​(Document dom,
                                           OutputStream os)
        This method writes the Document content to an outputStream
        Parameters:
        dom - the Document to be writed
        os - the OutputStream @ if any error occurred
      • createDssDocumentFromDomDocument

        public static DSSDocument createDssDocumentFromDomDocument​(Document document,
                                                                   String name)
        This method creates a new InMemoryDocument with the Document content and the given name
        Parameters:
        document - the Document to store
        name - the ouput filename
        Returns:
        a new instance of InMemoryDocument with the XML and the given filename
      • xmlToString

        public static String xmlToString​(Node node)
        This method allows to convert an XML Node to a String.
        Parameters:
        node - Node to be converted
        Returns:
        String representation of the node
      • getCurrentNamespaces

        public static Map<String,​String> getCurrentNamespaces()
        This method returns stored namespace definitions
        Returns:
        a map with the prefix and the related URI
      • getXPathByIdAttribute

        public static String getXPathByIdAttribute​(String uri)
        Returns case-insensitive xPath expression
        Parameters:
        uri - to find
        Returns:
        String xPath expression
      • isElementReference

        public static boolean isElementReference​(String uri)
        Returns TRUE if the provided uri refers to an element in the signature
        Parameters:
        uri - String to be checked
        Returns:
        TRUE if uri is referred to an element, FALSE otherwise
      • isXPointerQuery

        public static boolean isXPointerQuery​(String uriValue)
        Indicates if the given URI is an XPointer query.
        Parameters:
        uriValue - URI to be analysed
        Returns:
        true if it is an XPointer query