Class SecureXmlParserFactory

java.lang.Object
com.atlassian.security.xml.SecureXmlParserFactory

public final class SecureXmlParserFactory extends Object
Utility methods to produce parsers suitable for untrusted XML.

These cover the core parsing APIs included in JDK 1.6.

Parsers will have FEATURE_SECURE_PROCESSING enabled and be configured to ignore external resources used for, or in, DTDs.

Since:
3.0
  • Field Details

  • Method Details

    • newDocumentBuilderFactory

      public static DocumentBuilderFactory newDocumentBuilderFactory()
      Returns:
      A locked-down DocumentBuilderFactory
      Since:
      3.1.2
    • newDocumentBuilder

      public static DocumentBuilder newDocumentBuilder()
      Create a new DOM DocumentBuilder suitable for parsing XML from an untrusted source.
      Returns:
      a new parser
    • createSAXParserFactory

      public static SAXParserFactory createSAXParserFactory() throws SAXException, ParserConfigurationException
      Create a new SAX SAXParserFactory suitable for parsing XML from an untrusted source
      Returns:
      a new SAXParserFactory
      Throws:
      SAXException
      ParserConfigurationException
    • newXmlReader

      public static XMLReader newXmlReader()
      Create a new SAX XMLReader suitable for parsing XML from an untrusted source.
      Returns:
      a new parser
    • newNamespaceAwareXmlReader

      public static XMLReader newNamespaceAwareXmlReader()
      Create a new namespace-aware SAX XMLReader suitable for parsing XML from an untrusted source.
      Returns:
      a new parser
    • newNamespaceAwareDocumentBuilder

      public static DocumentBuilder newNamespaceAwareDocumentBuilder()
      Create a new namespace-aware DOM DocumentBuilder suitable for parsing XML from an untrusted source.
      Returns:
      a new parser
    • newXmlInputFactory

      public static XMLInputFactory newXmlInputFactory()
      Create a new StAX XMLInputFactory suitable for parsing XML from an untrusted source.
      Returns:
      a new parser
    • emptyEntityResolver

      public static EntityResolver emptyEntityResolver()
      Create a new EntityResolver that will resolve every entity to an empty stream, rather than fetching resources from the network.