Class SAXDocumentSerializerWithPrefixMapping

  • All Implemented Interfaces:
    FastInfosetSerializer, EncodingAlgorithmContentHandler, ExtendedContentHandler, FastInfosetWriter, PrimitiveTypeContentHandler, RestrictedAlphabetContentHandler, org.xml.sax.ContentHandler, org.xml.sax.DTDHandler, org.xml.sax.EntityResolver, org.xml.sax.ErrorHandler, org.xml.sax.ext.LexicalHandler

    public class SAXDocumentSerializerWithPrefixMapping
    extends SAXDocumentSerializer
    The Fast Infoset SAX serializer that maps prefixes to user specified prefixes that are specified in a namespace URI to prefix map.

    This serializer will not preserve the original prefixes and this serializer should not be used when prefixes need to be preserved, such as the case when there are qualified names in content.

    A namespace URI to prefix map is utilized such that the prefixes in the map are utilized rather than the prefixes specified in the qualified name for elements and attributes.

    Any namespace declarations with a namespace URI that is not present in the map are added.

    • Field Detail

      • _namespaceToPrefixMapping

        protected java.util.Map<java.lang.String,​java.lang.String> _namespaceToPrefixMapping
      • _prefixToPrefixMapping

        protected java.util.Map<java.lang.String,​java.lang.String> _prefixToPrefixMapping
      • _lastCheckedNamespace

        protected java.lang.String _lastCheckedNamespace
      • _lastCheckedPrefix

        protected java.lang.String _lastCheckedPrefix
      • _declaredNamespaces

        protected StringIntMap _declaredNamespaces
    • Constructor Detail

      • SAXDocumentSerializerWithPrefixMapping

        public SAXDocumentSerializerWithPrefixMapping​(java.util.Map<java.lang.String,​java.lang.String> namespaceToPrefixMapping)
    • Method Detail

      • startPrefixMapping

        public final void startPrefixMapping​(java.lang.String prefix,
                                             java.lang.String uri)
                                      throws org.xml.sax.SAXException
        Specified by:
        startPrefixMapping in interface org.xml.sax.ContentHandler
        Overrides:
        startPrefixMapping in class SAXDocumentSerializer
        Throws:
        org.xml.sax.SAXException
      • encodeElement

        protected final void encodeElement​(java.lang.String namespaceURI,
                                           java.lang.String qName,
                                           java.lang.String localName)
                                    throws java.io.IOException
        Overrides:
        encodeElement in class SAXDocumentSerializer
        Throws:
        java.io.IOException
      • encodeElementMapEntry

        protected boolean encodeElementMapEntry​(LocalNameQualifiedNamesMap.Entry entry,
                                                java.lang.String namespaceURI)
                                         throws java.io.IOException
        Throws:
        java.io.IOException
      • convertQName

        private java.lang.String convertQName​(java.lang.String qName)
      • encodeAttribute

        protected final boolean encodeAttribute​(java.lang.String namespaceURI,
                                                java.lang.String qName,
                                                java.lang.String localName)
                                         throws java.io.IOException
        Overrides:
        encodeAttribute in class SAXDocumentSerializer
        Throws:
        java.io.IOException
      • encodeAttributeMapEntry

        protected boolean encodeAttributeMapEntry​(LocalNameQualifiedNamesMap.Entry entry,
                                                  java.lang.String namespaceURI)
                                           throws java.io.IOException
        Throws:
        java.io.IOException
      • getPrefix

        protected final java.lang.String getPrefix​(java.lang.String namespaceURI)
      • putPrefix

        protected final void putPrefix​(java.lang.String namespaceURI,
                                       java.lang.String prefix)