org.apache.fop.util

## Class XMLUtil

- java.lang.Object
- - org.apache.fop.util.XMLUtil

All Implemented Interfaces:
  XMLConstants

    public final class XMLUtil
    extends Object
    implements XMLConstants

A collection of utility method for XML handling.

### Field Summary

### Fields inherited from interface org.apache.fop.util.XMLConstants

`CDATA, XLINK_HREF, XLINK_NAMESPACE, XLINK_PREFIX, XML_NAMESPACE, XML_PREFIX, XML_SPACE, XMLNS_NAMESPACE_URI, XMLNS_PREFIX`

### Method Summary

All Methods Static Methods Concrete Methods
`static void` `addAttribute(AttributesImpl atts, org.apache.xmlgraphics.util.QName attribute, String value)` Adds an attribute to a given `AttributesImpl` instance.
`static void` `addAttribute(AttributesImpl atts, String localName, String value)` Adds an attribute to a given `AttributesImpl` instance.
`static int[][]` `decodePositionAdjustments(String value)` Decode a string as a glyph position adjustments array, where the string shall adhere to the syntax specified by `encodePositionAdjustments(int[][], int)`.
`static String` `encodePositionAdjustments(int[][] dp)` Encode a glyph position adjustments array as a string, where the string value adheres to the following syntax: count ( 'Z' repeat | number ) where each token is separated by whitespace, except that 'Z' followed by repeat are considered to be a single token with no intervening whitespace.

`static String`

`encodePositionAdjustments(int[][] dp, int paCount)`
Encode a glyph position adjustments array as a string, where the string value adheres to the following syntax: count ( 'Z' repeat | number ) where each token is separated by whitespace, except that 'Z' followed by repeat are considered to be a single token with no intervening whitespace, and where 'Z' repeat encodes repeated zeroes.

`static String` `escape(String unescaped)` Escape '<', '>' and '&' using NCRs.
`static boolean` `getAttributeAsBoolean(Attributes attributes, String name, boolean defaultValue)` Returns an attribute value as a boolean value.
`static int` `getAttributeAsInt(Attributes attributes, String name)` Returns an attribute value as a int value.
`static int` `getAttributeAsInt(Attributes attributes, String name, int defaultValue)` Returns an attribute value as a int value.
`static int[]` `getAttributeAsIntArray(Attributes attributes, String name)` Returns an attribute value as a integer array.
`static Integer` `getAttributeAsInteger(Attributes attributes, String name)` Returns an attribute value as a Integer value.
`static int[][]` `getAttributeAsPositionAdjustments(Attributes attributes, String name)` Returns an attribute value as a glyph position adjustments array.
`static Rectangle` `getAttributeAsRectangle(Attributes attributes, String name)` Returns an attribute value as a Rectangle value.
`static Rectangle2D` `getAttributeAsRectangle2D(Attributes attributes, String name)` Returns an attribute value as a Rectangle2D value.

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

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

### Method Detail

#### getAttributeAsBoolean

    public static boolean getAttributeAsBoolean(Attributes attributes,
                                                String name,
                                                boolean defaultValue)

Returns an attribute value as a boolean value.

Parameters:
  `attributes` - the Attributes object
  `name` - the name of the attribute
  `defaultValue` - the default value if the attribute is not specified
Returns:
  the attribute value as a boolean

#### getAttributeAsInt

    public static int getAttributeAsInt(Attributes attributes,
                                        String name,
                                        int defaultValue)

Returns an attribute value as a int value.

Parameters:
  `attributes` - the Attributes object
  `name` - the name of the attribute
  `defaultValue` - the default value if the attribute is not specified
Returns:
  the attribute value as an int

#### getAttributeAsInt

    public static int getAttributeAsInt(Attributes attributes,
                                        String name)
                                 throws SAXException

Returns an attribute value as a int value.

Parameters:
  `attributes` - the Attributes object
  `name` - the name of the attribute
Returns:
  the attribute value as an int
Throws:
  `SAXException` - if the attribute is missing

