public abstract class XMLUtils
extends java.lang.Object
parse() methods must be given a wellformatted XML rescource, in which the encoding is set
 forth, since none of them recieves such an parameter. If no encoding is specified in the XML recource, UTF-8 is
 assumed as set forth by the W3C recommendation.
 
 For all stream() methods without the encoding-paramter the default encoding UTF-8 is assumed (W3C
 Recommendation?).
| Modifier and Type | Method and Description | 
|---|---|
static void | 
clearGrammarCache()
Clear grammar cache. 
 | 
static boolean | 
decodeBoolean(java.lang.String xmlBoolean)
Decodes a Boolean. 
 | 
static java.util.Date | 
decodeDate(java.lang.String xmlDate)
Decodes a Date. 
 | 
static java.util.Date | 
decodeDateTime(java.lang.String xmlDate)
Decodes a DateTime. 
 | 
static int | 
decodeInteger(java.lang.String xmlInteger)
Decodes an Integer. 
 | 
static byte[] | 
documentToBytes(org.w3c.dom.Document document)
Converts a Document into a byte[]. 
 | 
static java.lang.String | 
documentToString(org.w3c.dom.Document document)
Converts a Document to a String. 
 | 
static java.lang.String | 
encodeBoolean(boolean javaBoolean)
Encodes a boolean. 
 | 
static java.lang.String | 
encodeDate(java.util.Date javaDate)
Encodes a date. 
 | 
static java.lang.String | 
encodeDateTime(java.util.Date javaDate)
Encodes a DateTime. 
 | 
static java.lang.String | 
encodeInteger(int value)
Encodes and Integer. 
 | 
static java.lang.String | 
encodeInteger(java.lang.Integer value)
Encodes and Integer. 
 | 
static java.lang.String | 
generateGUID(java.lang.Object o)
A 32 byte GUID generator (Globally Unique ID). 
 | 
static org.w3c.dom.Document | 
getDocument()
Returns an empty document whose document element is not set ! 
 | 
static org.w3c.dom.Document | 
getDocument(java.lang.String docElement)
Creates a document with a new document element with it's name set to the given text. 
 | 
static java.lang.String | 
getLocalPart(java.lang.String xml)
This method converts a given XML attribute or element name to a local representation by stripping it of its
 namespace prefix. 
 | 
static boolean | 
isXML(byte[] message)
Checks if the given byte[] is XML. 
 | 
static boolean | 
isXML(java.io.File file)
Checks if the given file is XML. 
 | 
static boolean | 
isXML(java.io.InputStream is)
Checks if the given InputStream is XML. 
 | 
static void | 
loadSchema(java.lang.String schemaName,
          BundleContext context)  | 
static void | 
loadSchemas(java.io.File folder,
           java.lang.String filter,
           java.lang.String schemaUrlPrefix)
Load schemas. 
 | 
static org.w3c.dom.Document | 
newDocument()
Creates a new Document. 
 | 
static org.w3c.dom.Document | 
parse(byte[] bytes,
     boolean validate)
Shorthand for  
parse(bytes, new XMLUtilsConfig(validate,true)). | 
static org.w3c.dom.Document | 
parse(byte[] bytes,
     XMLUtilsConfig cfg)
Parses a document from the given byte-array.The applied encoding must be declared within the XML-document-instance
 or otherwise UTF-8 is assumed according to the W3C recommendation. 
 | 
static org.w3c.dom.Document | 
parse(java.io.File file,
     boolean validate)
Shorthand for  
parse(file, new XMLUtilsConfig(validate,true)). | 
static org.w3c.dom.Document | 
parse(java.io.File file,
     XMLUtilsConfig cfg)
Parses a document from the given File. 
 | 
static org.w3c.dom.Document | 
parse(java.io.InputStream is,
     boolean validate)
Shorthand for  
parse(is , new XMLUtilsConfig(validate,true)). | 
static org.w3c.dom.Document | 
parse(java.io.InputStream is,
     XMLUtilsConfig cfg)
Parses a document from the given InputStream. 
 | 
