xsul.dsig.apache.axis.uti
Class XMLUtils

java.lang.Object
  extended byxsul.dsig.apache.axis.uti.XMLUtils

public class XMLUtils
extends java.lang.Object

Adapted from Apache.


Nested Class Summary
static class XMLUtils.ParserErrorHandler
           
 
Field Summary
static java.lang.String httpAuthCharEncoding
           
 
Constructor Summary
XMLUtils()
           
 
Method Summary
static java.lang.String base64encode(byte[] bytes)
           
static void DocumentToStream(org.w3c.dom.Document doc, java.io.OutputStream out)
           
static java.lang.String DocumentToString(org.w3c.dom.Document doc)
          turn a whole DOM document into XML
static void DocumentToWriter(org.w3c.dom.Document doc, java.io.Writer writer)
           
static void ElementToStream(org.w3c.dom.Element element, java.io.OutputStream out)
           
static java.lang.String ElementToString(org.w3c.dom.Element element)
          turn an element into an XML fragment
static void ElementToWriter(org.w3c.dom.Element element, java.io.Writer writer)
           
static java.lang.String escapeXml(java.lang.String s)
           
static org.w3c.dom.Node findNode(org.w3c.dom.Node node, QName name)
          Find a Node with a given QName
static java.lang.String getChildCharacterData(org.w3c.dom.Element parentEl)
          Concat all the text and cdata node children of this elem and return the resulting text.
static org.xml.sax.InputSource getEmptyInputSource()
           
static QName getFullQNameFromString(java.lang.String str, org.w3c.dom.Node e)
          Return a QName when passed a string like "foo:bar" by mapping the "foo" prefix to a namespace in the context of the given Node.
static java.lang.String getInnerXMLString(org.w3c.dom.Element element)
          get the inner XML inside an element as a string.
static org.xml.sax.InputSource getInputSourceFromURI(java.lang.String uri)
          Utility to get the bytes uri.
static java.lang.String getNamespace(java.lang.String prefix, org.w3c.dom.Node e)
           
static java.lang.String getPrefix(java.lang.String uri, org.w3c.dom.Node e)
           
static QName getQNameFromString(java.lang.String str, org.w3c.dom.Node e)
          Return a QName when passed a string like "foo:bar" by mapping the "foo" prefix to a namespace in the context of the given Node.
static javax.xml.parsers.SAXParser getSAXParser()
          Get a SAX parser instance from the JAXP factory.
static java.lang.String getStringForQName(QName qname, org.w3c.dom.Element e)
          Return a string for a particular QName, mapping a new prefix if necessary.
static void initSAXFactory(java.lang.String factoryClassName, boolean namespaceAware, boolean validating)
          Initialize the SAX parser factory.
static org.w3c.dom.Document newDocument()
          Get an empty new Document
static org.w3c.dom.Document newDocument(org.xml.sax.InputSource inp)
          Get a new Document read from the input source
static org.w3c.dom.Document newDocument(java.io.InputStream inp)
          Get a new Document read from the input stream
static org.w3c.dom.Document newDocument(java.lang.String uri)
          Get a new Document read from the indicated uri
static org.w3c.dom.Document newDocument(java.lang.String uri, java.lang.String username, java.lang.String password)
          Create a new document from the given URI, use the username and password if the URI requires authentication.
static void PrettyDocumentToStream(org.w3c.dom.Document doc, java.io.OutputStream out)
           
static void PrettyDocumentToWriter(org.w3c.dom.Document doc, java.io.Writer writer)
           
static void PrettyElementToStream(org.w3c.dom.Element element, java.io.OutputStream out)
           
static void PrettyElementToWriter(org.w3c.dom.Element element, java.io.Writer writer)
           
static void privateElementToWriter(org.w3c.dom.Element element, java.io.Writer writer, boolean omitXMLDecl, boolean pretty)
           
static void releaseSAXParser(javax.xml.parsers.SAXParser parser)
          Return a SAX parser for reuse.
static org.xml.sax.InputSource sourceToInputSource(javax.xml.transform.Source source)
          Utility to get the bytes uri