#### getAttributeAsInteger

    public static Integer getAttributeAsInteger(Attributes attributes,
                                                String name)

Returns an attribute value as a Integer value.

Parameters:
  `attributes` - the Attributes object
  `name` - the name of the attribute
Returns:
  the attribute value as an Integer or null if the attribute is missing

#### getAttributeAsRectangle2D

    public static Rectangle2D getAttributeAsRectangle2D(Attributes attributes,
                                                        String name)

Returns an attribute value as a Rectangle2D value. The string value is expected as 4 double-precision numbers separated by whitespace.

Parameters:
  `attributes` - the Attributes object
  `name` - the name of the attribute
Returns:
  the attribute value as an Rectangle2D

#### getAttributeAsRectangle

    public static Rectangle getAttributeAsRectangle(Attributes attributes,
                                                    String name)

Returns an attribute value as a Rectangle value. The string value is expected as 4 integer numbers separated by whitespace.

Parameters:
  `attributes` - the Attributes object
  `name` - the name of the attribute
Returns:
  the attribute value as an Rectangle

#### getAttributeAsIntArray

    public static int[] getAttributeAsIntArray(Attributes attributes,
                                               String name)

Returns an attribute value as a integer array. The string value is expected as 4 integer numbers separated by whitespace.

Parameters:
  `attributes` - the Attributes object
  `name` - the name of the attribute
Returns:
  the attribute value as an int array

#### addAttribute

    public static void addAttribute(AttributesImpl atts,
                                    org.apache.xmlgraphics.util.QName attribute,
                                    String value)

Adds an attribute to a given `AttributesImpl` instance.

Parameters:
  `atts` - the attributes collection
  `attribute` - the attribute to add
  `value` - the attribute's CDATA value

#### addAttribute

    public static void addAttribute(AttributesImpl atts,
                                    String localName,
                                    String value)

Adds an attribute to a given `AttributesImpl` instance. The attribute will be added in the default namespace.

Parameters:
  `atts` - the attributes collection
  `localName` - the local name of the attribute
  `value` - the attribute's CDATA value

#### encodePositionAdjustments

    public static String encodePositionAdjustments(int[][] dp,
                                                   int paCount)

Encode a glyph position adjustments array as a string, where the string value adheres to the following syntax: count ( 'Z' repeat | number ) where each token is separated by whitespace, except that 'Z' followed by repeat are considered to be a single token with no intervening whitespace, and where 'Z' repeat encodes repeated zeroes.

Parameters:
  `dp` - the adjustments array
  `paCount` - the number of entries to encode from adjustments array
Returns:
  the encoded value

#### encodePositionAdjustments

    public static String encodePositionAdjustments(int[][] dp)

Encode a glyph position adjustments array as a string, where the string value adheres to the following syntax: count ( 'Z' repeat | number ) where each token is separated by whitespace, except that 'Z' followed by repeat are considered to be a single token with no intervening whitespace.

Parameters:
  `dp` - the adjustments array
Returns:
  the encoded value

#### decodePositionAdjustments

    public static int[][] decodePositionAdjustments(String value)

Decode a string as a glyph position adjustments array, where the string shall adhere to the syntax specified by `encodePositionAdjustments(int[][], int)`.

Parameters:
  `value` - the encoded value
Returns:
  the position adjustments array

#### getAttributeAsPositionAdjustments

    public static int[][] getAttributeAsPositionAdjustments(Attributes attributes,
                                                            String name)

Returns an attribute value as a glyph position adjustments array. The string value is expected to be a non-empty sequence of either Z<repeat> or <number>, where the former encodes a repeat count (of zeroes) and the latter encodes a integer number, and where each item is separated by whitespace.

Parameters:
  `attributes` - the Attributes object
  `name` - the name of the attribute
Returns:
  the position adjustments array

#### escape

    public static String escape(String unescaped)

Escape '<', '>' and '&' using NCRs.

Parameters:
  `unescaped` - string
Returns:
  escaped string