groovy.xml

## Class XmlUtil

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

    public class XmlUtil
    extends java.lang.Object

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

Author:
  Paul King

### Constructor Summary

Constructors
Constructor and Description
`XmlUtil()`

### Method Summary

All Methods Static Methods Concrete Methods
`static java.lang.String` `escapeControlCharacters(java.lang.String orig)` Escape control characters (below 0x20) with their XML entities, e.g.
`static java.lang.String` `escapeXml(java.lang.String orig)` Escape the following characters `" ' & < >` with their XML entities, e.g.
`static javax.xml.parsers.SAXParser` `newSAXParser(java.lang.String schemaLanguage, boolean namespaceAware, boolean validating, java.io.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 javax.xml.parsers.SAXParser` `newSAXParser(java.lang.String schemaLanguage, boolean namespaceAware, boolean validating, javax.xml.transform.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 javax.xml.parsers.SAXParser` `newSAXParser(java.lang.String schemaLanguage, boolean namespaceAware, boolean validating, java.net.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 javax.xml.parsers.SAXParser` `newSAXParser(java.lang.String schemaLanguage, java.io.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 javax.xml.parsers.SAXParser` `newSAXParser(java.lang.String schemaLanguage, javax.xml.transform.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 javax.xml.parsers.SAXParser` `newSAXParser(java.lang.String schemaLanguage, java.net.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 java.lang.String` `serialize(org.w3c.dom.Element element)` Return a pretty String version of the Element.
`static void` `serialize(org.w3c.dom.Element element, java.io.OutputStream os)` Write a pretty version of the Element to the OutputStream.
`static void` `serialize(org.w3c.dom.Element element, java.io.Writer w)` Write a pretty version of the Element to the Writer.
`static java.lang.String` `serialize(GPathResult node)` Return a pretty version of the GPathResult.
`static void` `serialize(GPathResult node, java.io.OutputStream os)` Write a pretty version of the GPathResult to the OutputStream.
`static void` `serialize(GPathResult node, java.io.Writer w)` Write a pretty version of the GPathResult to the Writer.
`static java.lang.String` `serialize(Node node)` Return a pretty String version of the Node.
`static void` `serialize(Node node, java.io.OutputStream os)` Write a pretty version of the Node to the OutputStream.
`static void` `serialize(Node node, java.io.Writer w)` Write a pretty version of the Node to the Writer.
`static java.lang.String` `serialize(java.lang.String xmlString)` Return a pretty version of the XML content contained in the given String.
`static void` `serialize(java.lang.String xmlString, java.io.OutputStream os)` Write a pretty version of the given XML string to the OutputStream.
`static void` `serialize(java.lang.String xmlString, java.io.Writer w)` Write a pretty version of the given XML string to the Writer.
`static java.lang.String` `serialize(Writable writable)` Return a pretty String version of the XML content produced by the Writable.
`static void` `serialize(Writable writable, java.io.OutputStream os)` Write a pretty version of the XML content produced by the Writable to the OutputStream.
`static void` `serialize(Writable writable, java.io.Writer w)` Write a pretty version of the XML content produced by the Writable 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 java.lang.String serialize(org.w3c.dom.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(org.w3c.dom.Element element,
                                 java.io.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(org.w3c.dom.Element element,
                                 java.io.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 java.lang.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,
                                 java.io.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,
                                 java.io.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 java.lang.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,
                                 java.io.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,
                                 java.io.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 java.lang.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,
                                 java.io.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,
                                 java.io.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 java.lang.String serialize(java.lang.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(java.lang.String xmlString,
                                 java.io.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(java.lang.String xmlString,
                                 java.io.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 javax.xml.parsers.SAXParser newSAXParser(java.lang.String schemaLanguage,
                                                           javax.xml.transform.Source... schemas)
                                                    throws org.xml.sax.SAXException,
                                                           javax.xml.parsers.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:
  `org.xml.sax.SAXException`
  `javax.xml.parsers.ParserConfigurationException`
Since:
  1.8.7
See Also:
  `newSAXParser(String, boolean, boolean, Source...)`

#### newSAXParser

    public static javax.xml.parsers.SAXParser newSAXParser(java.lang.String schemaLanguage,
                                                           boolean namespaceAware,
                                                           boolean validating,
                                                           javax.xml.transform.Source... schemas)
                                                    throws org.xml.sax.SAXException,
                                                           javax.xml.parsers.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:
  `org.xml.sax.SAXException`
  `javax.xml.parsers.ParserConfigurationException`
Since:
  1.8.7

#### newSAXParser

    public static javax.xml.parsers.SAXParser newSAXParser(java.lang.String schemaLanguage,
                                                           java.io.File schema)
                                                    throws org.xml.sax.SAXException,
                                                           javax.xml.parsers.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:
  `org.xml.sax.SAXException`
  `javax.xml.parsers.ParserConfigurationException`
Since:
  1.8.7
See Also:
  `newSAXParser(String, boolean, boolean, File)`

#### newSAXParser

    public static javax.xml.parsers.SAXParser newSAXParser(java.lang.String schemaLanguage,
                                                           boolean namespaceAware,
                                                           boolean validating,
                                                           java.io.File schema)
                                                    throws org.xml.sax.SAXException,
                                                           javax.xml.parsers.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:
  `org.xml.sax.SAXException`
  `javax.xml.parsers.ParserConfigurationException`
Since:
  1.8.7

#### newSAXParser

    public static javax.xml.parsers.SAXParser newSAXParser(java.lang.String schemaLanguage,
                                                           java.net.URL schema)
                                                    throws org.xml.sax.SAXException,
                                                           javax.xml.parsers.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:
  `org.xml.sax.SAXException`
  `javax.xml.parsers.ParserConfigurationException`
Since:
  1.8.7
See Also:
  `newSAXParser(String, boolean, boolean, URL)`

#### newSAXParser

    public static javax.xml.parsers.SAXParser newSAXParser(java.lang.String schemaLanguage,
                                                           boolean namespaceAware,
                                                           boolean validating,
                                                           java.net.URL schema)
                                                    throws org.xml.sax.SAXException,
                                                           javax.xml.parsers.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:
  `org.xml.sax.SAXException`
  `javax.xml.parsers.ParserConfigurationException`
Since:
  1.8.7

#### escapeXml

    public static java.lang.String escapeXml(java.lang.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 java.lang.String escapeControlCharacters(java.lang.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)`