Class Xhtml5Parser
- 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.module.xhtml5.Xhtml5Parser
-
- All Implemented Interfaces:
LogEnabled,HtmlMarkup,Markup,XmlMarkup,Xhtml5Markup,Parser
@Component(role=Parser.class, hint="xhtml5") public class Xhtml5Parser extends Xhtml5BaseParser implements Xhtml5Markup
Parse an xhtml model and emit events into a Doxia Sink.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.apache.maven.doxia.parser.AbstractXmlParser
AbstractXmlParser.CachedFileEntityResolver
-
-
Field Summary
Fields Modifier and Type Field Description private booleanboxedFor boxed verbatim.private booleanisEmptyElementEmpty elements don't write a closing tag.static java.lang.StringROLE_HINTThe role hint for theXhtml5ParserPlexus component.private java.lang.StringsourceContentThe source content of the input reader.-
Fields inherited from interface org.apache.maven.doxia.markup.HtmlMarkup
A, ABBR, ACRONYM, ADDRESS, APPLET, AREA, ARTICLE, ASIDE, AUDIO, B, BASE, BASEFONT, BDI, BDO, BIG, BLOCKQUOTE, BODY, BR, BUTTON, CANVAS, CAPTION, CDATA_TYPE, CENTER, CITE, CODE, COL, COLGROUP, COMMAND, DATA, DATALIST, DD, DEL, DETAILS, DFN, DIALOG, DIR, DIV, DL, DT, EM, EMBED, ENTITY_TYPE, FIELDSET, FIGCAPTION, FIGURE, FONT, FOOTER, FORM, FRAME, FRAMESET, H1, H2, H3, H4, H5, H6, HEAD, HEADER, HGROUP, HR, HTML, I, IFRAME, IMG, INPUT, INS, ISINDEX, KBD, LABEL, LEGEND, LI, LINK, MAIN, MAP, MARK, MENU, META, METER, NAV, NOFRAMES, 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, STRIKE, STRONG, STYLE, SUB, SUMMARY, SUP, TABLE, TAG_TYPE_END, TAG_TYPE_SIMPLE, TAG_TYPE_START, TBODY, TD, TEMPLATE, TEXTAREA, TFOOT, TH, THEAD, TIME, TITLE, TR, TRACK, TT, U, UL, VAR, VIDEO, WBR
-
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.xhtml5.Xhtml5Markup
XHTML5_NAMESPACE
-
Fields inherited from interface org.apache.maven.doxia.markup.XmlMarkup
BANG, CDATA, DOCTYPE_START, ENTITY_START, XML_NAMESPACE
-
-
Constructor Summary
Constructors Constructor Description Xhtml5Parser()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private java.lang.StringescapeForMacro(java.lang.String s)escapeForMacroprotected voidhandleComment(org.codehaus.plexus.util.xml.pull.XmlPullParser parser, Sink sink)Handles comments.protected voidhandleEndTag(org.codehaus.plexus.util.xml.pull.XmlPullParser parser, Sink sink)Goes through the possible end tags.protected voidhandleStartTag(org.codehaus.plexus.util.xml.pull.XmlPullParser parser, Sink sink)Goes through the possible start tags.protected voidinit()Initialize the parser.voidparse(java.io.Reader source, Sink sink)Parses the given source model and emits Doxia events into the given sink.private voidprocessMacro(java.lang.String text, Sink sink)process macro embedded in XHTML commmentprivate java.lang.StringunescapeForMacro(java.lang.String s)unescapeForMacro-
Methods inherited from class org.apache.maven.doxia.parser.Xhtml5BaseParser
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
-
-
-
-
Field Detail
-
ROLE_HINT
public static final java.lang.String ROLE_HINT
The role hint for theXhtml5ParserPlexus component.- See Also:
- Constant Field Values
-
boxed
private boolean boxed
For boxed verbatim.
-
isEmptyElement
private boolean isEmptyElement
Empty elements don't write a closing tag.
-
sourceContent
private java.lang.String sourceContent
The source content of the input reader. Used to pass into macros.
-
-
Method Detail
-
handleStartTag
protected void handleStartTag(org.codehaus.plexus.util.xml.pull.XmlPullParser parser, Sink sink) throws org.codehaus.plexus.util.xml.pull.XmlPullParserException, MacroExecutionExceptionGoes 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, MacroExecutionExceptionGoes 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
-
handleComment
protected void handleComment(org.codehaus.plexus.util.xml.pull.XmlPullParser parser, Sink sink) throws org.codehaus.plexus.util.xml.pull.XmlPullParserExceptionHandles comments.This is a default implementation, all data are emitted as comment events into the specified sink.
- Overrides:
handleCommentin classXhtml5BaseParser- 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
-
processMacro
private void processMacro(java.lang.String text, Sink sink) throws org.codehaus.plexus.util.xml.pull.XmlPullParserExceptionprocess macro embedded in XHTML commment- Throws:
org.codehaus.plexus.util.xml.pull.XmlPullParserException
-
escapeForMacro
private java.lang.String escapeForMacro(java.lang.String s)
escapeForMacro- Parameters:
s- String- Returns:
- String
-
unescapeForMacro
private java.lang.String unescapeForMacro(java.lang.String s)
unescapeForMacro- Parameters:
s- String- Returns:
- String
-
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:
initin classXhtml5BaseParser
-
parse
public void parse(java.io.Reader source, Sink sink) throws ParseExceptionParses 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. You could usenewReadermethods fromReaderFactory.sink- A sink that consumes the Doxia events.- Throws:
ParseException- if the model could not be parsed.
-
-