@Component(role=Parser.class, hint="xhtml5") public class Xhtml5Parser extends Xhtml5BaseParser implements Xhtml5Markup
AbstractXmlParser.CachedFileEntityResolver
Modifier and Type | Field and Description |
---|---|
private boolean |
boxed
For boxed verbatim.
|
private boolean |
isEmptyElement
Empty elements don't write a closing tag.
|
static java.lang.String |
ROLE_HINT
The role hint for the
Xhtml5Parser Plexus component. |
private java.lang.String |
sourceContent
The source content of the input reader.
|
XHTML5_NAMESPACE
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
BANG, CDATA, DOCTYPE_START, ENTITY_START, XML_NAMESPACE
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
ROLE, TXT_TYPE, UNKNOWN_TYPE, XML_TYPE
Constructor and Description |
---|
Xhtml5Parser() |
Modifier and Type | Method and Description |
---|---|
private java.lang.String |
escapeForMacro(java.lang.String s)
escapeForMacro
|
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.
|
private void |
processMacro(java.lang.String text,
Sink sink)
process macro embedded in XHTML commment
|
private java.lang.String |
unescapeForMacro(java.lang.String s)
unescapeForMacro
|
baseEndTag, baseStartTag, consecutiveSections, getSectionLevel, handleCdsect, handleText, initXmlParser, isScriptBlock, isVerbatim, setSectionLevel, validAnchor, verbatim_, verbatim
getAttributesFromParser, getLocalEntities, getText, getType, handleEntity, handleUnknown, isCollapsibleWhitespace, isIgnorableWhitespace, isTrimmableWhitespace, isValidate, parse, setCollapsibleWhitespace, setIgnorableWhitespace, setTrimmableWhitespace, setValidate
doxiaVersion, enableLogging, executeMacro, getBasedir, getLog, getMacroManager, isEmitComments, isSecondParsing, parse, setEmitComments, setSecondParsing
public static final java.lang.String ROLE_HINT
Xhtml5Parser
Plexus component.private boolean boxed
private boolean isEmptyElement
private java.lang.String sourceContent
protected void handleStartTag(org.codehaus.plexus.util.xml.pull.XmlPullParser parser, Sink sink) throws org.codehaus.plexus.util.xml.pull.XmlPullParserException, MacroExecutionException
Xhtml5BaseParser.baseStartTag(XmlPullParser,Sink)
, this should be
overridden by implementing parsers to include additional tags.handleStartTag
in class Xhtml5BaseParser
parser
- A parser, not null.sink
- the sink to receive the events.org.codehaus.plexus.util.xml.pull.XmlPullParserException
- if there's a problem parsing the modelMacroExecutionException
- if there's a problem executing a macroprotected void handleEndTag(org.codehaus.plexus.util.xml.pull.XmlPullParser parser, Sink sink) throws org.codehaus.plexus.util.xml.pull.XmlPullParserException, MacroExecutionException
Xhtml5BaseParser.baseEndTag(XmlPullParser,Sink)
, this should be
overridden by implementing parsers to include additional tags.handleEndTag
in class Xhtml5BaseParser
parser
- A parser, not null.sink
- the sink to receive the events.org.codehaus.plexus.util.xml.pull.XmlPullParserException
- if there's a problem parsing the modelMacroExecutionException
- if there's a problem executing a macroprotected void handleComment(org.codehaus.plexus.util.xml.pull.XmlPullParser parser, Sink sink) throws org.codehaus.plexus.util.xml.pull.XmlPullParserException
This is a default implementation, all data are emitted as comment events into the specified sink.
handleComment
in class Xhtml5BaseParser
parser
- A parser, not null.sink
- the sink to receive the events. Not null.org.codehaus.plexus.util.xml.pull.XmlPullParserException
- if there's a problem parsing the modelprivate void processMacro(java.lang.String text, Sink sink) throws org.codehaus.plexus.util.xml.pull.XmlPullParserException
org.codehaus.plexus.util.xml.pull.XmlPullParserException
private java.lang.String escapeForMacro(java.lang.String s)
s
- Stringprivate java.lang.String unescapeForMacro(java.lang.String s)
s
- Stringprotected void init()
Parser.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.init
in class Xhtml5BaseParser
public void parse(java.io.Reader source, Sink sink) throws ParseException
parse
in interface Parser
parse
in class Xhtml5BaseParser
source
- not null reader that provides the source document.
You could use newReader
methods from ReaderFactory
.sink
- A sink that consumes the Doxia events.ParseException
- if the model could not be parsed.