Class NamespaceEmitter

  • All Implemented Interfaces:
    javax.xml.transform.Result

    public class NamespaceEmitter
    extends ProxyEmitter
    NamespaceEmitter is a ProxyEmitter responsible for removing duplicate namespace declarations. It also ensures that an xmlns="" undeclaration is output when necessary.
    • Field Detail

      • nscodeXML

        protected int nscodeXML
      • nscodeNull

        protected int nscodeNull
    • Constructor Detail

      • NamespaceEmitter

        public NamespaceEmitter()
    • Method Detail

      • startElement

        public void startElement​(int nameCode,
                                 org.xml.sax.Attributes attList,
                                 int[] namespaceCodes,
                                 int nrOfCodes)
                          throws javax.xml.transform.TransformerException
        startElement. This call removes redundant namespace declarations, and possibly adds an xmlns="" undeclaration.
        Overrides:
        startElement in class ProxyEmitter
        namespaceCodes - Array of namespace codes identifying the namespace prefix/uri pairs associated with this element
        nrOfCodes - Number of significant entries within namespaces array
        Throws:
        javax.xml.transform.TransformerException
      • endElement

        public void endElement​(int nameCode)
                        throws javax.xml.transform.TransformerException
        endElement: Discard the namespaces declared on this element.
        Overrides:
        endElement in class ProxyEmitter
        Throws:
        javax.xml.transform.TransformerException