Package groovy.xml

## Class XmlUtil

- java.lang.Object
- - groovy.xml.XmlUtil

-     public class XmlUtil
      extends Object

  Used for pretty printing XML content and other XML related utilities.

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `XmlUtil()` |

  - ### Method Summary

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `static String` | `escapeControlCharacters​(String orig)` | Escape control characters (below 0x20) with their XML entities, e.g.
    `static String` | `escapeXml​(String orig)` | Escape the following characters `" ' & < >` with their XML entities, e.g.
    `static SAXParser` | `newSAXParser​(String schemaLanguage, boolean namespaceAware, boolean validating, File schema)` | Factory method to create a SAXParser configured to validate according to a particular schema language and a File containing the schema to validate against.
    `static SAXParser` | `newSAXParser​(String schemaLanguage, boolean namespaceAware, boolean validating, URL schema)` | Factory method to create a SAXParser configured to validate according to a particular schema language and an URL pointing to the schema to validate against.
    `static SAXParser` | `newSAXParser​(String schemaLanguage, boolean namespaceAware, boolean validating, Source... schemas)` | Factory method to create a SAXParser configured to validate according to a particular schema language and optionally providing the schema sources to validate with.
    `static SAXParser` | `newSAXParser​(String schemaLanguage, File schema)` | Factory method to create a SAXParser configured to validate according to a particular schema language and a File containing the schema to validate against.
    `static SAXParser` | `newSAXParser​(String schemaLanguage, URL schema)` | Factory method to create a SAXParser configured to validate according to a particular schema language and an URL pointing to the schema to validate against.
    `static SAXParser` | `newSAXParser​(String schemaLanguage, Source... schemas)` | Factory method to create a SAXParser configured to validate according to a particular schema language and optionally providing the schema sources to validate with.
    `static String` | `serialize​(Writable writable)` | Return a pretty String version of the XML content produced by the Writable.
    `static void` | `serialize​(Writable writable, OutputStream os)` | Write a pretty version of the XML content produced by the Writable to the OutputStream.
    `static void` | `serialize​(Writable writable, Writer w)` | Write a pretty version of the XML content produced by the Writable to the Writer.
    `static String` | `serialize​(Node node)` | Return a pretty String version of the Node.
    `static void` | `serialize​(Node node, OutputStream os)` | Write a pretty version of the Node to the OutputStream.
    `static void` | `serialize​(Node node, Writer w)` | Write a pretty version of the Node to the Writer.
    `static String` | `serialize​(GPathResult node)` | Return a pretty version of the GPathResult.
    `static void` | `serialize​(GPathResult node, OutputStream os)` | Write a pretty version of the GPathResult to the OutputStream.
    `static void` | `serialize​(GPathResult node, Writer w)` | Write a pretty version of the GPathResult to the Writer.
    `static String` | `serialize​(String xmlString)` | Return a pretty version of the XML content contained in the given String.
    `static void` | `serialize​(String xmlString, OutputStream os)` | Write a pretty version of the given XML string to the OutputStream.
    `static void` | `serialize​(String xmlString, Writer w)` | Write a pretty version of the given XML string to the Writer.
    `static String` | `serialize​(Element element)` | Return a pretty String version of the Element.
    `static void` | `serialize​(Element element, OutputStream os)` | Write a pretty version of the Element to the OutputStream.
    `static void` | `serialize​(Element element, Writer w)` | Write a pretty version of the Element to the Writer.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### XmlUtil

          public XmlUtil()

  - ### Method Detail

    - #### serialize

          public static String serialize​(Element element)

      Return a pretty String version of the Element.
      Parameters:
        `element` - the Element to serialize
      Returns:
        the pretty String representation of the Element

    - #### serialize

          public static void serialize​(Element element,
                                       OutputStream os)

      Write a pretty version of the Element to the OutputStream.
      Parameters:
        `element` - the Element to serialize
        `os` - the OutputStream to write to

    - #### serialize

          public static void serialize​(Element element,
                                       Writer w)

      Write a pretty version of the Element to the Writer.
      Parameters:
        `element` - the Element to serialize
        `w` - the Writer to write to

    - #### serialize

          public static String serialize​(Node node)

      Return a pretty String version of the Node.
      Parameters:
        `node` - the Node to serialize
      Returns:
        the pretty String representation of the Node

    - #### serialize

          public static void serialize​(Node node,
                                       OutputStream os)

      Write a pretty version of the Node to the OutputStream.
      Parameters:
        `node` - the Node to serialize
        `os` - the OutputStream to write to

    - #### serialize

          public static void serialize​(Node node,
                                       Writer w)

      Write a pretty version of the Node to the Writer.
      Parameters:
        `node` - the Node to serialize
        `w` - the Writer to write to

    - #### serialize

          public static String serialize​(GPathResult node)

      Return a pretty version of the GPathResult.
      Parameters:
        `node` - a GPathResult to serialize to a String
      Returns:
        the pretty String representation of the GPathResult

    - #### serialize

          public static void serialize​(GPathResult node,
                                       OutputStream os)

      Write a pretty version of the GPathResult to the OutputStream.
      Parameters:
        `node` - a GPathResult to serialize
        `os` - the OutputStream to write to

    - #### serialize

          public static void serialize​(GPathResult node,
                                       Writer w)

      Write a pretty version of the GPathResult to the Writer.
      Parameters:
        `node` - a GPathResult to serialize
        `w` - the Writer to write to

    - #### serialize

          public static String serialize​(Writable writable)

      Return a pretty String version of the XML content produced by the Writable.
      Parameters:
        `writable` - the Writable to serialize
      Returns:
        the pretty String representation of the content from the Writable

    - #### serialize

          public static void serialize​(Writable writable,
                                       OutputStream os)

      Write a pretty version of the XML content produced by the Writable to the OutputStream.
      Parameters:
        `writable` - the Writable to serialize
        `os` - the OutputStream to write to

    - #### serialize

          public static void serialize​(Writable writable,
                                       Writer w)

      Write a pretty version of the XML content produced by the Writable to the Writer.
      Parameters:
        `writable` - the Writable to serialize
        `w` - the Writer to write to

    - #### serialize

          public static String serialize​(String xmlString)

      Return a pretty version of the XML content contained in the given String.
      Parameters:
        `xmlString` - the String to serialize
      Returns:
        the pretty String representation of the original content

    - #### serialize

          public static void serialize​(String xmlString,
                                       OutputStream os)

      Write a pretty version of the given XML string to the OutputStream.
      Parameters:
        `xmlString` - the String to serialize
        `os` - the OutputStream to write to

    - #### serialize

          public static void serialize​(String xmlString,
                                       Writer w)

      Write a pretty version of the given XML string to the Writer.
      Parameters:
        `xmlString` - the String to serialize
        `w` - the Writer to write to

    - #### newSAXParser

          public static SAXParser newSAXParser​(String schemaLanguage,
                                               Source... schemas)
                                        throws SAXException,
                                               ParserConfigurationException

      Factory method to create a SAXParser configured to validate according to a particular schema language and optionally providing the schema sources to validate with. The created SAXParser will be namespace-aware and not validate against DTDs.
      Parameters:
        `schemaLanguage` - the schema language used, e.g. XML Schema or RelaxNG (as per the String representation in javax.xml.XMLConstants)
        `schemas` - the schemas to validate against
      Returns:
        the created SAXParser
      Throws:
        `SAXException`
        `ParserConfigurationException`
      Since:
        1.8.7
      See Also:
        `newSAXParser(String, boolean, boolean, Source...)`

    - #### newSAXParser

          public static SAXParser newSAXParser​(String schemaLanguage,
                                               boolean namespaceAware,
                                               boolean validating,
                                               Source... schemas)
                                        throws SAXException,
                                               ParserConfigurationException

      Factory method to create a SAXParser configured to validate according to a particular schema language and optionally providing the schema sources to validate with.
      Parameters:
        `schemaLanguage` - the schema language used, e.g. XML Schema or RelaxNG (as per the String representation in javax.xml.XMLConstants)
        `namespaceAware` - will the parser be namespace aware
        `validating` - will the parser also validate against DTDs
        `schemas` - the schemas to validate against
      Returns:
        the created SAXParser
      Throws:
        `SAXException`
        `ParserConfigurationException`
      Since:
        1.8.7

    - #### newSAXParser

          public static SAXParser newSAXParser​(String schemaLanguage,
                                               File schema)
                                        throws SAXException,
                                               ParserConfigurationException

      Factory method to create a SAXParser configured to validate according to a particular schema language and a File containing the schema to validate against. The created SAXParser will be namespace-aware and not validate against DTDs.
      Parameters:
        `schemaLanguage` - the schema language used, e.g. XML Schema or RelaxNG (as per the String representation in javax.xml.XMLConstants)
        `schema` - a file containing the schema to validate against
      Returns:
        the created SAXParser
      Throws:
        `SAXException`
        `ParserConfigurationException`
      Since:
        1.8.7
      See Also:
        `newSAXParser(String, boolean, boolean, File)`

    - #### newSAXParser

          public static SAXParser newSAXParser​(String schemaLanguage,
                                               boolean namespaceAware,
                                               boolean validating,
                                               File schema)
                                        throws SAXException,
                                               ParserConfigurationException

      Factory method to create a SAXParser configured to validate according to a particular schema language and a File containing the schema to validate against.
      Parameters:
        `schemaLanguage` - the schema language used, e.g. XML Schema or RelaxNG (as per the String representation in javax.xml.XMLConstants)
        `namespaceAware` - will the parser be namespace aware
        `validating` - will the parser also validate against DTDs
        `schema` - a file containing the schema to validate against
      Returns:
        the created SAXParser
      Throws:
        `SAXException`
        `ParserConfigurationException`
      Since:
        1.8.7

    - #### newSAXParser

          public static SAXParser newSAXParser​(String schemaLanguage,
                                               URL schema)
                                        throws SAXException,
                                               ParserConfigurationException

      Factory method to create a SAXParser configured to validate according to a particular schema language and an URL pointing to the schema to validate against. The created SAXParser will be namespace-aware and not validate against DTDs.
      Parameters:
        `schemaLanguage` - the schema language used, e.g. XML Schema or RelaxNG (as per the String representation in javax.xml.XMLConstants)
        `schema` - a URL pointing to the schema to validate against
      Returns:
        the created SAXParser
      Throws:
        `SAXException`
        `ParserConfigurationException`
      Since:
        1.8.7
      See Also:
        `newSAXParser(String, boolean, boolean, URL)`

    - #### newSAXParser

          public static SAXParser newSAXParser​(String schemaLanguage,
                                               boolean namespaceAware,
                                               boolean validating,
                                               URL schema)
                                        throws SAXException,
                                               ParserConfigurationException

      Factory method to create a SAXParser configured to validate according to a particular schema language and an URL pointing to the schema to validate against.
      Parameters:
        `schemaLanguage` - the schema language used, e.g. XML Schema or RelaxNG (as per the String representation in javax.xml.XMLConstants)
        `namespaceAware` - will the parser be namespace aware
        `validating` - will the parser also validate against DTDs
        `schema` - a URL pointing to the schema to validate against
      Returns:
        the created SAXParser
      Throws:
        `SAXException`
        `ParserConfigurationException`
      Since:
        1.8.7

    - #### escapeXml

          public static String escapeXml​(String orig)

      Escape the following characters `" ' & < >` with their XML entities, e.g. `"bread" & "butter"` becomes `&quot;bread&quot; &amp; &quot;butter&quot`. Notes:
      - Supports only the five basic XML entities (gt, lt, quot, amp, apos)
      - Does not escape control characters
      - Does not support DTDs or external entities
      - Does not treat surrogate pairs specially
      - Does not perform Unicode validation on its input
      Parameters:
        `orig` - the original String
      Returns:
        A new string in which all characters that require escaping have been replaced with the corresponding XML entities.
      See Also:
        `escapeControlCharacters(String)`

    - #### escapeControlCharacters

          public static String escapeControlCharacters​(String orig)

      Escape control characters (below 0x20) with their XML entities, e.g. carriage return (`Ctrl-M or \r`) becomes `&#13;` Notes:
      - Does not escape non-ascii characters above 0x7e
      - Does not treat surrogate pairs specially
      - Does not perform Unicode validation on its input
      Parameters:
        `orig` - the original String
      Returns:
        A new string in which all characters that require escaping have been replaced with the corresponding XML entities.
      See Also:
        `escapeXml(String)`