Class FrequencyHandler

  • All Implemented Interfaces:
    org.xml.sax.ContentHandler, org.xml.sax.DTDHandler, org.xml.sax.EntityResolver, org.xml.sax.ErrorHandler

    public class FrequencyHandler
    extends org.xml.sax.helpers.DefaultHandler
    A SAX-based handler to collect the frequency of occurences of properties of information items in one or more infosets.
    • Field Detail

      • namespacesToElements

        private java.util.Map<java.lang.String,​java.util.Set<javax.xml.namespace.QName>> namespacesToElements
      • namespacesToAttributes

        private java.util.Map<java.lang.String,​java.util.Set<javax.xml.namespace.QName>> namespacesToAttributes
      • namespaceURIToPrefix

        private java.util.Map<java.lang.String,​java.lang.String> namespaceURIToPrefix
      • namespaces

        private FrequencySet<java.lang.String> namespaces
      • localNames

        private FrequencySet<java.lang.String> localNames
      • elements

        private FrequencySet<javax.xml.namespace.QName> elements
      • attributes

        private FrequencySet<javax.xml.namespace.QName> attributes
      • attributeValues

        private FrequencySet<java.lang.String> attributeValues
      • textContentValues

        private FrequencySet<java.lang.String> textContentValues
      • prefixBuilder

        private java.lang.StringBuilder prefixBuilder
      • prefixCharacter

        private char prefixCharacter
    • Constructor Detail

      • FrequencyHandler

        public FrequencyHandler()
        The default frequency handler.
      • FrequencyHandler

        public FrequencyHandler​(SchemaProcessor sp)
        A frequency handler initiated with information generated from a SchemaProcessor.
        Parameters:
        sp - the schema processor.
    • Method Detail

      • addXsiAttributes

        public void addXsiAttributes()
      • addQNameToElements

        public void addQNameToElements​(javax.xml.namespace.QName q)
      • addQNameToAttributes

        public void addQNameToAttributes​(javax.xml.namespace.QName q)
      • getLists

        @Deprecated
        public FrequencyBasedLists getLists()
        Deprecated.
        Get the frequency based lists of properties of information items.
        Returns:
        the frequency based lists.
      • getVocabulary

        public org.jvnet.fastinfoset.Vocabulary getVocabulary()
        Get the vocabulary
        Returns:
        the vocabulary.
      • generateQNamesWithPrefix

        public void generateQNamesWithPrefix()
        Generate qualified names that have not been processed.

        Prefixes are automatically chosen.

        TODO: check for clashes with prefixes generated and prefixes that have already occured.

      • getNamespaceURIToPrefixMap

        public java.util.Map<java.lang.String,​java.lang.String> getNamespaceURIToPrefixMap()
      • addAll

        private void addAll​(java.util.Set to,
                            java.util.Set<?> from)
      • bucketQNamesToNamespace

        private void bucketQNamesToNamespace​(java.util.Set<javax.xml.namespace.QName> s,
                                             java.util.Map<java.lang.String,​java.util.Set<javax.xml.namespace.QName>> m)
      • startPrefixMapping

        public 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 org.xml.sax.helpers.DefaultHandler
        Throws:
        org.xml.sax.SAXException
      • startElement

        public void startElement​(java.lang.String uri,
                                 java.lang.String localName,
                                 java.lang.String qName,
                                 org.xml.sax.Attributes atts)
                          throws org.xml.sax.SAXException
        Specified by:
        startElement in interface org.xml.sax.ContentHandler
        Overrides:
        startElement in class org.xml.sax.helpers.DefaultHandler
        Throws:
        org.xml.sax.SAXException
      • addQName

        private void addQName​(javax.xml.namespace.QName q,
                              java.util.Map<java.lang.String,​java.util.Set<javax.xml.namespace.QName>> m,
                              FrequencySet<javax.xml.namespace.QName> fhm)
      • createQName

        private javax.xml.namespace.QName createQName​(java.lang.String uri,
                                                      java.lang.String localName,
                                                      java.lang.String qName)
      • generateQNamesWithPrefix

        private void generateQNamesWithPrefix​(java.util.Map<java.lang.String,​java.util.Set<javax.xml.namespace.QName>> m,
                                              FrequencySet<javax.xml.namespace.QName> fhm,
                                              java.util.Map<java.lang.String,​java.lang.String> namespaceURIToPrefix)
      • getNewPrefix

        private java.lang.String getNewPrefix()