Package org.apache.xalan.extensions
Class ExtensionNamespacesManager
java.lang.Object
org.apache.xalan.extensions.ExtensionNamespacesManager
Used during assembly of a stylesheet to collect the information for each
extension namespace that is required during the transformation process
to generate an
ExtensionHandler
.-
Constructor Summary
ConstructorsConstructorDescriptionAn ExtensionNamespacesManager is instantiated the first time an extension function or element is found in the stylesheet. -
Method Summary
Modifier and TypeMethodDescriptionFor any extension namespace that is not either predefined or defined by a "component" declaration or exslt function declaration, attempt to create an ExtensionNamespaceSuport object for the appropriate Java class or Java package Extension Handler.defineJavaNamespace
(String ns, String classOrPackage) Get the vector of extension namespaces.int
namespaceIndex
(String namespace, Vector extensions) Get the index for a namespace entry in the extension namespace Vector, -1 if no such entry yet exists.void
registerExtension
(String namespace) If necessary, register the extension namespace found compiling a function or creating an extension element.void
registerExtension
(ExtensionNamespaceSupport extNsSpt) Register the extension namespace for an ElemExtensionDecl or ElemFunction, and prepare a support object to launch the appropriate ExtensionHandler at transformation runtime.void
Attempt to register any unregistered extension namespaces.
-
Constructor Details
-
ExtensionNamespacesManager
public ExtensionNamespacesManager()An ExtensionNamespacesManager is instantiated the first time an extension function or element is found in the stylesheet. During initialization, a vector of ExtensionNamespaceSupport objects is created, one for each predefined extension namespace.
-
-
Method Details
-
registerExtension
If necessary, register the extension namespace found compiling a function or creating an extension element. If it is a predefined namespace, create a support object to simplify the instantiate of an appropriate ExtensionHandler during transformation runtime. Otherwise, add the namespace, if necessary, to a vector of undefined extension namespaces, to be defined later. -
registerExtension
Register the extension namespace for an ElemExtensionDecl or ElemFunction, and prepare a support object to launch the appropriate ExtensionHandler at transformation runtime. -
namespaceIndex
Get the index for a namespace entry in the extension namespace Vector, -1 if no such entry yet exists. -
getExtensions
Get the vector of extension namespaces. Used to provide the extensions table access to a list of extension namespaces encountered during composition of a stylesheet. -
registerUnregisteredNamespaces
public void registerUnregisteredNamespaces()Attempt to register any unregistered extension namespaces. -
defineJavaNamespace
For any extension namespace that is not either predefined or defined by a "component" declaration or exslt function declaration, attempt to create an ExtensionNamespaceSuport object for the appropriate Java class or Java package Extension Handler. Called by StylesheetRoot.recompose(), after all ElemTemplate compose() operations have taken place, in order to set up handlers for the remaining extension namespaces.- Parameters:
ns
- The extension namespace URI.- Returns:
- An ExtensionNamespaceSupport object for this namespace (which defines the ExtensionHandler to be used), or null if such an object cannot be created.
- Throws:
TransformerException
-
defineJavaNamespace
-