Package net.sf.saxon.trans

## Class ConfigurationReader

- java.lang.Object
- - net.sf.saxon.trans.ConfigurationReader

- All Implemented Interfaces:
    `NamespaceResolver`, `org.xml.sax.ContentHandler`
  Direct Known Subclasses:
    `ConfigurationReaderPE`

      public class ConfigurationReader
      extends java.lang.Object
      implements org.xml.sax.ContentHandler, NamespaceResolver

  Class used to read a config.xml file and transfer all settings from the file to the Configuration

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected Configuration` | `config` |

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `ConfigurationReader()` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `characters​(char[] ch, int start, int length)` |
    `void` | `endDocument()` |
    `void` | `endElement​(java.lang.String uri, java.lang.String localName, java.lang.String qName)` |
    `void` | `endPrefixMapping​(java.lang.String prefix)` |
    `protected void` | `error​(XPathException err)` |
    `protected void` | `errorClass​(java.lang.String element, java.lang.String attribute, java.lang.String actual, java.lang.Class required, java.lang.Exception cause)` |
    `java.lang.String` | `getURIForPrefix​(java.lang.String prefix, boolean useDefault)` | Get the namespace URI corresponding to a given prefix.
    `void` | `ignorableWhitespace​(char[] ch, int start, int length)` |
    `java.util.Iterator<java.lang.String>` | `iteratePrefixes()` | Get an iterator over all the prefixes declared in this namespace context.
    `Configuration` | `makeConfiguration​(javax.xml.transform.Source source)` | Create a Configuration based on the contents of this configuration file
    `void` | `processingInstruction​(java.lang.String target, java.lang.String data)` |
    `protected void` | `readExtensionElement​(org.xml.sax.Attributes atts)` | Process details of XSLT extension elements.
    `protected void` | `readWithParam​(org.xml.sax.Attributes atts)` |
    `protected void` | `readXsltPackage​(org.xml.sax.Attributes atts)` |
    `void` | `setBaseConfiguration​(Configuration base)` | Set a base Configuration to be used by the new Configuration.
    `void` | `setClassLoader​(java.lang.ClassLoader classLoader)` | Set the ClassLoader to be used for dynamic loading of the configuration, and for dynamic loading of other classes used within the configuration.
    `void` | `setDocumentLocator​(org.xml.sax.Locator locator)` |
    `void` | `skippedEntity​(java.lang.String name)` |
    `void` | `startDocument()` |
    `void` | `startElement​(java.lang.String uri, java.lang.String localName, java.lang.String qName, org.xml.sax.Attributes atts)` |
    `void` | `startPrefixMapping​(java.lang.String prefix, java.lang.String uri)` |

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### config

          protected Configuration config

  - ### Constructor Detail

    - #### ConfigurationReader

          public ConfigurationReader()

  - ### Method Detail

    - #### setClassLoader

          public void setClassLoader​(java.lang.ClassLoader classLoader)

      Set the ClassLoader to be used for dynamic loading of the configuration, and for dynamic loading of other classes used within the configuration. By default the class loader of this class is used.
      Parameters:
        `classLoader` - the ClassLoader to be used

    - #### setBaseConfiguration

          public void setBaseConfiguration​(Configuration base)

      Set a base Configuration to be used by the new Configuration. The new Configuration shares a NamePool and document number allocator with the base Configuration
      Parameters:
        `base` - the base configuration to be used

    - #### makeConfiguration

          public Configuration makeConfiguration​(javax.xml.transform.Source source)
                                          throws XPathException

      Create a Configuration based on the contents of this configuration file
      Parameters:
        `source` - the Source of the configuration file
      Returns:
        the constructed Configuration
      Throws:
        `XPathException` - if a failure occurs, typically an invalid configuration file

    - #### setDocumentLocator

          public void setDocumentLocator​(org.xml.sax.Locator locator)

      Specified by:
        `setDocumentLocator` in interface `org.xml.sax.ContentHandler`

    - #### startDocument

          public void startDocument()

      Specified by:
        `startDocument` in interface `org.xml.sax.ContentHandler`

    - #### endDocument

          public void endDocument()

      Specified by:
        `endDocument` in interface `org.xml.sax.ContentHandler`

    - #### startPrefixMapping

          public void startPrefixMapping​(java.lang.String prefix,
                                         java.lang.String uri)

      Specified by:
        `startPrefixMapping` in interface `org.xml.sax.ContentHandler`

    - #### endPrefixMapping

          public void endPrefixMapping​(java.lang.String prefix)

      Specified by:
        `endPrefixMapping` in interface `org.xml.sax.ContentHandler`

    - #### startElement

          public void startElement​(java.lang.String uri,
                                   java.lang.String localName,
                                   java.lang.String qName,
                                   org.xml.sax.Attributes atts)

      Specified by:
        `startElement` in interface `org.xml.sax.ContentHandler`

    - #### readExtensionElement

          protected void readExtensionElement​(org.xml.sax.Attributes atts)

      Process details of XSLT extension elements. Overridden in Saxon-PE configuration reader
      Parameters:
        `atts` - the attributes of the extensionElement element in the configuration file

    - #### readXsltPackage

          protected void readXsltPackage​(org.xml.sax.Attributes atts)

    - #### readWithParam

          protected void readWithParam​(org.xml.sax.Attributes atts)

    - #### error

          protected void error​(XPathException err)

    - #### errorClass

          protected void errorClass​(java.lang.String element,
                                    java.lang.String attribute,
                                    java.lang.String actual,
                                    java.lang.Class required,
                                    java.lang.Exception cause)

    - #### endElement

          public void endElement​(java.lang.String uri,
                                 java.lang.String localName,
                                 java.lang.String qName)

      Specified by:
        `endElement` in interface `org.xml.sax.ContentHandler`

    - #### characters

          public void characters​(char[] ch,
                                 int start,
                                 int length)

      Specified by:
        `characters` in interface `org.xml.sax.ContentHandler`

    - #### ignorableWhitespace

          public void ignorableWhitespace​(char[] ch,
                                          int start,
                                          int length)

      Specified by:
        `ignorableWhitespace` in interface `org.xml.sax.ContentHandler`

    - #### processingInstruction

          public void processingInstruction​(java.lang.String target,
                                            java.lang.String data)

      Specified by:
        `processingInstruction` in interface `org.xml.sax.ContentHandler`

    - #### skippedEntity

          public void skippedEntity​(java.lang.String name)

      Specified by:
        `skippedEntity` in interface `org.xml.sax.ContentHandler`

    - #### getURIForPrefix

          public java.lang.String getURIForPrefix​(java.lang.String prefix,
                                                  boolean useDefault)

      Get the namespace URI corresponding to a given prefix. Return null if the prefix is not in scope.
      Specified by:
        `getURIForPrefix` in interface `NamespaceResolver`
      Parameters:
        `prefix` - the namespace prefix. May be the zero-length string, indicating that there is no prefix. This indicates either the default namespace or the null namespace, depending on the value of useDefault.
        `useDefault` - true if the default namespace is to be used when the prefix is "". If false, the method returns "" when the prefix is "".
      Returns:
        the uri for the namespace, or null if the prefix is not in scope. The "null namespace" is represented by the pseudo-URI "".

    - #### iteratePrefixes

          public java.util.Iterator<java.lang.String> iteratePrefixes()

      Get an iterator over all the prefixes declared in this namespace context. This will include the default namespace (prefix="") and the XML namespace where appropriate
      Specified by:
        `iteratePrefixes` in interface `NamespaceResolver`
      Returns:
        an iterator over all the prefixes for which a namespace binding exists, including the zero-length string to represent the null/absent prefix if it is bound