static org.w3c.dom.Element StringToElement(java.lang.String namespace, java.lang.String name, java.lang.String string)
          Convert a simple string to an element with a text node
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

httpAuthCharEncoding

public static final java.lang.String httpAuthCharEncoding
See Also:
Constant Field Values
Constructor Detail

XMLUtils

public XMLUtils()
Method Detail

initSAXFactory

public static void initSAXFactory(java.lang.String factoryClassName,
                                  boolean namespaceAware,
                                  boolean validating)
Initialize the SAX parser factory.

Parameters:
factoryClassName - The (optional) class name of the desired SAXParserFactory implementation. Will be assigned to the system property javax.xml.parsers.SAXParserFactory unless this property is already set. If null, leaves current setting alone.
namespaceAware - true if we want a namespace-aware parser
validating - true if we want a validating parser

getSAXParser

public static javax.xml.parsers.SAXParser getSAXParser()
Get a SAX parser instance from the JAXP factory.

Returns:
a SAXParser instance.

releaseSAXParser

public static void releaseSAXParser(javax.xml.parsers.SAXParser parser)
Return a SAX parser for reuse.

Parameters:
parser - A SAX parser that is available for reuse

newDocument

public static org.w3c.dom.Document newDocument()
                                        throws javax.xml.parsers.ParserConfigurationException
Get an empty new Document

Returns:
Document
Throws:
javax.xml.parsers.ParserConfigurationException - if construction problems occur

newDocument

public static org.w3c.dom.Document newDocument(org.xml.sax.InputSource inp)
                                        throws javax.xml.parsers.ParserConfigurationException,
                                               org.xml.sax.SAXException,
                                               java.io.IOException
Get a new Document read from the input source

Returns:
Document
Throws:
javax.xml.parsers.ParserConfigurationException - if construction problems occur
org.xml.sax.SAXException - if the document has xml sax problems
java.io.IOException - if i/o exceptions occur

newDocument

public static org.w3c.dom.Document newDocument(java.io.InputStream inp)
                                        throws javax.xml.parsers.ParserConfigurationException,
                                               org.xml.sax.SAXException,
                                               java.io.IOException
Get a new Document read from the input stream

Returns:
Document
Throws:
javax.xml.parsers.ParserConfigurationException - if construction problems occur
org.xml.sax.SAXException - if the document has xml sax problems
java.io.IOException - if i/o exceptions occur

newDocument

public static org.w3c.dom.Document newDocument(java.lang.String uri)
                                        throws javax.xml.parsers.ParserConfigurationException,
                                               org.xml.sax.SAXException,
                                               java.io.IOException
Get a new Document read from the indicated uri

Returns:
Document
Throws:
javax.xml.parsers.ParserConfigurationException - if construction problems occur
org.xml.sax.SAXException - if the document has xml sax problems
java.io.IOException - if i/o exceptions occur

newDocument

public static org.w3c.dom.Document newDocument(java.lang.String uri,
                                               java.lang.String username,
                                               java.lang.String password)
                                        throws javax.xml.parsers.ParserConfigurationException,
                                               org.xml.sax.SAXException,
                                               java.io.IOException
Create a new document from the given URI, use the username and password if the URI requires authentication.

Parameters:
uri - the resource to get
username - basic auth username
password - basic auth password
Throws:
javax.xml.parsers.ParserConfigurationException - if construction problems occur
org.xml.sax.SAXException - if the document has xml sax problems
java.io.IOException - if i/o exceptions occur

ElementToString

public static java.lang.String ElementToString(org.w3c.dom.Element element)
turn an element into an XML fragment

Parameters:
element -
Returns:
stringified element

DocumentToString

public static java.lang.String DocumentToString(org.w3c.dom.Document doc)
turn a whole DOM document into XML

Parameters:
doc - DOM document
Returns:
string representation of the document, including XML declaration

privateElementToWriter

public static void privateElementToWriter(org.w3c.dom.Element element,
                                          java.io.Writer writer,
                                          boolean omitXMLDecl,
                                          boolean pretty)

