Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.uima.pear.util
Class XMLUtil

    java.lang.Object
      org.apache.uima.pear.util.XMLUtil

    public class XMLUtil

extends Object

The `XMLUtil` class provides miscellaneous XML utilities.

Field Summary
`static String` | `CDATA_SECTION_BEG`
`static String` | `CDATA_SECTION_END`
`protected static boolean` | `DEFAULT_DYNAMIC_VALIDATION`
`protected static boolean` | `DEFAULT_NAMESPACE_PREFIXES`
`protected static boolean` | `DEFAULT_NAMESPACES`
`protected static boolean` | `DEFAULT_SCHEMA_FULL_CHECKING`
`protected static boolean` | `DEFAULT_SCHEMA_VALIDATION`
`protected static boolean` | `DEFAULT_VALIDATION`
`static String` | `DYNAMIC_VALIDATION_FEATURE_ID`
`protected static String` | `FIRST_XML_CHARS`
`static String` | `NAMESPACE_PREFIXES_FEATURE_ID`
`static String` | `NAMESPACES_FEATURE_ID` XML parser feature ids
`static String` | `SCHEMA_FULL_CHECKING_FEATURE_ID`
`static String` | `SCHEMA_VALIDATION_FEATURE_ID`
`static String` | `VALIDATION_FEATURE_ID`
`static String` | `XML_ENCODING_TAG`
`static String` | `XML_HEADER_BEG`
`static String` | `XML_HEADER_END`

Constructor Summary
`XMLUtil()` XMLUtil constructor comment.

Method Summary
`static SAXParser` | `createSAXParser()` Gets new instance of the `SAXParser` class and sets standard features.
`static String` | `detectXmlFileEncoding(File xmlFile)` Attempts to detect file encoding of a given XML file by analyzing it's first characters.
`static boolean` | `isValidXmlFile(File xmlFile)` Tries to parse a given XML file using SAX parser.
`static void` | `printAllXMLElements(Properties elements, PrintWriter oWriter, int level)` Prints entries of a given `Properties` object as XML elements to a given `PrintWriter`, maintaining a given indentation level.
`static void` | `printAllXMLElements(Properties elements, String[] tagOrder, PrintWriter oWriter, int level)` Prints entries of a given `Properties` object as XML elements to a given `PrintWriter`, maintaining a specified tag order and a given indentation level.
`static void` | `printAllXMLElements(Properties elements, String valueDelimiter, String[] tagOrder, PrintWriter oWriter, int level)` Prints entries of a given `Properties` object as XML elements to a given `PrintWriter`, maintaining a specified tag order and a given indentation level.
`static void` | `printError(String type, SAXParseException ex)` Prints SAX error message.
`static void` | `printXMLElement(String tag, Properties attributes, PrintWriter oWriter, int level)` Prints a given XML element, which contains only given attributes, to a given `PrintWriter`, maintaining a given indentation level.
`static void` | `printXMLElement(String tag, Properties attributes, String elemValue, boolean putInCdataSection, PrintWriter oWriter, int level)` Prints a given XML element, which contains given attributes and a given string value, to a given `PrintWriter`, maintaining a given indentation level.
`static void` | `printXMLElement(String tag, Properties attributes, String elemValue, boolean putInCdataSection, PrintWriter oWriter, int level, boolean useNewLine4Value)` Prints a given XML element, which contains given attributes and a given string value, to a given `PrintWriter`, maintaining a given indentation level.
`static void` | `printXMLElement(String tag, Properties attributes, String elemValue, PrintWriter oWriter, int level)` Prints a given XML element, which contains given attributes and a given string value, to a given `PrintWriter`, maintaining a given indentation level.
`static void` | `printXMLElement(String tag, String elemValue, boolean putInCdataSection, PrintWriter oWriter, int level)` Prints a given XML element, which contains only a given string value, to a given `PrintWriter`, maintaining a given indentation level.
`static void` | `printXMLElement(String tag, String elemValue, PrintWriter oWriter, int level)` Prints a given XML element, which contains only a given string value, to a given `PrintWriter`, maintaining a given indentation level.
`static void` | `printXMLElements(String tag, String elemValue, String valueDelimiter, PrintWriter oWriter, int level)` Prints multiple values of a given XML element, separated with a specified delimiter, to a given `PrintWriter`, maintaining a given indentation level.
`static void` | `printXMLElementValue(String elemValue, boolean putInCdataSection, PrintWriter oWriter, int level)` Prints a given element value to a given `PrintWriter`, maintaining a given indentation level.
`static void` | `printXMLElementValue(String elemValue, PrintWriter oWriter, int level)` Prints a given element value to a given `PrintWriter`, maintaining a given indentation level.
`static void` | `printXMLHeader(String encoding, PrintWriter oWriter)` Prints standard XML 1.0 header with a specified encoding to a given `PrintStream`.
`static void` | `printXMLTag(String tag, PrintWriter oWriter, boolean tagEnd, int level)` Prints a given XML tag to a given `PrintWriter`, maintaining a given indentation level.
`static void` | `printXMLTag(String tag, Properties attributes, PrintWriter oWriter, boolean tagEnd, int level)` Prints a given XML tag with given element attributes to a given `PrintWriter`, maintaining a given indentation level.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### XML_HEADER_BEG

    public static final String XML_HEADER_BEG

