Package cdc.util.xml
Class XmlUtils
- java.lang.Object
-
- cdc.util.xml.XmlUtils
-
public final class XmlUtils extends Object
Xml utilities.- Author:
- Damien Carbonne
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
XmlUtils.Context
Escaping context.static class
XmlUtils.EscapingPolicy
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static void
appendEscaped(StringBuilder builder, String s, XmlUtils.Context context, XmlUtils.EscapingPolicy policy)
static String
codePointToString(int codePoint)
static String
escape(String s, XmlUtils.Context context, XmlUtils.EscapingPolicy policy)
Returns an escaped version of a string.static boolean
isNameChar(int codePoint)
static boolean
isNameStartChar(int codePoint)
Returnstrue
if a code point is valid as first character of an xml name.static boolean
isValidName(String s)
Returnstrue
if a string is a valid xml name.static boolean
isValidXml(String s, XmlVersion version)
static boolean
isValidXml10(String s)
Returnstrue
if a string isnull
or contains only valid XML 1.0 characters.static boolean
isValidXml11(String s)
Returnstrue
if a string isnull
or contains only valid XML 1.1 characters.static boolean
isWhiteSpace(char[] ch, int offset, int count)
static boolean
isWhiteSpace(int codePoint)
Returnstrue
if a code point is a white space.static boolean
isWhiteSpace(String s)
Returnstrue
if a string isnull
or contains only white spaces.static boolean
isXml10Char(int codePoint)
Returnstrue
if a code point is valid for XML 1.0.static boolean
isXml11Char(int codePoint)
Returnstrue
if a code point is valid for XML 1.1.static boolean
isXmlChar(int codePoint, XmlVersion version)
static boolean
needsEscape(String s, XmlUtils.Context context, XmlUtils.EscapingPolicy policy)
Returnstrue
is a string must be escaped.static String
validate(String s, XmlVersion version, FailureReaction reaction)
static String
validate(String s, XmlVersion version, FailureReaction reaction, int def)
Checks that a string contains only valid characters, and replaces invalid chars.
-
-
-
Method Detail
-
codePointToString
public static String codePointToString(int codePoint)
-
isWhiteSpace
public static boolean isWhiteSpace(int codePoint)
Returnstrue
if a code point is a white space.- Parameters:
codePoint
- The code point.- Returns:
true
ifcodePoint
is a white space.
-
isWhiteSpace
public static boolean isWhiteSpace(String s)
Returnstrue
if a string isnull
or contains only white spaces.- Parameters:
s
- The string.- Returns:
true
ifs
isnull
or contains only white spaces.
-
isWhiteSpace
public static boolean isWhiteSpace(char[] ch, int offset, int count)
-
isXml10Char
public static boolean isXml10Char(int codePoint)
Returnstrue
if a code point is valid for XML 1.0.Note: A valid character may need escape.
- Parameters:
codePoint
- The code point.- Returns:
true
ifcodePoint
is a valid XML 1.0 code point.
-
isXml11Char
public static boolean isXml11Char(int codePoint)
Returnstrue
if a code point is valid for XML 1.1.Note: A valid character may need escape.
- Parameters:
codePoint
- The code point.- Returns:
true
ifcodePoint
is a valid XML 1.1 code point.
-
isXmlChar
public static boolean isXmlChar(int codePoint, XmlVersion version)
-
isValidXml10
public static boolean isValidXml10(String s)
Returnstrue
if a string isnull
or contains only valid XML 1.0 characters.Note: A valid character may need escape.
- Parameters:
s
- The string.- Returns:
true
ifs
isnull
or contains only valid XML 1.0 characters.
-
isValidXml11
public static boolean isValidXml11(String s)
Returnstrue
if a string isnull
or contains only valid XML 1.1 characters.Note: A valid character may need escape.
- Parameters:
s
- The string.- Returns:
true
ifs
isnull
or contains only valid XML 1.1 characters.
-
isValidXml
public static boolean isValidXml(String s, XmlVersion version)
-
isNameStartChar
public static boolean isNameStartChar(int codePoint)
Returnstrue
if a code point is valid as first character of an xml name.- Parameters:
codePoint
- The code point.- Returns:
true
ifcodePoint
is valid as first character of an xml name.
-
isNameChar
public static boolean isNameChar(int codePoint)
-
isValidName
public static boolean isValidName(String s)
Returnstrue
if a string is a valid xml name.If must not be null or empty, its first character must be a valid start character, and other characters must be valid.
- Parameters:
s
- The string.- Returns:
true
ifs
is a valid xml name.
-
validate
public static String validate(String s, XmlVersion version, FailureReaction reaction, int def)
Checks that a string contains only valid characters, and replaces invalid chars.- Parameters:
s
- The string.version
- The Xml version.reaction
- The reaction to adopt in when an invalid character is met.def
- The default code point to use to replace invalid characters.- Returns:
- A validated string.
- Throws:
IllegalArgumentException
- when invalid characters are met andreaction
is FAIL.
-
validate
public static String validate(String s, XmlVersion version, FailureReaction reaction)
-
needsEscape
public static boolean needsEscape(String s, XmlUtils.Context context, XmlUtils.EscapingPolicy policy)
Returnstrue
is a string must be escaped.<
and&
must always be escaped.>
does not need escape. It is escaped if required with policy."
needs to be escaped in attributes delimited by"
. Otherwise, is escaped if required by policy.'
needs to be escaped in attributes delimited by'
. Otherwise, is escaped if required by policy.\t
,\n
and\r
should be escaped in attributes. They are if escaped if required by policy.
- Parameters:
s
- The string.context
- The context.policy
- The escaping policy.- Returns:
true
iss
must be escaped incontext
and usingpolicy
.
-
escape
public static String escape(String s, XmlUtils.Context context, XmlUtils.EscapingPolicy policy)
Returns an escaped version of a string.- Parameters:
s
- The string.context
- The context.policy
- The escaping policy.- Returns:
- The escaped version of
s
incontext
and usingpolicy
.
-
appendEscaped
public static void appendEscaped(StringBuilder builder, String s, XmlUtils.Context context, XmlUtils.EscapingPolicy policy)
-
-