Package ru.bitel.common

# Class XMLUtils

java.lang.Object
ru.bitel.common.XMLUtils

    public class XMLUtils
    extends java.lang.Object

- ## Nested Class Summary

  Nested Classes
  Modifier and Type | Class | Description
  --- | --- | ---
  `static interface` | `XMLUtils.BGXMLEventReader` |
  `static class` | `XMLUtils.XMLEventReaderParameterMap` |
  `static class` | `XMLUtils.XMLStreamReaderParameterMap` |

- ## Field Summary

  Fields
  Modifier and Type | Field | Description
  --- | --- | ---
  `protected static java.lang.String` | `ELEMENT_NAME_ITEM` |
  `protected static java.lang.String` | `ELEMENT_NAME_LIST` |
  `protected static java.lang.String` | `ELEMENT_NAME_ROW` |
  `protected static java.util.regex.Pattern` | `slashPattern` |

- ## Constructor Summary

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

- ## Method Summary

  Modifier and Type | Method | Description
  --- | --- | ---
  `static org.w3c.dom.Element` | `addListItem​(org.w3c.dom.Node node, int id, java.lang.String title)` |
  `static org.w3c.dom.Element` | `addListItem​(org.w3c.dom.Node node, java.lang.String id, java.lang.String title)` |
  `static org.w3c.dom.Element` | `addListItem​(org.w3c.dom.Node node, java.lang.String nameNode, java.lang.String id, java.lang.String title)` |
  `static java.util.Map<java.lang.String,​java.lang.String>` | `attributesToMap​(org.w3c.dom.Element element)` | Deprecated. используйте обертку из `ParameterMap` вокруг `Element` //TODO: Выяснить что за обертка и заменить на нее!
  `static ParameterMap` | `attributesToParameterMap​(org.w3c.dom.Element element)` |
  `static org.w3c.dom.Element` | `createElement​(org.w3c.dom.Document parent, java.lang.String name)` | Создать элемент на родительском документе.
  `static org.w3c.dom.Element` | `createElement​(org.w3c.dom.Element parentElement, java.lang.String name)` | Создание нового элемента и добавление его в родительский элемент
  `static org.w3c.dom.Element` | `createElementNS​(org.w3c.dom.Document parent, java.lang.String xmlns, java.lang.String name)` | Создать элемент на родительском документе c заданным xmlns, добавляя его как дочерний.
  `static org.w3c.dom.Element` | `createListElement​(org.w3c.dom.Element parentElement, java.lang.String name, java.lang.String itemName, java.util.List<?> list, java.lang.Class<?> clazz, java.lang.String[] fields)` |
  `static org.w3c.dom.Element` | `createListElement​(org.w3c.dom.Element parentElement, java.lang.String name, java.util.List<?> list, java.lang.Class<?> clazz)` | Вызов createListElement( parentElement, name, list, clazz, null );
  `static org.w3c.dom.Element` | `createListElement​(org.w3c.dom.Element parentElement, java.lang.String name, java.util.List<?> list, java.lang.Class<?> clazz, java.lang.String[] fields)` | Генерация Элемента содержащего список объектов со значениями свойств в виде аттрибутов
  `static void` | `createTextNode​(org.w3c.dom.Node node, java.lang.String text)` | Создание текстового узла - потомка.
  `static java.lang.Iterable<org.w3c.dom.Element>` | `elements​(org.w3c.dom.NodeList nodeList)` | Делает Iterable от Element из NodeList, для удобного обхода.
  `static java.lang.String` | `escapeXmlNotValid​(java.lang.StringBuilder buf, java.lang.String value)` |
  `static org.w3c.dom.Element` | `findElement​(org.w3c.dom.Node el, java.lang.String elementName)` | Deprecated. use `selectNode(Node, String)`
  `static java.lang.String` | `getAttribute​(org.w3c.dom.Element element, java.lang.String name)` | Получение аттрибута элемента.
  `static java.lang.String` | `getAttribute​(org.w3c.dom.Element element, java.lang.String name, java.lang.String defaultValue)` | Получение аттрибута элемента.
  `static int` | `getAttributeIntValue​(org.w3c.dom.Node node, java.lang.String name, int defaultValue)` | Возвращает целочисленное значение атрибута.
  `static org.w3c.dom.Element` | `getElement​(org.w3c.dom.Document doc, java.lang.String elementName)` | Ищет элемент в документе по имени.
  `static <E extends java.lang.Enum<E>> E` | `getEnumAttribute​(org.w3c.dom.Element element, java.lang.String name, E defaultValue)` | Получение аттрибута представляющего строковое значение enum-типа
  `static int` | `getIntAttribute​(org.w3c.dom.Element element, java.lang.String name, int defaultValue)` | Deprecated. используйте обертку из `ParameterMap` вокруг Element для парсинга //TODO: Выяснить что за обертка и заменить на нее!
  `static org.w3c.dom.Node` | `getNode​(org.w3c.dom.Document doc, java.lang.String nodeName)` | Берёт Node по имени тега из Document.
  `static java.util.Properties` | `getSerializeProperties​(java.lang.String encoding, boolean indent)` | можно добавить properties.put( OutputKeys.OMIT_XML_DECLARATION, "yes" );
  `static void` | `main​(java.lang.String[] args)` |
  `static org.w3c.dom.Document` | `newDocument()` | Создаёт и возвращает новый объект XML документ.
  `static XMLUtils.BGXMLEventReader` | `newXMLEventReader​(java.io.InputStream is)` |
  `static XMLUtils.BGXMLEventReader` | `newXMLEventReader​(java.io.Reader reader)` |
  `static XMLUtils.BGXMLEventReader` | `newXMLEventReader​(javax.xml.stream.XMLInputFactory xmlif, java.io.InputStream is)` |
  `static XMLUtils.BGXMLEventReader` | `newXMLEventReader​(javax.xml.stream.XMLInputFactory xmlif, java.io.Reader reader)` |
  `static javax.xml.stream.XMLInputFactory` | `newXMLInputFactory()` |
  `static org.w3c.dom.Document` | `parseDocument​(byte[] data)` |
  `static org.w3c.dom.Document` | `parseDocument​(byte[] data, boolean showError)` |
  `static org.w3c.dom.Document` | `parseDocument​(java.lang.String data)` | парсинг документов
  `static org.w3c.dom.Document` | `parseDocument​(org.xml.sax.InputSource source)` |
  `static org.w3c.dom.Document` | `parseDocument​(org.xml.sax.InputSource source, boolean showError)` |
  `static void` | `parseDocument​(org.xml.sax.InputSource source, org.xml.sax.ContentHandler handler)` |
  `static void` | `prepareElementToSerialize​(org.w3c.dom.Node el)` | Подготавливает элемент к XML сериализации, заменяет запрещённые символы на \\u{code}.
  `static java.lang.String` | `prepareString​(java.lang.StringBuilder buf, java.lang.String nodeValue)` | Подготавливает строки к XML сериализации, заменяет запрещённые символы на \\u{code}.
  `static org.w3c.dom.Element` | `selectElement​(org.w3c.dom.Node node, java.lang.String expression)` | Возвращает элемент по XPath expression.
  `static java.lang.Iterable<org.w3c.dom.Element>` | `selectElements​(org.w3c.dom.Node node, java.lang.String expression)` | Итератор элементов nodelist по XPath.
  `static org.w3c.dom.Node` | `selectNode​(org.w3c.dom.Node node, java.lang.String expression)` | Возвращает Node по XPath expression.
  `static java.lang.String` | `selectText​(org.w3c.dom.Node node, java.lang.String expression)` | Выборка строкового значения по xpath.
  `static java.lang.String` | `selectText​(org.w3c.dom.Node node, java.lang.String expression, java.lang.String defaultValue)` | Выборка строкового значения по xpath.
  `static void` | `serialize​(org.w3c.dom.Node node, java.io.OutputStream os, java.lang.String encoding)` | Сериализует в выходной поток с указанием кодировки.
  `static void` | `serialize​(org.w3c.dom.Node node, java.io.Writer writer)` | Сериалует в Writer.
  `static void` | `serialize​(org.w3c.dom.Node node, java.io.Writer writer, java.lang.String encoding)` | Сериализует в Writer.
  `static void` | `serialize​(org.w3c.dom.Node node, javax.xml.transform.Result result, java.lang.String encoding)` | Сериализует в Result, отступ - false.
  `static void` | `serialize​(org.w3c.dom.Node node, javax.xml.transform.Result result, java.lang.String encoding, boolean indent)` | Сериализует XML документ.
  `static void` | `serialize​(org.w3c.dom.Node node, javax.xml.transform.Result result, java.util.Properties properties)` |
  `static void` | `setAttribute​(org.w3c.dom.Element element, java.lang.String name, java.lang.String value)` | Установка значения атрибута, только если оно не равно null.
  `static void` | `setPageAttribute​(org.w3c.dom.Element element, Page page)` |
  `static java.util.List<org.w3c.dom.Element>` | `toList​(java.lang.Iterable<org.w3c.dom.Element> elements)` |
  `static void` | `transform​(javax.xml.transform.Source xml, javax.xml.transform.Source xslt, javax.xml.transform.Result res, java.lang.String enc)` | Трансформация xml+xstl→выход

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

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