See Also:
  Constant Field Values

### XML_ENCODING_TAG

    public static final String XML_ENCODING_TAG

See Also:
  Constant Field Values

### XML_HEADER_END

    public static final String XML_HEADER_END

See Also:
  Constant Field Values

### CDATA_SECTION_BEG

    public static final String CDATA_SECTION_BEG

See Also:
  Constant Field Values

### CDATA_SECTION_END

    public static final String CDATA_SECTION_END

See Also:
  Constant Field Values

### NAMESPACES_FEATURE_ID

    public static final String NAMESPACES_FEATURE_ID

  XML parser feature ids

  See Also:
    Constant Field Values

### NAMESPACE_PREFIXES_FEATURE_ID

    public static final String NAMESPACE_PREFIXES_FEATURE_ID

See Also:
  Constant Field Values

### VALIDATION_FEATURE_ID

    public static final String VALIDATION_FEATURE_ID

See Also:
  Constant Field Values

### SCHEMA_VALIDATION_FEATURE_ID

    public static final String SCHEMA_VALIDATION_FEATURE_ID

See Also:
  Constant Field Values

### SCHEMA_FULL_CHECKING_FEATURE_ID

    public static final String SCHEMA_FULL_CHECKING_FEATURE_ID

See Also:
  Constant Field Values

### DYNAMIC_VALIDATION_FEATURE_ID

    public static final String DYNAMIC_VALIDATION_FEATURE_ID

See Also:
  Constant Field Values

### DEFAULT_NAMESPACES

    protected static final boolean DEFAULT_NAMESPACES

See Also:
  Constant Field Values

### DEFAULT_NAMESPACE_PREFIXES

    protected static final boolean DEFAULT_NAMESPACE_PREFIXES

See Also:
  Constant Field Values

### DEFAULT_VALIDATION

    protected static final boolean DEFAULT_VALIDATION

See Also:
  Constant Field Values

### DEFAULT_SCHEMA_VALIDATION

    protected static final boolean DEFAULT_SCHEMA_VALIDATION

See Also:
  Constant Field Values

### DEFAULT_SCHEMA_FULL_CHECKING

    protected static final boolean DEFAULT_SCHEMA_FULL_CHECKING

See Also:
  Constant Field Values

### DEFAULT_DYNAMIC_VALIDATION

    protected static final boolean DEFAULT_DYNAMIC_VALIDATION

See Also:
  Constant Field Values

### FIRST_XML_CHARS

    protected static final String FIRST_XML_CHARS

See Also:
  Constant Field Values

Constructor Detail

### XMLUtil

    public XMLUtil()

  XMLUtil constructor comment.