static void | 
removeWhitespaceTextNodes(org.w3c.dom.Element parent)
Traverses through a DOM tree starting at the given element and removes all those text-nodes from it that only
 contain white spaces. 
 | 
static void | 
setGrammarCacheLock(boolean lockState)
Sets the grammar cache lock. 
 | 
static byte[] | 
stream(org.w3c.dom.Element el,
      boolean validate)
Shorthand for  
stream(el , validate, "UTF-8")). | 
static byte[] | 
stream(org.w3c.dom.Element el,
      boolean validate,
      boolean preserveSpace)
Shorthand for  
stream(el , validate,
 "UTF-8")). | 
static byte[] | 
stream(org.w3c.dom.Element el,
      boolean validate,
      java.lang.String enc,
      boolean preserveSpace)
Streams the given DOM-(Sub)tree starting at the given Element into the returned byte-array. 
 | 
static void | 
stream(org.w3c.dom.Element el,
      boolean validate,
      java.lang.String enc,
      java.io.File file)
Streams the given DOM-(Sub)tree starting at the given Element into the given File 
 | 
static void | 
stream(org.w3c.dom.Element el,
      boolean validate,
      java.lang.String enc,
      java.io.OutputStream os)
Streams the given DOM-(Sub)tree starting at the given Element into the returned byte-array. 
 | 
static boolean | 
validate(org.w3c.dom.Element el)
Validates the given element and it's decendants against the XML-Schema as specified in the given element. 
 | 
public static org.w3c.dom.Document newDocument()
                                        throws XMLUtilsException
XMLUtilsException - if any error occurspublic static java.lang.String documentToString(org.w3c.dom.Document document)
                                         throws XMLUtilsException
document - the Document to convertXMLUtilsException - if any error occurspublic static byte[] documentToBytes(org.w3c.dom.Document document)
                              throws XMLUtilsException
document - the DocumentXMLUtilsException - if any error occurspublic static java.util.Date decodeDate(java.lang.String xmlDate)
                                 throws java.text.ParseException
xmlDate - the xmlDatejava.text.ParseException - if any error occurspublic static java.lang.String encodeDate(java.util.Date javaDate)
javaDate - a Datepublic static java.util.Date decodeDateTime(java.lang.String xmlDate)
                                     throws java.text.ParseException
xmlDate - the xmlDatejava.text.ParseException - if any error occurspublic static java.lang.String encodeDateTime(java.util.Date javaDate)
javaDate - a datepublic static boolean decodeBoolean(java.lang.String xmlBoolean)
xmlBoolean - the xmlBooleanpublic static java.lang.String encodeBoolean(boolean javaBoolean)
javaBoolean - a booleanpublic static int decodeInteger(java.lang.String xmlInteger)
xmlInteger - the xmlIntegerpublic static java.lang.String encodeInteger(int value)
value - a intpublic static java.lang.String encodeInteger(java.lang.Integer value)
value - Integerpublic static final java.lang.String generateGUID(java.lang.Object o)
o - a Objectpublic static org.w3c.dom.Document getDocument()
public static org.w3c.dom.Document getDocument(java.lang.String docElement)
docElement - a docElementpublic static java.lang.String getLocalPart(java.lang.String xml)
xml - the xmlpublic static boolean isXML(java.io.File file)
file - a Filepublic static boolean isXML(byte[] message)
message - a byte[]public static boolean isXML(java.io.InputStream is)
is - a InputStreampublic static void loadSchema(java.lang.String schemaName,
              BundleContext context)
                       throws XMLUtilsException
schemaName - Schema name.XMLUtilsException - Unable to resolve schema.public static void loadSchemas(java.io.File folder,
               java.lang.String filter,
               java.lang.String schemaUrlPrefix)
                        throws XMLUtilsException
folder - the folderfilter - the filterschemaUrlPrefix - the schemaUrlPrefixXMLUtilsException - if any error occurspublic static void clearGrammarCache()
public static void setGrammarCacheLock(boolean lockState)
lockState - boolean flagpublic static org.w3c.dom.Document parse(byte[] bytes,
                         boolean validate)
                                  throws XMLUtilsException