- ## Field Details

  - ### ELEMENT_NAME_ROW

    protected static final java.lang.String ELEMENT_NAME_ROW
    See Also:
      Constant Field Values

  - ### ELEMENT_NAME_ITEM

    protected static final java.lang.String ELEMENT_NAME_ITEM
    See Also:
      Constant Field Values

  - ### ELEMENT_NAME_LIST

    protected static final java.lang.String ELEMENT_NAME_LIST
    See Also:
      Constant Field Values

  - ### slashPattern

    protected static final java.util.regex.Pattern slashPattern

- ## Constructor Details

  - ### XMLUtils

    public XMLUtils()

- ## Method Details

  - ### newXMLInputFactory

    public static final javax.xml.stream.XMLInputFactory newXMLInputFactory()

  - ### newXMLEventReader

    public static final XMLUtils.BGXMLEventReader newXMLEventReader​(java.io.Reader reader)

  - ### newXMLEventReader

    public static final XMLUtils.BGXMLEventReader newXMLEventReader​(java.io.InputStream is)

  - ### newXMLEventReader

    public static final XMLUtils.BGXMLEventReader newXMLEventReader​(javax.xml.stream.XMLInputFactory xmlif, java.io.Reader reader)

  - ### newXMLEventReader

    public static final XMLUtils.BGXMLEventReader newXMLEventReader​(javax.xml.stream.XMLInputFactory xmlif, java.io.InputStream is)

  - ### newDocument

    public static final org.w3c.dom.Document newDocument()
    Создаёт и возвращает новый объект XML документ.
    Returns:

  - ### createElement

    public static final org.w3c.dom.Element createElement​(org.w3c.dom.Document parent, java.lang.String name)
    Создать элемент на родительском документе. Ибо для Element версия ни при каких условиях не работает (OwnerDocument всегда null), не помогает и всякие getDocumentElement.
    Parameters:
      `parent` -
      `name` -
    Returns:

  - ### createElement

    public static org.w3c.dom.Element createElement​(org.w3c.dom.Element parentElement, java.lang.String name)
    Создание нового элемента и добавление его в родительский элемент

              element = parentElement.getOwnerDocument().createElement( name );
              parentElement.appendChild( element );

    Parameters:
      `parentElement` - родительский элемент
      `name` - имя нового элемента
    Returns:
      новый элемент

  - ### createElementNS

    public static final org.w3c.dom.Element createElementNS​(org.w3c.dom.Document parent, java.lang.String xmlns, java.lang.String name)
    Создать элемент на родительском документе c заданным xmlns, добавляя его как дочерний. ...
    Parameters:
      `parent` - документ
      `xmlns` - неймспейс (если null, то будет просто без ns)
      `name` - имя элемента
    Returns:
      созданный элемент.

  - ### createTextNode

    public static void createTextNode​(org.w3c.dom.Node node, java.lang.String text)
    Создание текстового узла - потомка.

             node.appendChild( node.getOwnerDocument().createTextNode( text ) );

    Parameters:
      `node` - узел-предок
      `text` - текст

  - ### createListElement

    public static org.w3c.dom.Element createListElement​(org.w3c.dom.Element parentElement, java.lang.String name, java.util.List<?> list, java.lang.Class<?> clazz)
    Вызов createListElement( parentElement, name, list, clazz, null );
    Parameters:
      `parentElement` - родительский элемент
      `name` - имя нового элемента
      `list` - список с объектами для постотроение списка элементов
      `clazz` - класс объектов списка
    Returns:
      корневой элемент списка

  - ### createListElement

    public static org.w3c.dom.Element createListElement​(org.w3c.dom.Element parentElement, java.lang.String name, java.util.List<?> list, java.lang.Class<?> clazz, java.lang.String[] fields)
    Генерация Элемента содержащего список объектов со значениями свойств в виде аттрибутов
    Parameters:
      `parentElement` - родительский элемент
      `name` - имя нового элемента
      `list` - список с объектами для постотроение списка элементов
      `clazz` - класс объектов списка
      `fields` - список свойств которые нужно добавлять в аттрибуты елементов списка
    Returns:
      корневой элемент списка

  - ### createListElement

    public static org.w3c.dom.Element createListElement​(org.w3c.dom.Element parentElement, java.lang.String name, java.lang.String itemName, java.util.List<?> list, java.lang.Class<?> clazz, java.lang.String[] fields)

  - ### addListItem

    public static org.w3c.dom.Element addListItem​(org.w3c.dom.Node node, int id, java.lang.String title)

  - ### addListItem

    public static org.w3c.dom.Element addListItem​(org.w3c.dom.Node node, java.lang.String id, java.lang.String title)

  - ### addListItem

    public static org.w3c.dom.Element addListItem​(org.w3c.dom.Node node, java.lang.String nameNode, java.lang.String id, java.lang.String title)

  - ### setPageAttribute

    public static void setPageAttribute​(org.w3c.dom.Element element, Page page)

  - ### setAttribute

    public static void setAttribute​(org.w3c.dom.Element element, java.lang.String name, java.lang.String value)
    Установка значения атрибута, только если оно не равно null.
    Parameters:
      `element` - элемент
      `name` - имя аттрибута
      `value` - значение аттрибута

  - ### parseDocument

    public static org.w3c.dom.Document parseDocument​(java.lang.String data)
    парсинг документов
    Parameters:
      `stream` -
    Returns:

  - ### parseDocument

    public static org.w3c.dom.Document parseDocument​(byte[] data)

  - ### parseDocument

    public static org.w3c.dom.Document parseDocument​(byte[] data, boolean showError)

  - ### parseDocument

    public static org.w3c.dom.Document parseDocument​(org.xml.sax.InputSource source)

  - ### parseDocument

    public static org.w3c.dom.Document parseDocument​(org.xml.sax.InputSource source, boolean showError)

  - ### parseDocument

    public static void parseDocument​(org.xml.sax.InputSource source, org.xml.sax.ContentHandler handler)

  - ### getElement

    public static org.w3c.dom.Element getElement​(org.w3c.dom.Document doc, java.lang.String elementName)
    Ищет элемент в документе по имени. Если не находит - возвращает созданный.
    Parameters:
      `doc` -
      `elementName` -
    Returns:

  - ### getNode

    public static org.w3c.dom.Node getNode​(org.w3c.dom.Document doc, java.lang.String nodeName)
    Берёт Node по имени тега из Document. В случае отсутствия - создаёт новый Node и возвращает его.
    Parameters:
      `doc` - документ
      `nodeName` - имя узла
    Returns:
      узел
    See Also:
      `findElement(org.w3c.dom.Node,java.lang.String)`

  - ### selectElement

    public static org.w3c.dom.Element selectElement​(org.w3c.dom.Node node, java.lang.String expression)
    Возвращает элемент по XPath expression.
    Parameters:
      `node` -
      `expression` - XPath expression
    Returns:
      элемент, если найден - иначе null
    See Also:
      `selectNode( Node, String )`

  - ### selectNode

    public static org.w3c.dom.Node selectNode​(org.w3c.dom.Node node, java.lang.String expression)
    Возвращает Node по XPath expression. Пример: /data/table - выбрать элемент table лежащий в корне. Пример: //table - выбрать элемент table где попало
    Parameters:
      `node` -
      `expression` - XPath expression
    Returns:
      Node, если найден - иначе null

  - ### selectElements

    public static java.lang.Iterable<org.w3c.dom.Element> selectElements​(org.w3c.dom.Node node, java.lang.String expression)
    Итератор элементов nodelist по XPath. Пример: /tables/* - выбрать все элементы внутри родительского tables в корне.

  - ### elements

    public static java.lang.Iterable<org.w3c.dom.Element> elements​(org.w3c.dom.NodeList nodeList)
    Делает Iterable от Element из NodeList, для удобного обхода.
    Parameters:
      `nodeList` - исходный NodeList
    Returns:
      Iterable<Element>.

  - ### selectText

    public static java.lang.String selectText​(org.w3c.dom.Node node, java.lang.String expression)
    Выборка строкового значения по xpath. Дефолт валуе - null.
    See Also:
      `selectText( Node, String, String )`

  - ### selectText

    public static java.lang.String selectText​(org.w3c.dom.Node node, java.lang.String expression, java.lang.String defaultValue)
    Выборка строкового значения по xpath. То есть практически тоже самое, что selectNode, только от него возвращается node value, либо null, если что-то не найдено или какая-то ошибка (нуть не должен возвращать текст итд) Может возвращать и значения текстовых нод и значения атрибутов, универсальная.
    В целом, не предназначен для выборок вроде selectText( node, "@selected", null), потому что в том что getAttribute возвращает не null, а пустую строку нет ничего страшного. Тем более есть метод, который и null возвращает и работает быстрее.
    Примеры запросов:
    1) запрос текстового значения атрибута

         <data><payment cardnumber="111">...
         /data/payment/@cardnumber

    2) запрос текстового значения ноды

         ...<operation><pursesrc>текст</pursesrc>...
         /operation/pursesrc/text()

    3) не от корня, а относительно - начиная не со сшеша
    4) искать где попало - два слеша
    5) и т.д., ну вы поняли
    Parameters:
      `node` - ноде корневой
      `expression` - xpath
      `defaultValue` - значение по умолчанию
    Returns:
      строка
    See Also:
      `selectNode(org.w3c.dom.Node, java.lang.String)`

  - ### findElement

    @Deprecated public static org.w3c.dom.Element findElement​(org.w3c.dom.Node el, java.lang.String elementName)
    Deprecated.
    use `selectNode(Node, String)`
    Поиск дочернего элемента в Node(элементе/документе). Подразумевается, что он там один, т.к. всё равно берётся первый найденный. По умолчанию также ищется и рекурсивно ниже по дереву.
    Don't use it anymore!
    Parameters:
      `el` - Node
      `elementName` - имя дочернего искомого элемента.
    Returns:
      найденный Element или null, если не найдено

  - ### getAttribute

    public static java.lang.String getAttribute​(org.w3c.dom.Element element, java.lang.String name)
    Получение аттрибута элемента. Когда нет аттрибута - возвращает null.
    Parameters:
      `element` - элемент
      `name` - имя аттрибута
    Returns:
      строка значение аттрибута (или нулл)

  - ### getAttribute

    public static java.lang.String getAttribute​(org.w3c.dom.Element element, java.lang.String name, java.lang.String defaultValue)
    Получение аттрибута элемента. Сделана ввиду дурацкой domовской привычки доставать несуществующие принципиально аттрибуты как пустые строки, что не может меня не волновать при реализации некоторых задумок, пусть когда нет аттрибута - возвращает defaultValue.
    Parameters:
      `element` - элемент
      `name` - имя аттрибута
      `defaultValue` - значение по умолчанию.
    Returns:
      строка значение аттрибута (или значение по умолчанию)

  - ### getIntAttribute

    @Deprecated public static int getIntAttribute​(org.w3c.dom.Element element, java.lang.String name, int defaultValue)
    Deprecated.
    используйте обертку из `ParameterMap` вокруг Element для парсинга //TODO: Выяснить что за обертка и заменить на нее!
    Получение целого аттрибута. Если нету аттрибута, либо он есть но не является корректным int - возвращается дефолтовое значение.
    Parameters:
      `element` - элемент
      `name` - имя аттрибута
      `defaultValue` - дефолт
    Returns:
      строка значение аттрибута (или значение по умолчанию)

  - ### getEnumAttribute

    public static <E extends java.lang.Enum<E>> E getEnumAttribute​(org.w3c.dom.Element element, java.lang.String name, E defaultValue)
    Получение аттрибута представляющего строковое значение enum-типа
    Type Parameters:
      `E` - тип, представляющий enum (!)
    Parameters:
      `element` - dom-элемент
      `name` - имя аттрибута
      `defaultValue` - значение по умолчанию, отсюда же берётся тип/класс (генерик же используется, чтобы отдельно тип не передавать)
    Returns:
      значение emun-типа или значение по умолчанию

  - ### getAttributeIntValue

    public static int getAttributeIntValue​(org.w3c.dom.Node node, java.lang.String name, int defaultValue)
    Возвращает целочисленное значение атрибута.
    Parameters:
      `node` -
      `name` -
      `defaultValue` -
    Returns:

  - ### attributesToMap

    @Deprecated public static java.util.Map<java.lang.String,​java.lang.String> attributesToMap​(org.w3c.dom.Element element)
    Deprecated.
    используйте обертку из `ParameterMap` вокруг `Element` //TODO: Выяснить что за обертка и заменить на нее!
    Parameters:
      `element` -
    Returns:

  - ### attributesToParameterMap

    public static ParameterMap attributesToParameterMap​(org.w3c.dom.Element element)

  - ### serialize

    public static void serialize​(org.w3c.dom.Node node, java.io.OutputStream os, java.lang.String encoding)
    Сериализует в выходной поток с указанием кодировки.
    Parameters:
      `node` -
      `os` -
      `encoding` -

  - ### serialize

    public static void serialize​(org.w3c.dom.Node node, java.io.Writer writer)
    Сериалует в Writer. Обычно используется для отладки, так как правильнее использовать сериализацию в OutputStream.
    Parameters:
      `node` -
      `writer` -

  - ### serialize

    public static void serialize​(org.w3c.dom.Node node, java.io.Writer writer, java.lang.String encoding)
    Сериализует в Writer. Обычно используется для отладки, так как правильнее использовать сериализацию в OutputStream.
    Parameters:
      `node` -
      `writer` -

  - ### serialize

    public static void serialize​(org.w3c.dom.Node node, javax.xml.transform.Result result, java.lang.String encoding)
    Сериализует в Result, отступ - false.
    Parameters:
      `node` -
      `result` -
      `encoding` -

  - ### serialize

    public static void serialize​(org.w3c.dom.Node node, javax.xml.transform.Result result, java.lang.String encoding, boolean indent)
    Сериализует XML документ.
    Parameters:
      `node` - - узел документа.
      `result` - - объект с результатом.
      `encoding` - - кодировка, может быть null.
      `indent` - - форматирование (отступы).

  - ### getSerializeProperties

    public static java.util.Properties getSerializeProperties​(java.lang.String encoding, boolean indent)
    можно добавить properties.put( OutputKeys.OMIT_XML_DECLARATION, "yes" );
    Parameters:
      `encoding` -
      `indent` -
    Returns:

  - ### serialize

    public static void serialize​(org.w3c.dom.Node node, javax.xml.transform.Result result, java.util.Properties properties)

  - ### prepareElementToSerialize

    public static void prepareElementToSerialize​(org.w3c.dom.Node el)
    Подготавливает элемент к XML сериализации, заменяет запрещённые символы на \\u{code}. Используется в местах, где возможно появление недопустимых XML символов.
    Parameters:
      `el` - исходный элемент в теле, названии, дочерних элементах и атрибутах возможны запрещённые символы.

  - ### prepareString

    public static java.lang.String prepareString​(java.lang.StringBuilder buf, java.lang.String nodeValue)
    Подготавливает строки к XML сериализации, заменяет запрещённые символы на \\u{code}. Используется в местах, где возможно появление недопустимых XML символов.
    Parameters:
      `buf` - вспомогательный буфер, в который складывается результат, чтобы не выделять каждый раз заново.
      `nodeValue` - исходная строка, где возможны запрещённые символы.
    Returns:

  - ### transform

    public static void transform​(javax.xml.transform.Source xml, javax.xml.transform.Source xslt, javax.xml.transform.Result res, java.lang.String enc) throws javax.xml.transform.TransformerException
    Трансформация xml+xstl→выход
    Parameters:
      `xml` - исходный документ xml в виде Source.
      `xslt` - исходный документ xslt в виде Source.
      `res` - результат (например, готовый FO-документ) в виде Result.
      `enc` - кодировка.
    Throws:
      `javax.xml.transform.TransformerException` - ошибка трансформации.

  - ### toList

    public static java.util.List<org.w3c.dom.Element> toList​(java.lang.Iterable<org.w3c.dom.Element> elements)

  - ### escapeXmlNotValid

    public static java.lang.String escapeXmlNotValid​(java.lang.StringBuilder buf, java.lang.String value)

  - ### main

    public static void main​(java.lang.String[] args)