Class XMLUtils

java.lang.Object
org.apache.axis.utils.XMLUtils

public class XMLUtils extends Object
  • Field Details

    • log

      protected static org.apache.commons.logging.Log log
    • httpAuthCharEncoding

      public static final String httpAuthCharEncoding
      See Also:
    • enableParserReuse

      protected static boolean enableParserReuse
  • Constructor Details

    • XMLUtils

      public XMLUtils()
  • Method Details

    • xmlEncodeString

      public static String xmlEncodeString(String orig)
      Encode a string appropriately for XML.
      Parameters:
      orig - the String to encode
      Returns:
      a String in which XML special chars are repalced by entities
    • getXMLEncoder

      public static XMLEncoder getXMLEncoder(MessageContext msgContext)
      Get the current XMLEncoder
      Returns:
      XMLEncoder
    • getXMLEncoder

      public static XMLEncoder getXMLEncoder(String encoding)
      Get the XMLEncoder for specific encoding
      Returns:
      XMLEncoder
    • getEncoding

      public static String getEncoding(MessageContext msgContext)
      Get the current encoding in effect
      Returns:
      string
    • getEncoding

      public static String getEncoding()
      Get the current encoding in effect
      Returns:
      string
    • initSAXFactory

      public static void initSAXFactory(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
    • getDocumentBuilder

      public static DocumentBuilder getDocumentBuilder() throws ParserConfigurationException
      Gets a DocumentBuilder
      Returns:
      DocumentBuilder
      Throws:
      ParserConfigurationException
    • releaseDocumentBuilder

      public static void releaseDocumentBuilder(DocumentBuilder db)
      Releases a DocumentBuilder
      Parameters:
      db -
    • getSAXParser

      public static SAXParser getSAXParser()
      Get a SAX parser instance from the JAXP factory.
      Returns:
      a SAXParser instance.
    • releaseSAXParser

      public static void releaseSAXParser(SAXParser parser)
      Return a SAX parser for reuse.
      Parameters:
      parser - A SAX parser that is available for reuse
    • newDocument

      public static Document newDocument() throws ParserConfigurationException
      Get an empty new Document
      Returns:
      Document
      Throws:
      ParserConfigurationException - if construction problems occur
    • newDocument

      public static Document newDocument(InputSource inp) throws ParserConfigurationException, SAXException, IOException
      Get a new Document read from the input source
      Returns:
      Document
      Throws:
      ParserConfigurationException - if construction problems occur
      SAXException - if the document has xml sax problems
      IOException - if i/o exceptions occur
    • newDocument

      public static Document newDocument(InputStream inp) throws ParserConfigurationException, SAXException, IOException
      Get a new Document read from the input stream
      Returns:
      Document
      Throws:
      ParserConfigurationException - if construction problems occur
      SAXException - if the document has xml sax problems
      IOException - if i/o exceptions occur
    • newDocument

      public static Document newDocument(String uri) throws ParserConfigurationException, SAXException, IOException
      Get a new Document read from the indicated uri
      Returns:
      Document
      Throws:
      ParserConfigurationException - if construction problems occur
      SAXException - if the document has xml sax problems
      IOException - if i/o exceptions occur
    • newDocument

      public static Document newDocument(String uri, String username, String password) throws ParserConfigurationException, SAXException, 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:
      ParserConfigurationException - if construction problems occur
      SAXException - if the document has xml sax problems
      IOException - if i/o exceptions occur
    • ElementToString

      public static String ElementToString(Element element)
      turn an element into an XML fragment
      Parameters:
      element -
      Returns:
      stringified element
    • DocumentToString

      public static String DocumentToString(Document doc)
      turn a whole DOM document into XML
      Parameters:
      doc - DOM document
      Returns:
      string representation of the document, including XML declaration
    • PrettyDocumentToString

      public static String PrettyDocumentToString(Document doc)
    • privateElementToWriter

      public static void privateElementToWriter(Element element, Writer writer, boolean omitXMLDecl, boolean pretty)
    • ElementToStream

      public static void ElementToStream(Element element, OutputStream out)
    • PrettyElementToStream

      public static void PrettyElementToStream(Element element, OutputStream out)
    • ElementToWriter

      public static void ElementToWriter(Element element, Writer writer)
    • PrettyElementToWriter

      public static void PrettyElementToWriter(Element element, Writer writer)
    • DocumentToStream

      public static void DocumentToStream(Document doc, OutputStream out)
    • PrettyDocumentToStream

      public static void PrettyDocumentToStream(Document doc, OutputStream out)
    • DocumentToWriter

      public static void DocumentToWriter(Document doc, Writer writer)
    • PrettyDocumentToWriter

      public static void PrettyDocumentToWriter(Document doc, Writer writer)
    • StringToElement

      public static Element StringToElement(String namespace, String name, 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 String getInnerXMLString(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 String getPrefix(String uri, Node e)
    • getNamespace

      public static String getNamespace(String prefix, Node e, Node stopNode)
      Searches for the namespace URI of the given prefix in the given DOM range. The namespace is not searched in parent of the "stopNode". This is usefull to get all the needed namespaces when you need to ouput only a subtree of a DOM document.
      Parameters:
      prefix - the prefix to find
      e - the starting node
      stopNode - null to search in all the document or a parent node where the search must stop.
      Returns:
      null if no namespace is found, or the namespace URI.
    • getNamespace

      public static String getNamespace(String prefix, Node e)
    • getQNameFromString

      public static QName getQNameFromString(String str, 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(String str, 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 String getStringForQName(QName qname, Element e)
      Return a string for a particular QName, mapping a new prefix if necessary.
    • getChildCharacterData

      public static String getChildCharacterData(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 InputSource getInputSourceFromURI(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 InputSource sourceToInputSource(Source source)
      Utility to get the bytes uri
      Parameters:
      source - the resource to get
    • base64encode

      public static final String base64encode(byte[] bytes)
    • getEmptyInputSource

      public static InputSource getEmptyInputSource()
    • findNode

      public static Node findNode(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
    • normalize

      public static void normalize(Node node)
      Trim all new lines from text nodes.
      Parameters:
      node -
    • trim

      public static String trim(String str)
    • asElementArray

      public static Element[] asElementArray(List list)
      Converts a List with org.w3c.dom.Element objects to an Array with org.w3c.dom.Element objects.
      Parameters:
      list - List containing org.w3c.dom.Element objects
      Returns:
      Element[] Array with org.w3c.dom.Element objects
    • getEncoding

      public static String getEncoding(Message message, MessageContext msgContext)
    • getEncoding

      public static String getEncoding(Message message, MessageContext msgContext, XMLEncoder defaultEncoder)