NamespaceBinder (NekoHTML 1.9.20 Implementation)
Date: 2014-02-13

org.cyberneko.html.filters

## Class NamespaceBinder

- java.lang.Object
- - org.cyberneko.html.filters.DefaultFilter
  - - org.cyberneko.html.filters.NamespaceBinder

- All Implemented Interfaces:
    HTMLComponent

      public class NamespaceBinder
      extends DefaultFilter

  This filter binds namespaces if namespace processing is turned on by setting the feature "http://xml.org/sax/features/namespaces" is set to `true`.

  This configuration recognizes the following features:

  - http://xml.org/sax/features/namespaces
  Version:
    $Id: NamespaceBinder.java,v 1.8 2005/05/30 00:19:28 andyc Exp $
  Author:
    Andy Clark

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `NamespaceBinder.NamespaceSupport` This namespace context object implements the old and new XNI `NamespaceContext` interface methods so that it can be used across all versions of Xerces2.

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected boolean` | `fInsertNamespaces` Insert namespaces.
    `protected short` | `fNamesAttrs` Modify HTML attribute names.
    `protected short` | `fNamesElems` Modify HTML element names.
    `protected NamespaceBinder.NamespaceSupport` | `fNamespaceContext` Namespace context.
    `protected boolean` | `fNamespacePrefixes` Namespace prefixes.
    `protected boolean` | `fNamespaces` Namespaces.
    `protected java.lang.String` | `fNamespacesURI` Namespaces URI.
    `protected boolean` | `fOverrideNamespaces` Override namespaces.
    `protected static java.lang.String` | `INSERT_NAMESPACES` Insert namespace binding URIs.
    `protected static java.lang.String` | `NAMES_ATTRS` Modify HTML attribute names: { "upper", "lower", "default" }.
    `protected static java.lang.String` | `NAMES_ELEMS` Modify HTML element names: { "upper", "lower", "default" }.
    `protected static short` | `NAMES_LOWERCASE` Lowercase HTML names.
    `protected static short` | `NAMES_NO_CHANGE` Don't modify HTML names.
    `protected static short` | `NAMES_UPPERCASE` Uppercase HTML names.
    `protected static java.lang.String` | `NAMESPACES` Namespaces.
    `protected static java.lang.String` | `NAMESPACES_URI` Namespaces URI.
    `protected static java.lang.String` | `OVERRIDE_NAMESPACES` Override namespace binding URI.
    `static java.lang.String` | `XHTML_1_0_URI` XHTML 1.0 namespace URI (http://www.w3.org/1999/xhtml).
    `static java.lang.String` | `XML_URI` XML namespace URI (http://www.w3.org/XML/1998/namespace).
    `static java.lang.String` | `XMLNS_URI` XMLNS namespace URI (http://www.w3.org/2000/xmlns/).

    - ### Fields inherited from class org.cyberneko.html.filters.DefaultFilter

      `fDocumentHandler, fDocumentSource`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `NamespaceBinder()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected void` | `bindNamespaces(QName element, XMLAttributes attrs)` Binds namespaces.
    `void` | `emptyElement(QName element, XMLAttributes attrs, Augmentations augs)` Empty element.
    `void` | `endElement(QName element, Augmentations augs)` End element.
    `java.lang.Boolean` | `getFeatureDefault(java.lang.String featureId)` Returns the default state for a feature, or null if this component does not want to report a default value for this feature.
    `protected static short` | `getNamesValue(java.lang.String value)` Converts HTML names string value to constant value.
    `java.lang.Object` | `getPropertyDefault(java.lang.String propertyId)` Returns the default value for a property, or null if this component does not want to report a default value for this property.
    `java.lang.String[]` | `getRecognizedFeatures()` Returns a list of feature identifiers that are recognized by this component.
    `java.lang.String[]` | `getRecognizedProperties()` Returns a list of property identifiers that are recognized by this component.
    `protected static java.lang.String` | `modifyName(java.lang.String name, short mode)` Modifies the given name based on the specified mode.
    `void` | `reset(XMLComponentManager manager)` Resets the component.
    `protected static void` | `splitQName(QName qname)` Splits a qualified name.
    `void` | `startDocument(XMLLocator locator, java.lang.String encoding, NamespaceContext nscontext, Augmentations augs)` Start document.
    `void` | `startElement(QName element, XMLAttributes attrs, Augmentations augs)` Start element.

    - ### Methods inherited from class org.cyberneko.html.filters.DefaultFilter

      `characters, comment, doctypeDecl, endCDATA, endDocument, endGeneralEntity, endPrefixMapping, getDocumentHandler, getDocumentSource, ignorableWhitespace, merge, processingInstruction, setDocumentHandler, setDocumentSource, setFeature, setProperty, startCDATA, startDocument, startGeneralEntity, startPrefixMapping, textDecl, xmlDecl`

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

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

- - ### Field Detail

    - #### XHTML_1_0_URI

          public static final java.lang.String XHTML_1_0_URI

      XHTML 1.0 namespace URI (http://www.w3.org/1999/xhtml).
      See Also:
        Constant Field Values

    - #### XML_URI

          public static final java.lang.String XML_URI

      XML namespace URI (http://www.w3.org/XML/1998/namespace).
      See Also:
        Constant Field Values

    - #### XMLNS_URI

          public static final java.lang.String XMLNS_URI

      XMLNS namespace URI (http://www.w3.org/2000/xmlns/).
      See Also:
        Constant Field Values

    - #### NAMESPACES

          protected static final java.lang.String NAMESPACES

      Namespaces.
      See Also:
        Constant Field Values

    - #### OVERRIDE_NAMESPACES

          protected static final java.lang.String OVERRIDE_NAMESPACES

      Override namespace binding URI.
      See Also:
        Constant Field Values

    - #### INSERT_NAMESPACES

          protected static final java.lang.String INSERT_NAMESPACES

      Insert namespace binding URIs.
      See Also:
        Constant Field Values

    - #### NAMES_ELEMS

          protected static final java.lang.String NAMES_ELEMS

      Modify HTML element names: { "upper", "lower", "default" }.
      See Also:
        Constant Field Values

    - #### NAMES_ATTRS

          protected static final java.lang.String NAMES_ATTRS

      Modify HTML attribute names: { "upper", "lower", "default" }.
      See Also:
        Constant Field Values

    - #### NAMESPACES_URI

          protected static final java.lang.String NAMESPACES_URI

      Namespaces URI.
      See Also:
        Constant Field Values

    - #### NAMES_NO_CHANGE

          protected static final short NAMES_NO_CHANGE

      Don't modify HTML names.
      See Also:
        Constant Field Values

    - #### NAMES_UPPERCASE

          protected static final short NAMES_UPPERCASE

      Uppercase HTML names.
      See Also:
        Constant Field Values

    - #### NAMES_LOWERCASE

          protected static final short NAMES_LOWERCASE

      Lowercase HTML names.
      See Also:
        Constant Field Values

    - #### fNamespaces

          protected boolean fNamespaces

      Namespaces.

    - #### fNamespacePrefixes

          protected boolean fNamespacePrefixes

      Namespace prefixes.

    - #### fOverrideNamespaces

          protected boolean fOverrideNamespaces

      Override namespaces.

    - #### fInsertNamespaces

          protected boolean fInsertNamespaces

      Insert namespaces.

    - #### fNamesElems

          protected short fNamesElems

      Modify HTML element names.

    - #### fNamesAttrs

          protected short fNamesAttrs

      Modify HTML attribute names.

    - #### fNamespacesURI

          protected java.lang.String fNamespacesURI

      Namespaces URI.

    - #### fNamespaceContext

          protected final NamespaceBinder.NamespaceSupport fNamespaceContext

      Namespace context.

  - ### Constructor Detail

    - #### NamespaceBinder

          public NamespaceBinder()

  - ### Method Detail

    - #### getRecognizedFeatures

          public java.lang.String[] getRecognizedFeatures()

      Returns a list of feature identifiers that are recognized by this component. This method may return null if no features are recognized by this component.
      Overrides:
        `getRecognizedFeatures` in class `DefaultFilter`

    - #### getFeatureDefault

          public java.lang.Boolean getFeatureDefault(java.lang.String featureId)

      Returns the default state for a feature, or null if this component does not want to report a default value for this feature.
      Specified by:
        `getFeatureDefault` in interface `HTMLComponent`
      Overrides:
        `getFeatureDefault` in class `DefaultFilter`

    - #### getRecognizedProperties

          public java.lang.String[] getRecognizedProperties()

      Returns a list of property identifiers that are recognized by this component. This method may return null if no properties are recognized by this component.
      Overrides:
        `getRecognizedProperties` in class `DefaultFilter`

    - #### getPropertyDefault

          public java.lang.Object getPropertyDefault(java.lang.String propertyId)

      Returns the default value for a property, or null if this component does not want to report a default value for this property.
      Specified by:
        `getPropertyDefault` in interface `HTMLComponent`
      Overrides:
        `getPropertyDefault` in class `DefaultFilter`

    - #### reset

          public void reset(XMLComponentManager manager)
                     throws XMLConfigurationException

      Resets the component. The component can query the component manager about any features and properties that affect the operation of the component.
      Overrides:
        `reset` in class `DefaultFilter`
      Parameters:
        `manager` - The component manager.
      Throws:
        `XNIException` - Thrown by component on initialization error.
        `XMLConfigurationException`

    - #### startDocument

          public void startDocument(XMLLocator locator,
                           java.lang.String encoding,
                           NamespaceContext nscontext,
                           Augmentations augs)
                             throws XNIException

      Start document.
      Overrides:
        `startDocument` in class `DefaultFilter`
      Throws:
        `XNIException`

    - #### startElement

          public void startElement(QName element,
                          XMLAttributes attrs,
                          Augmentations augs)
                            throws XNIException

      Start element.
      Overrides:
        `startElement` in class `DefaultFilter`
      Throws:
        `XNIException`

    - #### emptyElement

          public void emptyElement(QName element,
                          XMLAttributes attrs,
                          Augmentations augs)
                            throws XNIException

      Empty element.
      Overrides:
        `emptyElement` in class `DefaultFilter`
      Throws:
        `XNIException`

    - #### endElement

          public void endElement(QName element,
                        Augmentations augs)
                          throws XNIException

      End element.
      Overrides:
        `endElement` in class `DefaultFilter`
      Throws:
        `XNIException`

    - #### splitQName

          protected static void splitQName(QName qname)

      Splits a qualified name.

    - #### getNamesValue

          protected static final short getNamesValue(java.lang.String value)

      Converts HTML names string value to constant value.
      See Also:
        `NAMES_NO_CHANGE`, `NAMES_LOWERCASE`, `NAMES_UPPERCASE`

    - #### modifyName

          protected static final java.lang.String modifyName(java.lang.String name,
                                    short mode)

      Modifies the given name based on the specified mode.

    - #### bindNamespaces

          protected void bindNamespaces(QName element,
                            XMLAttributes attrs)

      Binds namespaces.

(C) Copyright 2002-2014, Andy Clark, Marc Guillemot. All rights reserved.