parse(bytes, new XMLUtilsConfig(validate,true)).bytes - a byte[]validate - boolean flagXMLUtilsException - if any error occurspublic static org.w3c.dom.Document parse(byte[] bytes,
                         XMLUtilsConfig cfg)
                                  throws XMLUtilsException
bytes - a byte[]cfg - a XMLUtilsConfigXMLUtilsException - if cgf contains invalid values or parsing results in an error.public static org.w3c.dom.Document parse(java.io.File file,
                         boolean validate)
                                  throws XMLUtilsException
parse(file, new XMLUtilsConfig(validate,true)).file - a Filevalidate - boolean flagXMLUtilsException - if any error occurspublic static org.w3c.dom.Document parse(java.io.File file,
                         XMLUtilsConfig cfg)
                                  throws XMLUtilsException
file - a Filecfg - the XMLUtilsConfigXMLUtilsException - if the File dosn't point to a valid location, cgf contains invalid values, or parsing results in an
           error.public static org.w3c.dom.Document parse(java.io.InputStream is,
                         boolean validate)
                                  throws XMLUtilsException
parse(is , new XMLUtilsConfig(validate,true)).is - a InputStreamvalidate - boolean flagXMLUtilsException - if any error occurspublic static org.w3c.dom.Document parse(java.io.InputStream is,
                         XMLUtilsConfig cfg)
                                  throws XMLUtilsException
is - a InputStreamcfg - the XMLUtilsConfigXMLUtilsException - if cfg contains invalid values or parsing results in an error.public static void removeWhitespaceTextNodes(org.w3c.dom.Element parent)
parent - the parent Elementpublic static byte[] stream(org.w3c.dom.Element el,
            boolean validate)
                     throws XMLUtilsException
stream(el , validate, "UTF-8")).el - a Elementvalidate - boolean flagXMLUtilsException - if any exception occurspublic static byte[] stream(org.w3c.dom.Element el,
            boolean validate,
            boolean preserveSpace)
                     throws XMLUtilsException
stream(el , validate,
 "UTF-8")).el - a Elementvalidate - boolean flagpreserveSpace - boolean flagXMLUtilsException - if any exception occurspublic static byte[] stream(org.w3c.dom.Element el,
            boolean validate,
            java.lang.String enc,
            boolean preserveSpace)
                     throws XMLUtilsException
el - a Elementvalidate - whether the given DOM-(sub)tree shall be validated against an XML-Schema that is referenced in the given
          element.enc - the encoding that shall be applied. The given String must conform to the encodings as set forth by the W3C
          and are somewhat different to that of Java.preserveSpace - boolean flagXMLUtilsException - if any exception occurspublic static void stream(org.w3c.dom.Element el,
          boolean validate,
          java.lang.String enc,
          java.io.File file)
                   throws XMLUtilsException
el - a Elementenc - the encoding that shall be applied. The given String must conform to the encodings as set forth by the W3C
          and are somewhat different to that of Java.validate - whether the given DOM-(sub)tree shall be validated against an XML-Schema that is referenced in the given
          element.file - if it exist it will be overwritten otherwise created. If access rights are violated an XMLUtilsExcpetion
          is thrown.XMLUtilsException - if any error occurspublic static void stream(org.w3c.dom.Element el,
          boolean validate,
          java.lang.String enc,
          java.io.OutputStream os)
                   throws XMLUtilsException
el - a Elementenc - the encoding that shall be applied. The given String must conform to the encodings as set forth by the W3C
          and are somewhat different to that of Java.validate - whether the given DOM-(sub)tree shall be validated against an XML-Schema that is referenced in the given
          element.os - a OutputStreamXMLUtilsException - if any error occurspublic static boolean validate(org.w3c.dom.Element el)
                        throws XMLUtilsException
Unless someone finds a way to validate a life DOM-Tree against a given schema, the quickest way to do this is to, write the damn thing into an ByteArrayOutputStream and to read from that again, and while reading it perform a validation.
el - a ElementXMLUtilsException - if any error occurs