public final class XMLUtil extends Object
The GNU Lesser General Public License for details.| Modifier and Type | Field and Description |
|---|---|
private static PropertyMap |
badEntities |
private static Set<String> |
goodEntities |
private static Pattern |
invalidCharacterPattern
Pattern that negates the allowable XML 4 byte unicode characters.
|
private static org.slf4j.Logger |
log
The log stream
|
private static Pattern |
openHTMLTagPattern
Pattern that matches open <br>,<hr> and <img> tags.
|
private static Pattern |
validCharacterEntityPattern
Pattern for numeric entities.
|
| Modifier | Constructor and Description |
|---|---|
private |
XMLUtil()
Prevent instantiation
|
| Modifier and Type | Method and Description |
|---|---|
static String |
cleanAllCharacters(String broken)
Remove all invalid characters in the input, replacing them with a space.
|
static String |
cleanAllEntities(String broken)
For each entity in the input that is not allowed in XML, replace the
entity with its unicode equivalent or remove it.
|
static String |
cleanAllTags(String broken)
XML parse failed, so we can try getting rid of all the tags and having
another go.
|
static String |
closeEmptyTags(String broken)
Common HTML tags such as <br>,<hr> and <img> may be
left open causing XML parsing to fail.
|
static void |
debugSAXAttributes(Attributes attrs)
Show the attributes of an element as debug
|
static String |
escape(String s)
Normalizes the given string
|
static String |
getAttributeName(Attributes attrs,
int index)
Get the full name of the attribute, including the namespace if any.
|
static org.jdom2.Document |
getDocument(String subject)
Get and load an XML file from the classpath and a few other places into a
JDOM Document object.
|
private static String |
handleEntity(String entity)
Replace entity with its unicode equivalent, if it is not a valid XML
entity.
|
static String |
recloseTags(String broken)
Strip all closing tags from the end of the XML fragment, and then
re-close all tags that are open at the end of the string.
|
static String |
writeToString(SAXEventProvider provider)
Serialize a SAXEventProvider into an XML String
|
private static PropertyMap badEntities
private static Pattern validCharacterEntityPattern
private static Pattern invalidCharacterPattern
private static Pattern openHTMLTagPattern
private static final org.slf4j.Logger log
public static org.jdom2.Document getDocument(String subject) throws org.jdom2.JDOMException, IOException
subject - The name of the desired resource (without any extension)IOException - if there is a problem reading the fileorg.jdom2.JDOMException - If the resource is not valid XMLpublic static String writeToString(SAXEventProvider provider) throws SAXException
provider - The source of SAX eventsSAXExceptionpublic static String getAttributeName(Attributes attrs, int index)
attrs - the collection of attributesindex - the index of the desired attributepublic static void debugSAXAttributes(Attributes attrs)
attrs - public static String escape(String s)
s - public static String cleanAllEntities(String broken)
broken - the string to handle entitiespublic static String cleanAllCharacters(String broken)
broken - the string to be cleanedpublic static String recloseTags(String broken)
broken - the string to be cleaned.null if the string could not be
cleaned due to more broken XMLpublic static String closeEmptyTags(String broken)
broken - the string to be cleanedpublic static String cleanAllTags(String broken)
broken - private static String handleEntity(String entity)
entity - the entity to be replaced