Class XdocParser
java.lang.Object
org.apache.maven.doxia.parser.AbstractParser
org.apache.maven.doxia.parser.AbstractXmlParser
org.apache.maven.doxia.parser.Xhtml5BaseParser
org.apache.maven.doxia.parser.Xhtml1BaseParser
org.apache.maven.doxia.module.xdoc.XdocParser
- All Implemented Interfaces:
MacroExecutor, HtmlMarkup, Markup, XmlMarkup, XdocMarkup, Parser
Parse an xdoc model and emit events into the specified doxia Sink.
- Since:
- 1.0
-
Nested Class Summary
Nested classes/interfaces inherited from class AbstractXmlParser
AbstractXmlParser.CachedFileEntityResolver -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate booleanIndicates that <title> was called from <properties> or <head>.private booleanIndicates that we're inside <properties> or <head>.private booleanEmpty elements don't write a closing tag.private static final org.slf4j.Loggerprivate StringA macro name.The macro parameters.private StringThe source content of the input reader.Fields inherited from class Xhtml5BaseParser
isBeginningOfLineInsideBlockFields inherited from interface HtmlMarkup
A, ABBR, ADDRESS, AREA, ARTICLE, ASIDE, AUDIO, B, BASE, BDI, BDO, BLOCKQUOTE, BODY, BR, BUTTON, CANVAS, CAPTION, CDATA_TYPE, CITE, CODE, COL, COLGROUP, COMMAND, DATA, DATALIST, DD, DEL, DETAILS, DFN, DIALOG, DIV, DL, DT, EM, EMBED, ENTITY_TYPE, FIELDSET, FIGCAPTION, FIGURE, FOOTER, FORM, H1, H2, H3, H4, H5, H6, HEAD, HEADER, HGROUP, HR, HTML, I, IFRAME, IMG, INPUT, INS, KBD, KEYGEN, LABEL, LEGEND, LI, LINK, MAIN, MAP, MARK, MENU, MENUITEM, META, METER, NAV, NOSCRIPT, OBJECT, OL, OPTGROUP, OPTION, OUTPUT, P, PARAM, PICTURE, PRE, PROGRESS, Q, RB, RP, RT, RTC, RUBY, S, SAMP, SCRIPT, SECTION, SELECT, SMALL, SOURCE, SPAN, STRONG, STYLE, SUB, SUMMARY, SUP, SVG, TABLE, TAG_TYPE_END, TAG_TYPE_SIMPLE, TAG_TYPE_START, TBODY, TD, TEMPLATE, TEXTAREA, TFOOT, TH, THEAD, TIME, TITLE, TR, TRACK, U, UL, VAR, VIDEO, WBRFields inherited from interface Markup
COLON, EOL, EQUAL, GREATER_THAN, LEFT_CURLY_BRACKET, LEFT_SQUARE_BRACKET, LESS_THAN, MINUS, PLUS, QUOTE, RIGHT_CURLY_BRACKET, RIGHT_SQUARE_BRACKET, SEMICOLON, SLASH, SPACE, STARFields inherited from interface Parser
TXT_TYPE, UNKNOWN_TYPE, XML_TYPEFields inherited from interface XdocMarkup
AUTHOR_TAG, DATE_TAG, DOCUMENT_TAG, MACRO_TAG, PROPERTIES_TAG, SECTION_TAG, SOURCE_TAG, SUBSECTION_TAG, XDOC_NAMESPACE, XDOC_SYSTEM_IDFields inherited from interface XmlMarkup
BANG, CDATA, DOCTYPE_START, ENTITY_START, XML_NAMESPACE -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate voidcloseOpenSections(int newLevel, Sink sink) Close open h2, h3, h4, h5 sections.protected voidconsecutiveSections(int newLevel, Sink sink) protected voidhandleEndTag(org.codehaus.plexus.util.xml.pull.XmlPullParser parser, Sink sink) Goes through the possible end tags.private voidhandleMacroEnd(Sink sink) private voidhandleMacroStart(org.codehaus.plexus.util.xml.pull.XmlPullParser parser) private voidhandleMetaStart(org.codehaus.plexus.util.xml.pull.XmlPullParser parser, Sink sink, SinkEventAttributeSet attribs) private voidhandleParamStart(org.codehaus.plexus.util.xml.pull.XmlPullParser parser, Sink sink) private voidhandleSectionStart(int level, Sink sink, SinkEventAttributeSet attribs, org.codehaus.plexus.util.xml.pull.XmlPullParser parser) protected voidhandleStartTag(org.codehaus.plexus.util.xml.pull.XmlPullParser parser, Sink sink) Goes through the possible start tags.protected voidinit()Initialize the parser.private voidopenMissingSections(int newLevel, Sink sink) Open missing h2, h3, h4, h5 sections.voidParses the given source model and emits Doxia events into the given sink.Methods inherited from class Xhtml1BaseParser
baseEndTag, baseStartTagMethods inherited from class Xhtml5BaseParser
baseEndTag, baseStartTag, consecutiveSections, emitHeadingSections, getSectionLevel, handleCdsect, handleComment, handleText, initXmlParser, isScriptBlock, isVerbatim, processInsignificantLineBreaks, setSectionLevel, validAnchor, verbatim, verbatim_Methods inherited from class AbstractXmlParser
getAddDefaultEntities, getAttributesFromParser, getLocalEntities, getText, getType, handleEntity, handleUnknown, handleUnknown, isCollapsibleWhitespace, isIgnorableWhitespace, isTrimmableWhitespace, isValidate, setAddDefaultEntities, setCollapsibleWhitespace, setIgnorableWhitespace, setTrimmableWhitespace, setValidateMethods inherited from class AbstractParser
addSinkWrapperFactory, doxiaVersion, executeMacro, getBasedir, getMacroManager, getSinkWrapperFactories, getWrappedSink, isEmitAnchorsForIndexableEntries, isEmitComments, isSecondParsing, parse, parse, parse, setEmitAnchorsForIndexableEntries, setEmitComments, setMacroExecutor, setSecondParsing
-
Field Details
-
LOGGER
private static final org.slf4j.Logger LOGGER -
sourceContent
The source content of the input reader. Used to pass into macros. -
isEmptyElement
private boolean isEmptyElementEmpty elements don't write a closing tag. -
macroName
A macro name. -
macroParameters
-
inHead
private boolean inHeadIndicates that we're inside <properties> or <head>. -
hasTitle
private boolean hasTitleIndicates that <title> was called from <properties> or <head>.
-
-
Constructor Details
-
XdocParser
public XdocParser()
-
-
Method Details
-
parse
Description copied from interface:ParserParses the given source model and emits Doxia events into the given sink.- Specified by:
parsein interfaceParser- Overrides:
parsein classXhtml5BaseParser- Parameters:
source- not null reader that provides the source document.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 Description copied from class:Xhtml5BaseParserGoes through the possible start tags. Just callsXhtml5BaseParser.baseStartTag(XmlPullParser,Sink), this should be overridden by implementing parsers to include additional tags.- Overrides:
handleStartTagin classXhtml5BaseParser- 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 modelMacroExecutionException- 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 Description copied from class:Xhtml5BaseParserGoes through the possible end tags. Just callsXhtml5BaseParser.baseEndTag(XmlPullParser,Sink), this should be overridden by implementing parsers to include additional tags.- Overrides:
handleEndTagin classXhtml5BaseParser- 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 modelMacroExecutionException- if there's a problem executing a macro
-
consecutiveSections
-
init
protected void init()Initialize the parser. This is called first byAbstractParser.parse(java.io.Reader, org.apache.maven.doxia.sink.Sink)and can be used to set the parser into a clear state so it can be re-used.- Overrides:
initin classXhtml5BaseParser
-
closeOpenSections
Close open h2, h3, h4, h5 sections. -
handleMacroEnd
- Throws:
MacroExecutionException
-
handleMacroStart
private void handleMacroStart(org.codehaus.plexus.util.xml.pull.XmlPullParser parser) throws MacroExecutionException - Throws:
MacroExecutionException
-
handleMetaStart
private void handleMetaStart(org.codehaus.plexus.util.xml.pull.XmlPullParser parser, Sink sink, SinkEventAttributeSet attribs) -
handleParamStart
private void handleParamStart(org.codehaus.plexus.util.xml.pull.XmlPullParser parser, Sink sink) throws MacroExecutionException - Throws:
MacroExecutionException
-
handleSectionStart
private void handleSectionStart(int level, Sink sink, SinkEventAttributeSet attribs, org.codehaus.plexus.util.xml.pull.XmlPullParser parser) -
openMissingSections
Open missing h2, h3, h4, h5 sections.
-