Class SimpleNamespaceResolver

  • All Implemented Interfaces:
    javax.xml.namespace.NamespaceContext

    public class SimpleNamespaceResolver
    extends java.lang.Object
    implements javax.xml.namespace.NamespaceContext

    Namespace resolver for XML documents, which relates XML Namespace Prefixes to XML Namespace URIs. Doubles as a JAXB NamespaceContext, if we decide to use JAXB instead of DOM to parse our generated schema files.

    Since:
    1.4
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private static java.lang.String DEFAULT_NS  
      private java.lang.String localNamespaceURI  
      private java.util.Map<java.lang.String,​java.lang.String> prefix2Uri  
      private static java.lang.String SCHEMA  
      private java.lang.String sourceFilename  
      private static java.lang.String TARGET_NAMESPACE  
      private java.util.Map<java.lang.String,​java.lang.String> uri2Prefix  
    • Constructor Summary

      Constructors 
      Constructor Description
      SimpleNamespaceResolver​(java.io.File xmlFile)
      Creates a new SimpleNamespaceResolver which collects namespace data from the provided XML file.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.lang.String getLocalNamespaceURI()  
      java.lang.String getNamespaceURI​(java.lang.String prefix)
      java.util.Map<java.lang.String,​java.lang.String> getNamespaceURI2PrefixMap()  
      java.lang.String getPrefix​(java.lang.String namespaceURI)
      java.util.Iterator<java.lang.String> getPrefixes​(java.lang.String namespaceURI)
      java.lang.String getSourceFilename()  
      private void initialize​(java.io.Reader xmlFileStream)
      Initializes this SimpleNamespaceResolver to collect namespace data from the provided stream.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • TARGET_NAMESPACE

        private static final java.lang.String TARGET_NAMESPACE
        See Also:
        Constant Field Values
      • sourceFilename

        private java.lang.String sourceFilename
      • localNamespaceURI

        private java.lang.String localNamespaceURI
      • prefix2Uri

        private java.util.Map<java.lang.String,​java.lang.String> prefix2Uri
      • uri2Prefix

        private java.util.Map<java.lang.String,​java.lang.String> uri2Prefix
    • Constructor Detail

      • SimpleNamespaceResolver

        public SimpleNamespaceResolver​(java.io.File xmlFile)
        Creates a new SimpleNamespaceResolver which collects namespace data from the provided XML file.
        Parameters:
        xmlFile - The XML file from which to collect namespace data, should not be null.
    • Method Detail

      • getNamespaceURI

        public java.lang.String getNamespaceURI​(java.lang.String prefix)
        Specified by:
        getNamespaceURI in interface javax.xml.namespace.NamespaceContext
      • getPrefix

        public java.lang.String getPrefix​(java.lang.String namespaceURI)
        Specified by:
        getPrefix in interface javax.xml.namespace.NamespaceContext
      • getPrefixes

        public java.util.Iterator<java.lang.String> getPrefixes​(java.lang.String namespaceURI)
        Specified by:
        getPrefixes in interface javax.xml.namespace.NamespaceContext
      • getNamespaceURI2PrefixMap

        public java.util.Map<java.lang.String,​java.lang.String> getNamespaceURI2PrefixMap()
        Returns:
        A readonly map relating namespace URIs to namespace prefixes.
      • getLocalNamespaceURI

        public java.lang.String getLocalNamespaceURI()
        Returns:
        The namespace URI of the default namespace within the sourceFile of this SimpleNamespaceResolver.
      • getSourceFilename

        public java.lang.String getSourceFilename()
        Returns:
        The name of the source file used for this SimpleNamespaceResolver.
      • initialize

        private void initialize​(java.io.Reader xmlFileStream)
        Initializes this SimpleNamespaceResolver to collect namespace data from the provided stream.
        Parameters:
        xmlFileStream - A Reader connected to the XML file from which we should read namespace data.