Method Detail

### createSAXParser

    public static SAXParser createSAXParser()
                                     throws SAXException

  Gets new instance of the `SAXParser` class and sets standard features.

  Returns:
    The new instance of the `SAXParser` class.
  Throws:
    `SAXException` - if any parser exception occurred.

### detectXmlFileEncoding

    public static String detectXmlFileEncoding(File xmlFile)
                                        throws IOException

  Attempts to detect file encoding of a given XML file by analyzing it's first characters. This method can recognize the following 2 standard encodings: UTF-8 (ASCII) and UTF-16 (LE and BE). If the given XML file is not valid or its encoding cannot be recognized, the method returns `null`, otherwise it returns the detected encoding name. For more on UTF encodings and its signatures see FAQ - UTF and BOM.

  Parameters:
    `xmlFile` - The given XML file.
  Returns:
    Detected XML file encoding name or `null`, if the file encoding cannot be recognized or the file is not a valid XML file.
  Throws:
    `IOException` - If the given file cannot be read.

### isValidXmlFile

    public static boolean isValidXmlFile(File xmlFile)
                                  throws IOException

  Tries to parse a given XML file using SAX parser. Returns `true`, if the parser does not encounter fatal error, otherwise returns `false`.

  Parameters:
    `xmlFile` - The given XML file to be tested.
  Returns:
    `true`, if the given XML file can be parsed, `false` otherwise.
  Throws:
    `IOException` - If the given file cannot be read.

### printError

    public static void printError(String type,
                                  SAXParseException ex)

  Prints SAX error message.

### printAllXMLElements

    public static void printAllXMLElements(Properties elements,
                                           PrintWriter oWriter,
                                           int level)
                                    throws IOException

  Prints entries of a given `Properties` object as XML elements to a given `PrintWriter`, maintaining a given indentation level.

  Parameters:
    `elements` - The given `Properties` object.
    `oWriter` - The given `PrintWriter` object.
    `level` - The given indentation level.
  Throws:
    `IOException` - if any I/O exception occurred.

### printAllXMLElements

    public static void printAllXMLElements(Properties elements,
                                           String valueDelimiter,
                                           String[] tagOrder,
                                           PrintWriter oWriter,
                                           int level)
                                    throws IOException

  Prints entries of a given `Properties` object as XML elements to a given `PrintWriter`, maintaining a specified tag order and a given indentation level. Some elements may contain multiple values delimited by a specified value delimiter. Inserts new line after each printed element.

  Parameters:
    `elements` - The given `Properties` object.
    `valueDelimiter` - The specified value delimiter for multi-valued elements.
    `tagOrder` - The `String` array that specifies the tag order.
    `oWriter` - The given `PrintWriter` object.
    `level` - The given indentation level.
  Throws:
    `IOException` - if any I/O exception occurred.

### printAllXMLElements

    public static void printAllXMLElements(Properties elements,
                                           String[] tagOrder,
                                           PrintWriter oWriter,
                                           int level)
                                    throws IOException

  Prints entries of a given `Properties` object as XML elements to a given `PrintWriter`, maintaining a specified tag order and a given indentation level.

  Parameters:
    `elements` - The given `Properties` object.
    `tagOrder` - The `String` array that specifies the tag order.
    `oWriter` - The given `PrintWriter` object.
    `level` - The given indentation level.
  Throws:
    `IOException` - if any I/O exception occurred.

### printXMLElement

    public static void printXMLElement(String tag,
                                       Properties attributes,
                                       PrintWriter oWriter,
                                       int level)
                                throws IOException

  Prints a given XML element, which contains only given attributes, to a given `PrintWriter`, maintaining a given indentation level.

  Parameters:
    `tag` - The given XML tag.
    `attributes` - The given XML element attributes.
    `oWriter` - The given `PrintWriter` object.
    `level` - The given indentation level (number of marginal '\t' symbols).
  Throws:
    `IOException` - if any I/O exception occurred.

