|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.apache.maven.doxia.parser.AbstractParser
org.apache.maven.doxia.parser.AbstractXmlParser
org.apache.maven.doxia.parser.XhtmlBaseParser
public class XhtmlBaseParser
Common base parser for xhtml events.
| 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.XmlMarkup |
|---|
BANG, CDATA, DOCTYPE_START, ENTITY_START, XML_NAMESPACE |
| 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 |
| Constructor Summary | |
|---|---|
XhtmlBaseParser()
|
|
| Method Summary | |
|---|---|
protected boolean |
baseEndTag(org.codehaus.plexus.util.xml.pull.XmlPullParser parser,
Sink sink)
Goes through a common list of possible html end tags. |
protected boolean |
baseStartTag(org.codehaus.plexus.util.xml.pull.XmlPullParser parser,
Sink sink)
Goes through a common list of possible html start tags. |
protected void |
consecutiveSections(int newLevel,
Sink sink)
Make sure sections are nested consecutively. |
protected int |
getSectionLevel()
Return the current section level. |
protected void |
handleCdsect(org.codehaus.plexus.util.xml.pull.XmlPullParser parser,
Sink sink)
Handles CDATA sections. |
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. Just calls baseEndTag(XmlPullParser,Sink), this should be
overridden by implementing parsers to include additional tags. |
protected void |
handleEntity(org.codehaus.plexus.util.xml.pull.XmlPullParser parser,
Sink sink)
Handles entities. |
protected void |
handleStartTag(org.codehaus.plexus.util.xml.pull.XmlPullParser parser,
Sink sink)
Goes through the possible start tags. Just calls baseStartTag(XmlPullParser,Sink), this should be
overridden by implementing parsers to include additional tags. |
protected void |
handleText(org.codehaus.plexus.util.xml.pull.XmlPullParser parser,
Sink sink)
Handles text events. |
protected void |
handleUnknown(org.codehaus.plexus.util.xml.pull.XmlPullParser parser,
Sink sink,
int type)
Handles an unkown event. |
protected boolean |
isVerbatim()
Checks if we are currently insid a <pre> tag. |
protected void |
setSectionLevel(int newLevel)
Set the current section level. |
protected java.lang.String |
validAnchor(java.lang.String id)
Checks if the given id is a valid Doxia id and if not, returns a transformed one. |
protected void |
verbatim_()
Decrease the current verbatim level. |
protected void |
verbatim()
Increases the current verbatim level. |
| Methods inherited from class org.apache.maven.doxia.parser.AbstractXmlParser |
|---|
getAttributesFromParser, getLocalEntities, getText, getType, isCollapsibleWhitespace, isIgnorableWhitespace, isTrimmableWhitespace, isValidate, parse, parse, setCollapsibleWhitespace, setIgnorableWhitespace, setTrimmableWhitespace, setValidate |
| Methods inherited from class org.apache.maven.doxia.parser.AbstractParser |
|---|
enableLogging, executeMacro, getBasedir, getLog, getMacroManager, isSecondParsing, setSecondParsing |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public XhtmlBaseParser()
| Method Detail |
|---|
protected boolean baseStartTag(org.codehaus.plexus.util.xml.pull.XmlPullParser parser,
Sink sink)
Goes through a common list of possible html start tags. These include only tags that can go into the body of a xhtml document and so should be re-usable by different xhtml-based parsers.
The currently handled tags are:
<h2>, <h3>, <h4>, <h5>, <h6>, <p>, <pre>,
<ul>, <ol>, <li>, <dl>, <dt>, <dd>, <b>, <strong>,
<i>, <em>, <code>, <samp>, <tt>, <a>, <table>, <tr>,
<th>, <td>, <caption>, <br/>, <hr/>, <img/>.
parser - A parser.sink - the sink to receive the events.
protected boolean baseEndTag(org.codehaus.plexus.util.xml.pull.XmlPullParser parser,
Sink sink)
Goes through a common list of possible html end tags.
These should be re-usable by different xhtml-based parsers.
The tags handled here are the same as for baseStartTag(XmlPullParser,Sink),
except for the empty elements (<br/>, <hr/>, <img/>).
parser - A parser.sink - the sink to receive the events.
protected void handleStartTag(org.codehaus.plexus.util.xml.pull.XmlPullParser parser,
Sink sink)
throws org.codehaus.plexus.util.xml.pull.XmlPullParserException,
MacroExecutionException
baseStartTag(XmlPullParser,Sink), this should be
overridden by implementing parsers to include additional tags.
handleStartTag in class AbstractXmlParserparser - 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 model
MacroExecutionException - if there's a problem executing a macro
protected void handleEndTag(org.codehaus.plexus.util.xml.pull.XmlPullParser parser,
Sink sink)
throws org.codehaus.plexus.util.xml.pull.XmlPullParserException,
MacroExecutionException
baseEndTag(XmlPullParser,Sink), this should be
overridden by implementing parsers to include additional tags.
handleEndTag in class AbstractXmlParserparser - 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 model
MacroExecutionException - if there's a problem executing a macro
protected void handleText(org.codehaus.plexus.util.xml.pull.XmlPullParser parser,
Sink sink)
throws org.codehaus.plexus.util.xml.pull.XmlPullParserException
handleText in class AbstractXmlParserparser - 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 model
protected void handleCdsect(org.codehaus.plexus.util.xml.pull.XmlPullParser parser,
Sink sink)
throws org.codehaus.plexus.util.xml.pull.XmlPullParserException
handleCdsect in class AbstractXmlParserparser - 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 model
protected void handleComment(org.codehaus.plexus.util.xml.pull.XmlPullParser parser,
Sink sink)
throws org.codehaus.plexus.util.xml.pull.XmlPullParserException
handleComment in class AbstractXmlParserparser - 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 model
protected void handleEntity(org.codehaus.plexus.util.xml.pull.XmlPullParser parser,
Sink sink)
throws org.codehaus.plexus.util.xml.pull.XmlPullParserException
handleEntity in class AbstractXmlParserparser - 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 model
protected void handleUnknown(org.codehaus.plexus.util.xml.pull.XmlPullParser parser,
Sink sink,
int type)
parser - the parser to get the event from.sink - the sink to receive the event.type - the tag event type. This should be one of HtmlMarkup.TAG_TYPE_SIMPLE,
HtmlMarkup.TAG_TYPE_START or HtmlMarkup.TAG_TYPE_END. It will be passed as the first
argument of the required parameters to the Sink
Sink.unknown(String, Object[], SinkEventAttributes)
method.
protected void consecutiveSections(int newLevel,
Sink sink)
HTML doesn't have any sections, only sectionTitles (<h2> etc), that means we have to open close any sections that are missing in between.
For instance, if the following sequence is parsed:
<h3></h3> <h6></h6>we have to insert two section starts before we open the
<h6>.
In the following sequence
<h6></h6> <h3></h3>we have to close two sections before we open the
<h3>.
The current level is set to newLevel afterwards.
newLevel - the new section level, all upper levels have to be closed.sink - the sink to receive the events.protected int getSectionLevel()
protected void setSectionLevel(int newLevel)
newLevel - the new section level.protected void verbatim_()
protected void verbatim()
protected boolean isVerbatim()
protected java.lang.String validAnchor(java.lang.String id)
id - The id to validate.
DoxiaUtils.encodeId(String)
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||