ElementToStream

public static void ElementToStream(org.w3c.dom.Element element,
                                   java.io.OutputStream out)

PrettyElementToStream

public static void PrettyElementToStream(org.w3c.dom.Element element,
                                         java.io.OutputStream out)

ElementToWriter

public static void ElementToWriter(org.w3c.dom.Element element,
                                   java.io.Writer writer)

PrettyElementToWriter

public static void PrettyElementToWriter(org.w3c.dom.Element element,
                                         java.io.Writer writer)

DocumentToStream

public static void DocumentToStream(org.w3c.dom.Document doc,
                                    java.io.OutputStream out)

PrettyDocumentToStream

public static void PrettyDocumentToStream(org.w3c.dom.Document doc,
                                          java.io.OutputStream out)

DocumentToWriter

public static void DocumentToWriter(org.w3c.dom.Document doc,
                                    java.io.Writer writer)

PrettyDocumentToWriter

public static void PrettyDocumentToWriter(org.w3c.dom.Document doc,
                                          java.io.Writer writer)

StringToElement

public static org.w3c.dom.Element StringToElement(java.lang.String namespace,
                                                  java.lang.String name,
                                                  java.lang.String string)
Convert a simple string to an element with a text node

Parameters:
namespace - - element namespace
name - - element name
string - - value of the text node
Returns:
element - an XML Element, null if no element was created

getInnerXMLString

public static java.lang.String getInnerXMLString(org.w3c.dom.Element element)
get the inner XML inside an element as a string. This is done by converting the XML to its string representation, then extracting the subset between beginning and end tags.

Parameters:
element -
Returns:
textual body of the element, or null for no inner body

getPrefix

public static java.lang.String getPrefix(java.lang.String uri,
                                         org.w3c.dom.Node e)

getNamespace

public static java.lang.String getNamespace(java.lang.String prefix,
                                            org.w3c.dom.Node e)

getQNameFromString

public static QName getQNameFromString(java.lang.String str,
                                       org.w3c.dom.Node e)
Return a QName when passed a string like "foo:bar" by mapping the "foo" prefix to a namespace in the context of the given Node.

Returns:
a QName generated from the given string representation

getFullQNameFromString

public static QName getFullQNameFromString(java.lang.String str,
                                           org.w3c.dom.Node e)
Return a QName when passed a string like "foo:bar" by mapping the "foo" prefix to a namespace in the context of the given Node. If default namespace is found it is returned as part of the QName.

Returns:
a QName generated from the given string representation

getStringForQName

public static java.lang.String getStringForQName(QName qname,
                                                 org.w3c.dom.Element e)
Return a string for a particular QName, mapping a new prefix if necessary.


getChildCharacterData

public static java.lang.String getChildCharacterData(org.w3c.dom.Element parentEl)
Concat all the text and cdata node children of this elem and return the resulting text. (by Matt Duftler)

Parameters:
parentEl - the element whose cdata/text node values are to be combined.
Returns:
the concatanated string.

getInputSourceFromURI

public static org.xml.sax.InputSource getInputSourceFromURI(java.lang.String uri)
Utility to get the bytes uri. Does NOT handle authenticated URLs, use getInputSourceFromURI(uri, username, password)

Parameters:
uri - the resource to get
See Also:
#getInputSourceFromURI(String uri, String username, String password)

sourceToInputSource

public static org.xml.sax.InputSource sourceToInputSource(javax.xml.transform.Source source)
Utility to get the bytes uri

Parameters:
source - the resource to get

base64encode

public static final java.lang.String base64encode(byte[] bytes)

getEmptyInputSource

public static org.xml.sax.InputSource getEmptyInputSource()

findNode

public static org.w3c.dom.Node findNode(org.w3c.dom.Node node,
                                        QName name)
Find a Node with a given QName

Parameters:
node - parent node
name - QName of the child we need to find
Returns:
child node

escapeXml

public static java.lang.String escapeXml(java.lang.String s)


IU Extreme! Lab (http://www.extreme.indiana.edu)