### printXMLElement

    public static void printXMLElement(String tag,
                                       Properties attributes,
                                       String elemValue,
                                       PrintWriter oWriter,
                                       int level)
                                throws IOException

  Prints a given XML element, which contains given attributes and a given string value, to a given `PrintWriter`, maintaining a given indentation level. The string element value (if exists) is printed 'as is' - without a CDATA section.

  Parameters:
    `tag` - The given XML element tag.
    `attributes` - The given XML element attributes.
    `elemValue` - The given XML element value.
    `oWriter` - The given `PrintWriter` object.
    `level` - The given indentation level (number of marginal '\t' symbols).
  Throws:
    `IOException` - if any I/O exception occurred.

### printXMLElement

    public static void printXMLElement(String tag,
                                       Properties attributes,
                                       String elemValue,
                                       boolean putInCdataSection,
                                       PrintWriter oWriter,
                                       int level)
                                throws IOException

  Prints a given XML element, which contains given attributes and a given string value, to a given `PrintWriter`, maintaining a given indentation level. The string element value (if exists) is printed within or without the CDATA section, depending on a given `boolean` flag value.

  Parameters:
    `tag` - The given XML element tag.
    `attributes` - The given XML element tag.
    `elemValue` - The given XML element value.
    `putInCdataSection` - If `true`, puts the element value in the `CDATA` section, otherwise prints the element value without the `CDATA` section.
    `oWriter` - The given `PrintWriter` object.
    `level` - The given indentation level (number of marginal '\t' symbols).
  Throws:
    `IOException` - if any I/O exception occurred.

### printXMLElement

    public static void printXMLElement(String tag,
                                       Properties attributes,
                                       String elemValue,
                                       boolean putInCdataSection,
                                       PrintWriter oWriter,
                                       int level,
                                       boolean useNewLine4Value)
                                throws IOException

  Prints a given XML element, which contains given attributes and a given string value, to a given `PrintWriter`, maintaining a given indentation level. The string element value (if exists) may be printed inside a CDATA section, depending on the value of a given 'CDATA' `boolean` flag. The element value may be printed on the same line as the element tags, or on a new line, depending on the value of a given 'new-line' `boolean` flag.

  Parameters:
    `tag` - The given XML element tag.
    `attributes` - The given XML element attributes.
    `elemValue` - The given XML element value.
    `putInCdataSection` - If `true`, the given element value is printed inside the CDATA section, otherwise it's printed 'as is'.
    `oWriter` - The given `PrintWriter` object.
    `level` - The given indentation level (number of marginal '\t' symbols).
    `useNewLine4Value` - If `true`, the given element value is printed on a new line, otherwise it's printed on the same line as the element tags.
  Throws:
    `IOException` - if any I/O exception occurred.

### printXMLElement

    public static void printXMLElement(String tag,
                                       String elemValue,
                                       PrintWriter oWriter,
                                       int level)
                                throws IOException

  Prints a given XML element, which contains only a given string value, to a given `PrintWriter`, maintaining a given indentation level. The string element value is printed 'as-is' without the CDATA block.

  Parameters:
    `tag` - The given XML tag.
    `elemValue` - The given XML element value.
    `oWriter` - The given `PrintWriter` object.
    `level` - The given indentation level (number of marginal '\t' symbols).
  Throws:
    `IOException` - if any I/O exception occurred.

### printXMLElement

    public static void printXMLElement(String tag,
                                       String elemValue,
                                       boolean putInCdataSection,
                                       PrintWriter oWriter,
                                       int level)
                                throws IOException

  Prints a given XML element, which contains only a given string value, to a given `PrintWriter`, maintaining a given indentation level. The string element value (if exists) is put into the CDATA block, if a given `boolean` flag is `true`.

  Parameters:
    `tag` - The given XML tag.
    `elemValue` - The given XML element value.
    `putInCdataSection` - If `true`, puts the element value in the `CDATA` section, otherwise prints the element value without the `CDATA` section.
    `oWriter` - The given `PrintWriter` object.
    `level` - The given indentation level (number of marginal '\t' symbols).
  Throws:
    `IOException` - if any I/O exception occurred.

