Class XdocParser

    • Field Detail

      • LOGGER

        private static final org.slf4j.Logger LOGGER
      • sourceContent

        private java.lang.String sourceContent
        The source content of the input reader. Used to pass into macros.
      • isEmptyElement

        private boolean isEmptyElement
        Empty elements don't write a closing tag.
      • macroName

        private java.lang.String macroName
        A macro name.
      • macroParameters

        private java.util.Map<java.lang.String,​java.lang.Object> macroParameters
        The macro parameters.
      • inHead

        private boolean inHead
        Indicates that we're inside <properties> or <head>.
      • hasTitle

        private boolean hasTitle
        Indicates that <title> was called from <properties> or <head>.
    • Constructor Detail

      • XdocParser

        public XdocParser()
    • Method Detail

      • parse

        public void parse​(java.io.Reader source,
                          Sink sink,
                          java.lang.String reference)
                   throws ParseException
        Parses the given source model and emits Doxia events into the given sink.
        Specified by:
        parse in interface Parser
        Overrides:
        parse in class Xhtml5BaseParser
        Parameters:
        source - not null reader that provides the source document. You could use newReader methods from ReaderFactory.
        sink - A sink that consumes the Doxia events.
        reference - a string identifying the source (for file based documents the source file path)
        Throws:
        ParseException - if the model could not be parsed.
      • handleStartTag

        protected void handleStartTag​(org.codehaus.plexus.util.xml.pull.XmlPullParser parser,
                                      Sink sink)
                               throws org.codehaus.plexus.util.xml.pull.XmlPullParserException,
                                      MacroExecutionException
        Goes through the possible start tags. Just calls Xhtml5BaseParser.baseStartTag(XmlPullParser,Sink), this should be overridden by implementing parsers to include additional tags.
        Overrides:
        handleStartTag in class Xhtml5BaseParser
        Parameters:
        parser - A parser, not null.
        sink - the sink to receive the events.
        Throws:
        org.codehaus.plexus.util.xml.pull.XmlPullParserException - if there's a problem parsing the model
        MacroExecutionException - if there's a problem executing a macro
      • handleEndTag

        protected void handleEndTag​(org.codehaus.plexus.util.xml.pull.XmlPullParser parser,
                                    Sink sink)
                             throws org.codehaus.plexus.util.xml.pull.XmlPullParserException,
                                    MacroExecutionException
        Goes through the possible end tags. Just calls Xhtml5BaseParser.baseEndTag(XmlPullParser,Sink), this should be overridden by implementing parsers to include additional tags.
        Overrides:
        handleEndTag in class Xhtml5BaseParser
        Parameters:
        parser - A parser, not null.
        sink - the sink to receive the events.
        Throws:
        org.codehaus.plexus.util.xml.pull.XmlPullParserException - if there's a problem parsing the model
        MacroExecutionException - if there's a problem executing a macro
      • consecutiveSections

        protected void consecutiveSections​(int newLevel,
                                           Sink sink)
      • closeOpenSections

        private void closeOpenSections​(int newLevel,
                                       Sink sink)
        Close open h2, h3, h4, h5 sections.
      • handleMetaStart

        private void handleMetaStart​(org.codehaus.plexus.util.xml.pull.XmlPullParser parser,
                                     Sink sink,
                                     SinkEventAttributeSet attribs)
      • handleSectionStart

        private void handleSectionStart​(int level,
                                        Sink sink,
                                        SinkEventAttributeSet attribs,
                                        org.codehaus.plexus.util.xml.pull.XmlPullParser parser)
      • openMissingSections

        private void openMissingSections​(int newLevel,
                                         Sink sink)
        Open missing h2, h3, h4, h5 sections.