Class XhtmlParser
- java.lang.Object
-
- org.apache.maven.doxia.parser.AbstractParser
-
- org.apache.maven.doxia.parser.AbstractXmlParser
-
- org.apache.maven.doxia.parser.XhtmlBaseParser
-
- org.apache.maven.doxia.module.xhtml.XhtmlParser
-
- All Implemented Interfaces:
LogEnabled
,HtmlMarkup
,Markup
,XmlMarkup
,XhtmlMarkup
,Parser
- Direct Known Subclasses:
MarkdownParser.PegDownHtmlParser
@Component(role=Parser.class, hint="xhtml") public class XhtmlParser extends XhtmlBaseParser implements XhtmlMarkup
Parse an xhtml model and emit events into a Doxia Sink.- Since:
- 1.0
- Version:
- $Id: XhtmlParser.java 1726411 2016-01-23 16:34:09Z hboutemy $
- Author:
- Jason van Zyl
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.apache.maven.doxia.parser.AbstractXmlParser
AbstractXmlParser.CachedFileEntityResolver
-
-
Field Summary
-
Fields inherited from interface org.apache.maven.doxia.markup.HtmlMarkup
A, ABBR, ACRONYM, ADDRESS, APPLET, AREA, B, BASE, BASEFONT, BDO, BIG, BLOCKQUOTE, BODY, BR, BUTTON, CAPTION, CDATA_TYPE, CENTER, CITE, CODE, COL, COLGROUP, DD, DEL, DFN, DIR, DIV, DL, DT, EM, ENTITY_TYPE, FIELDSET, FONT, FORM, FRAME, FRAMESET, H1, H2, H3, H4, H5, H6, HEAD, HR, HTML, I, IFRAME, IMG, INPUT, INS, ISINDEX, KBD, LABEL, LEGEND, LI, LINK, MAP, MENU, META, NOFRAMES, NOSCRIPT, OBJECT, OL, OPTGROUP, OPTION, P, PARAM, PRE, Q, S, SAMP, SCRIPT, SELECT, SMALL, SPAN, STRIKE, STRONG, STYLE, SUB, SUP, TABLE, TAG_TYPE_END, TAG_TYPE_SIMPLE, TAG_TYPE_START, TBODY, TD, TEXTAREA, TFOOT, TH, THEAD, TITLE, TR, TT, U, UL, VAR
-
Fields inherited from interface org.apache.maven.doxia.markup.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, STAR
-
Fields inherited from interface org.apache.maven.doxia.parser.Parser
ROLE, TXT_TYPE, UNKNOWN_TYPE, XML_TYPE
-
Fields inherited from interface org.apache.maven.doxia.module.xhtml.XhtmlMarkup
XHTML_NAMESPACE, XHTML_TRANSITIONAL_PUBLIC_ID, XHTML_TRANSITIONAL_SYSTEM_ID
-
Fields inherited from interface org.apache.maven.doxia.markup.XmlMarkup
BANG, CDATA, DOCTYPE_START, ENTITY_START, XML_NAMESPACE
-
-
Constructor Summary
Constructors Constructor Description XhtmlParser()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
handleComment(org.codehaus.plexus.util.xml.pull.XmlPullParser parser, Sink sink)
Handles comments.protected void
handleEndTag(org.codehaus.plexus.util.xml.pull.XmlPullParser parser, Sink sink)
Goes through the possible end tags.protected void
handleStartTag(org.codehaus.plexus.util.xml.pull.XmlPullParser parser, Sink sink)
Goes through the possible start tags.protected void
init()
Initialize the parser.void
parse(java.io.Reader source, Sink sink)
Parses the given source model and emits Doxia events into the given sink.-
Methods inherited from class org.apache.maven.doxia.parser.XhtmlBaseParser
baseEndTag, baseStartTag, consecutiveSections, getSectionLevel, handleCdsect, handleText, initXmlParser, isScriptBlock, isVerbatim, setSectionLevel, validAnchor, verbatim, verbatim_
-
Methods inherited from class org.apache.maven.doxia.parser.AbstractXmlParser
getAttributesFromParser, getLocalEntities, getText, getType, handleEntity, handleUnknown, isCollapsibleWhitespace, isIgnorableWhitespace, isTrimmableWhitespace, isValidate, parse, setCollapsibleWhitespace, setIgnorableWhitespace, setTrimmableWhitespace, setValidate
-
Methods inherited from class org.apache.maven.doxia.parser.AbstractParser
doxiaVersion, enableLogging, executeMacro, getBasedir, getLog, getMacroManager, isEmitComments, isSecondParsing, parse, setEmitComments, setSecondParsing
-
-
-
-
Method Detail
-
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 callsXhtmlBaseParser.baseStartTag(XmlPullParser,Sink)
, this should be overridden by implementing parsers to include additional tags.- Overrides:
handleStartTag
in classXhtmlBaseParser
- 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
Goes through the possible end tags. Just callsXhtmlBaseParser.baseEndTag(XmlPullParser,Sink)
, this should be overridden by implementing parsers to include additional tags.- Overrides:
handleEndTag
in classXhtmlBaseParser
- 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
-
handleComment
protected void handleComment(org.codehaus.plexus.util.xml.pull.XmlPullParser parser, Sink sink) throws org.codehaus.plexus.util.xml.pull.XmlPullParserException
Handles comments.This is a default implementation, all data are emitted as comment events into the specified sink.
- Overrides:
handleComment
in classXhtmlBaseParser
- Parameters:
parser
- A parser, not null.sink
- the sink to receive the events. Not null.- Throws:
org.codehaus.plexus.util.xml.pull.XmlPullParserException
- if there's a problem parsing the model
-
init
protected void init()
Initialize the parser. This is called first byParser.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:
init
in classXhtmlBaseParser
-
parse
public void parse(java.io.Reader source, Sink sink) throws ParseException
Parses the given source model and emits Doxia events into the given sink.- Specified by:
parse
in interfaceParser
- Overrides:
parse
in classXhtmlBaseParser
- Parameters:
source
- not null reader that provides the source document. You could usenewReader
methods fromReaderFactory
.sink
- A sink that consumes the Doxia events.- Throws:
ParseException
- if the model could not be parsed.
-
-