### printXMLElements

    public static void printXMLElements(String tag,
                                        String elemValue,
                                        String valueDelimiter,
                                        PrintWriter oWriter,
                                        int level)
                                 throws IOException

  Prints multiple values of a given XML element, separated with a specified delimiter, to a given `PrintWriter`, maintaining a given indentation level. Inserts new line after each printed element value.

  Parameters:
    `tag` - The given XML element tag.
    `elemValue` - The given XML element values (multi-value), separated with the given delimiter.
    `valueDelimiter` - The given delimiter for multi-value elements.
    `oWriter` - The given `PrintWriter` object.
    `level` - The given indentation level (number of marginal '\t' symbols).
  Throws:
    `IOException` - if any I/O exception occurred.

### printXMLElementValue

    public static void printXMLElementValue(String elemValue,
                                            PrintWriter oWriter,
                                            int level)
                                     throws IOException

  Prints a given element value to a given `PrintWriter`, maintaining a given indentation level. By default, prints the element value 'as is' - not using the `CDATA` section.

  Parameters:
    `elemValue` - The given element value.
    `oWriter` - The given `PrintWriter` object.
    `level` - The given indentation level.
  Throws:
    `IOException` - if any I/O exception occurred.

### printXMLElementValue

    public static void printXMLElementValue(String elemValue,
                                            boolean putInCdataSection,
                                            PrintWriter oWriter,
                                            int level)
                                     throws IOException

  Prints a given element value to a given `PrintWriter`, maintaining a given indentation level. If a given `boolean` 'CDATA' flag is `true`, puts the element value in the `CDATA` section, otherwise prints the element value 'as is'.

  Parameters:
    `elemValue` - The given element value.
    `putInCdataSection` - If `true`, puts the element value in the `CDATA` section, otherwise prints the element value without the `CDATA` section.
    `oWriter` - The given `PrintWriter` object.
    `level` - The given indentation level.
  Throws:
    `IOException` - if any I/O exception occurred.

### printXMLHeader

    public static void printXMLHeader(String encoding,
                                      PrintWriter oWriter)
                               throws IOException

  Prints standard XML 1.0 header with a specified encoding to a given `PrintStream`. If no encoding is specified (`null` or empty string), does not include the encoding name in the header.

  Parameters:
    `encoding` - The given XML encoding name or `null`.
    `oWriter` - The given output `PrintStream`.
  Throws:
    `IOException` - if any I/O exception occurred.

### printXMLTag

    public static void printXMLTag(String tag,
                                   PrintWriter oWriter,
                                   boolean tagEnd,
                                   int level)
                            throws IOException

  Prints a given XML tag to a given `PrintWriter`, maintaining a given indentation level.

  Parameters:
    `tag` - The given XML tag.
    `oWriter` - The given `PrintWriter` object.
    `tagEnd` - If `false` prints the XML tag beginning brackets, otherwise prints the the XML tag ending brackets.
    `level` - The given indentation level (number of marginal '\t' symbols).
  Throws:
    `IOException` - if any I/O exception occurred.

### printXMLTag

    public static void printXMLTag(String tag,
                                   Properties attributes,
                                   PrintWriter oWriter,
                                   boolean tagEnd,
                                   int level)
                            throws IOException

  Prints a given XML tag with given element attributes to a given `PrintWriter`, maintaining a given indentation level.

  Parameters:
    `tag` - The given XML tag.
    `attributes` - The given XML element attributes.
    `oWriter` - The given `PrintWriter` object.
    `tagEnd` - If `false` prints the XML tag beginning brackets, otherwise prints the the XML tag ending brackets.
    `level` - The given indentation level (number of marginal '\t' symbols).
  Throws:
    `IOException` - if any I/O exception occurred.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2008 The Apache Software Foundation. All Rights Reserved.