Class XHTMLPrefixRemover

  • All Implemented Interfaces:
    Result, Receiver

    public class XHTMLPrefixRemover
    extends ProxyReceiver
    Filter to change elements in the XHTML, SVG, or MathML namespaces so they have no prefix (that is, to make these the default namespace). This filter must be followed by a NamespaceReducer in case there are any attributes in these namespaces, as this will cause the namespace declarations to be reinstated.
    • Constructor Detail

      • XHTMLPrefixRemover

        public XHTMLPrefixRemover​(Receiver next)
    • Method Detail

      • startElement

        public void startElement​(NodeName elemName,
                                 SchemaType typeCode,
                                 Location location,
                                 int properties)
                          throws XPathException
        Notify the start of an element Specific treatment of elements in XHTML, SVG and MathML namespaces forces a namespace to be emitted too, rather than by higher level default behaviour.
        Specified by:
        startElement in interface Receiver
        Overrides:
        startElement in class ProxyReceiver
        Parameters:
        elemName - integer code identifying the name of the element within the name pool.
        typeCode - integer code identifying the element's type within the name pool.
        location -
        properties - properties of the element node
        Throws:
        XPathException - if an error occurs
      • namespace

        public void namespace​(NamespaceBindingSet namespaceBindings,
                              int properties)
                       throws XPathException
        Notify a namespace. Namespaces are notified after the startElement event, and before any children for the element. The namespaces that are reported are only required to include those that are different from the parent element; however, duplicates may be reported. A namespace must not conflict with any namespaces already used for element or attribute names. Any special namespaces (for XHTML, SVG and MathML) are not written out - they are specifically emitted with elements or attributes requiring them
        Specified by:
        namespace in interface Receiver
        Overrides:
        namespace in class ProxyReceiver
        Parameters:
        namespaceBindings - the prefix/uri pair representing the namespace binding
        properties - any special properties to be passed on this call
        Throws:
        XPathException - if an error occurs
      • attribute

        public void attribute​(NodeName nameCode,
                              SimpleType typeCode,
                              CharSequence value,
                              Location locationId,
                              int properties)
                       throws XPathException
        Notify an attribute. Attributes are notified after the startElement event, and before any children. Namespaces and attributes may be intermingled. Specific treatment of attributes in XHTML, SVG and MathML namespaces forces a namespace to be emitted too, rather than by higher level default behaviour.
        Specified by:
        attribute in interface Receiver
        Overrides:
        attribute in class ProxyReceiver
        Parameters:
        nameCode - The name of the attribute
        typeCode - The type of the attribute
        locationId - the location of the node in the source, or of the instruction that created it
        properties - Bit significant value. The following bits are defined:
        DISABLE_ESCAPING
        Disable escaping for this attribute
        NO_SPECIAL_CHARACTERS
        Attribute value contains no special characters
        value - the string value of the attribute
        Throws:
        XPathException - if an error occurs