IAttributeSequenceHandler
, ICDATASectionHandler
, ICommentHandler
, IDocTypeHandler
, IDocumentHandler
, IElementHandler
, IMarkupHandler
, IProcessingInstructionHandler
, ITextHandler
, IXMLDeclarationHandler
public final class OutputMarkupHandler extends AbstractMarkupHandler
Implementation of IMarkupHandler
used for writing received parsing events as markup output.
This handler allows writing markup without any loss of information (e.g. preserving case in keywords, attribute quoting, whitespaces, etc.) and can be used at the end of a handler chain in order to observe, in markup form, the results of the operations that might have been performed.
This handler will ignore all auto* events, as they are synthetically generated events that did not appear at the original markup input.
Note that, as with most handlers, this class is not thread-safe. Also, instances of this class should not be reused across parsing operations.
Sample usage:
final Writer writer = new StringWriter();
final IMarkupHandler handler = new OutputMarkupHandler(writer);
parser.parse(document, handler);
return writer.toString();
Constructor | Description |
---|---|
OutputMarkupHandler(java.io.Writer writer) |
Creates a new instance of this handler.
|
Modifier and Type | Method | Description |
---|---|---|
void |
handleAttribute(char[] buffer,
int nameOffset,
int nameLen,
int nameLine,
int nameCol,
int operatorOffset,
int operatorLen,
int operatorLine,
int operatorCol,
int valueContentOffset,
int valueContentLen,
int valueOuterOffset,
int valueOuterLen,
int valueLine,
int valueCol) |
Called when an attribute is found.
|
void |
handleAutoCloseElementEnd(char[] buffer,
int offset,
int len,
int line,
int col) |
Called for signaling the end of an auto-close element, created for
balancing an unclosed tag.
|
void |
handleAutoCloseElementStart(char[] buffer,
int offset,
int len,
int line,
int col) |
Called for signaling the start of an auto-close element (a synthetic close tag),
created for balancing an unclosed tag.
|
void |
handleAutoOpenElementEnd(char[] buffer,
int offset,
int len,
int line,
int col) |
Called for signaling the end of an auto-open element (a synthetic open tag),
created for adapting parsed markup to a specification such as, for example, HTML5.
|
void |
handleAutoOpenElementStart(char[] buffer,
int offset,
int len,
int line,
int col) |
Called for signaling the start of an auto-open element (a synthetic open tag),
created for adapting parsed markup to a specification such as, for example, HTML5.
|
void |
handleCDATASection(char[] buffer,
int contentOffset,
int contentLen,
int outerOffset,
int outerLen,
int line,
int col) |
Called when a CDATA section is found.
|
void |
handleCloseElementEnd(char[] buffer,
int offset,
int len,
int line,
int col) |
Called when the end of a close element (a close tag) is found.
|
void |
handleCloseElementStart(char[] buffer,
int offset,
int len,
int line,
int col) |
Called when the start of a close element (a close tag) is found.
|
void |
handleComment(char[] buffer,
int contentOffset,
int contentLen,
int outerOffset,
int outerLen,
int line,
int col) |
Called when a comment is found.
|
void |
handleDocType(char[] buffer,
int keywordOffset,
int keywordLen,
int keywordLine,
int keywordCol,
int elementNameOffset,
int elementNameLen,
int elementNameLine,
int elementNameCol,
int typeOffset,
int typeLen,
int typeLine,
int typeCol,
int publicIdOffset,
int publicIdLen,
int publicIdLine,
int publicIdCol,
int systemIdOffset,
int systemIdLen,
int systemIdLine,
int systemIdCol,
int internalSubsetOffset,
int internalSubsetLen,
int internalSubsetLine,
int internalSubsetCol,
int outerOffset,
int outerLen,
int outerLine,
int outerCol) |
Called when a DOCTYPE clause is found.
|
void |
handleInnerWhiteSpace(char[] buffer,
int offset,
int len,
int line,
int col) |
Called when an amount of white space is found inside an element.
|
void |
handleOpenElementEnd(char[] buffer,
int offset,
int len,
int line,
int col) |
Called when the end of an open element (an open tag) is found.
|
void |
handleOpenElementStart(char[] buffer,
int offset,
int len,
int line,
int col) |
Called when an open element (an open tag) is found.
|
void |
handleProcessingInstruction(char[] buffer,
int targetOffset,
int targetLen,
int targetLine,
int targetCol,
int contentOffset,
int contentLen,
int contentLine,
int contentCol,
int outerOffset,
int outerLen,
int line,
int col) |
Called when a Processing Instruction is found.
|
void |
handleStandaloneElementEnd(char[] buffer,
int offset,
int len,
boolean minimized,
int line,
int col) |
Called when the end of a standalone element (an element with no closing tag) is found
|
void |
handleStandaloneElementStart(char[] buffer,
int offset,
int len,
boolean minimized,
int line,
int col) |
Called when a standalone element (an element with no closing tag) is found.
|
void |
handleText(char[] buffer,
int offset,
int len,
int line,
int col) |
Called when a text artifact is found.
|
void |
handleUnmatchedCloseElementEnd(char[] buffer,
int offset,
int len,
int line,
int col) |
Called when the end of an unmatched close element (close tag) is found.
|
void |
handleUnmatchedCloseElementStart(char[] buffer,
int offset,
int len,
int line,
int col) |
Called when the start of an unmatched close element (close tag) is found.
|
void |
handleXmlDeclaration(char[] buffer,
int keywordOffset,
int keywordLen,
int keywordLine,
int keywordCol,
int versionOffset,
int versionLen,
int versionLine,
int versionCol,
int encodingOffset,
int encodingLen,
int encodingLine,
int encodingCol,
int standaloneOffset,
int standaloneLen,
int standaloneLine,
int standaloneCol,
int outerOffset,
int outerLen,
int line,
int col) |
Called when a XML Declaration is found.
|
handleDocumentEnd, handleDocumentStart, setParseConfiguration, setParseSelection, setParseStatus
public OutputMarkupHandler(java.io.Writer writer)
Creates a new instance of this handler.
writer
- the writer to which output will be written.public void handleText(char[] buffer, int offset, int len, int line, int col) throws ParseException
ITextHandler
Called when a text artifact is found.
A sequence of chars is considered to be text when no structures of any kind are contained inside it. In markup parsers, for example, this means no tags (a.k.a. elements), DOCTYPE's, processing instructions, etc. are contained in the sequence.
Text sequences might include any number of new line and/or control characters.
Text artifacts are reported using the document buffer directly, and this buffer should not be considered to be immutable, so reported texts should be copied if they need to be stored (either by copying len chars from the buffer char[] starting in offset or by creating a String from it using the same specification).
Implementations of this handler should never modify the document buffer.
handleText
in interface ITextHandler
handleText
in class AbstractMarkupHandler
buffer
- the document buffer (not copied)offset
- the offset (position in buffer) where the text artifact starts.len
- the length (in chars) of the text artifact, starting in offset.line
- the line in the original document where this text artifact starts.col
- the column in the original document where this text artifact starts.ParseException
- if any exceptions occur during handling.public void handleComment(char[] buffer, int contentOffset, int contentLen, int outerOffset, int outerLen, int line, int col) throws ParseException
ICommentHandler
Called when a comment is found.
Two [offset, len] pairs are provided for two partitions (outer and content):
<!-- this is a comment -->
| [CONTENT----------] |
[OUTER-------------------]
Artifacts are reported using the document buffer directly, and this buffer should not be considered to be immutable, so reported structures should be copied if they need to be stored (either by copying len chars from the buffer char[] starting in offset or by creating a String from it using the same specification).
Implementations of this handler should never modify the document buffer.
handleComment
in interface ICommentHandler
handleComment
in class AbstractMarkupHandler
buffer
- the document buffer (not copied)contentOffset
- offset for the content partition.contentLen
- length of the content partition.outerOffset
- offset for the outer partition.outerLen
- length of the outer partition.line
- the line in the original document where this artifact starts.col
- the column in the original document where this artifact starts.ParseException
- if any exceptions occur during handling.public void handleCDATASection(char[] buffer, int contentOffset, int contentLen, int outerOffset, int outerLen, int line, int col) throws ParseException
ICDATASectionHandler
Called when a CDATA section is found.
Two [offset, len] pairs are provided for two partitions (outer and content):
<![CDATA[ this is a CDATA section ]]>
| [CONTENT----------------] |
[OUTER------------------------------]
Artifacts are reported using the document buffer directly, and this buffer should not be considered to be immutable, so reported structures should be copied if they need to be stored (either by copying len chars from the buffer char[] starting in offset or by creating a String from it using the same specification).
Implementations of this handler should never modify the document buffer.
handleCDATASection
in interface ICDATASectionHandler
handleCDATASection
in class AbstractMarkupHandler
buffer
- the document buffer (not copied)contentOffset
- offset for the content partition.contentLen
- length of the content partition.outerOffset
- offset for the outer partition.outerLen
- length of the outer partition.line
- the line in the original document where this artifact starts.col
- the column in the original document where this artifact starts.ParseException
- if any exceptions occur during handling.public void handleStandaloneElementStart(char[] buffer, int offset, int len, boolean minimized, int line, int col) throws ParseException
IElementHandler
Called when a standalone element (an element with no closing tag) is found. The name of the element is also reported.
Artifacts are reported using the document buffer directly, and this buffer should not be considered to be immutable, so reported structures should be copied if they need to be stored (either by copying len chars from the buffer char[] starting in offset or by creating a String from it using the same specification).
Implementations of this handler should never modify the document buffer.
handleStandaloneElementStart
in interface IElementHandler
handleStandaloneElementStart
in class AbstractMarkupHandler
buffer
- the document buffer (not copied)offset
- the offset (position in buffer) where the element name appears.len
- the length (in chars) of the element name.minimized
- whether the element has been found minimized (<element/>)in code or not.line
- the line in the original document where this artifact starts.col
- the column in the original document where this artifact starts.ParseException
- if any exceptions occur during handling.public void handleStandaloneElementEnd(char[] buffer, int offset, int len, boolean minimized, int line, int col) throws ParseException
IElementHandler
Called when the end of a standalone element (an element with no closing tag) is found
Artifacts are reported using the document buffer directly, and this buffer should not be considered to be immutable, so reported structures should be copied if they need to be stored (either by copying len chars from the buffer char[] starting in offset or by creating a String from it using the same specification).
Implementations of this handler should never modify the document buffer.
handleStandaloneElementEnd
in interface IElementHandler
handleStandaloneElementEnd
in class AbstractMarkupHandler
buffer
- the document buffer (not copied)offset
- the offset (position in buffer) where the element name appears.len
- the length (in chars) of the element name.minimized
- whether the element has been found minimized (<element/>)in code or not.line
- the line in the original document where the element ending structure appears.col
- the column in the original document where the element ending structure appears.ParseException
- if any exceptions occur during handling.public void handleOpenElementStart(char[] buffer, int offset, int len, int line, int col) throws ParseException
IElementHandler
Called when an open element (an open tag) is found. The name of the element is also reported.
Artifacts are reported using the document buffer directly, and this buffer should not be considered to be immutable, so reported structures should be copied if they need to be stored (either by copying len chars from the buffer char[] starting in offset or by creating a String from it using the same specification).
Implementations of this handler should never modify the document buffer.
handleOpenElementStart
in interface IElementHandler
handleOpenElementStart
in class AbstractMarkupHandler
buffer
- the document buffer (not copied)offset
- the offset (position in buffer) where the element name appears.len
- the length (in chars) of the element name.line
- the line in the original document where this artifact starts.col
- the column in the original document where this artifact starts.ParseException
- if any exceptions occur during handling.public void handleOpenElementEnd(char[] buffer, int offset, int len, int line, int col) throws ParseException
IElementHandler
Called when the end of an open element (an open tag) is found.
Artifacts are reported using the document buffer directly, and this buffer should not be considered to be immutable, so reported structures should be copied if they need to be stored (either by copying len chars from the buffer char[] starting in offset or by creating a String from it using the same specification).
Implementations of this handler should never modify the document buffer.
handleOpenElementEnd
in interface IElementHandler
handleOpenElementEnd
in class AbstractMarkupHandler
buffer
- the document buffer (not copied)offset
- the offset (position in buffer) where the element name appears.len
- the length (in chars) of the element name.line
- the line in the original document where the element ending structure appears.col
- the column in the original document where the element ending structure appears.ParseException
- if any exceptions occur during handling.public void handleAutoOpenElementStart(char[] buffer, int offset, int len, int line, int col) throws ParseException
IElementHandler
Called for signaling the start of an auto-open element (a synthetic open tag), created for adapting parsed markup to a specification such as, for example, HTML5. The name of the element is also reported.
Artifacts are reported using the document buffer directly, and this buffer should not be considered to be immutable, so reported structures should be copied if they need to be stored (either by copying len chars from the buffer char[] starting in offset or by creating a String from it using the same specification).
Implementations of this handler should never modify the document buffer.
handleAutoOpenElementStart
in interface IElementHandler
handleAutoOpenElementStart
in class AbstractMarkupHandler
buffer
- the document buffer (not copied)offset
- the offset (position in buffer) where the element name appears.len
- the length (in chars) of the element name.line
- the line in the original document where this artifact starts.col
- the column in the original document where this artifact starts.ParseException
- if any exceptions occur during handling.public void handleAutoOpenElementEnd(char[] buffer, int offset, int len, int line, int col) throws ParseException
IElementHandler
Called for signaling the end of an auto-open element (a synthetic open tag), created for adapting parsed markup to a specification such as, for example, HTML5. The name of the element is also reported.
Artifacts are reported using the document buffer directly, and this buffer should not be considered to be immutable, so reported structures should be copied if they need to be stored (either by copying len chars from the buffer char[] starting in offset or by creating a String from it using the same specification).
Implementations of this handler should never modify the document buffer.
handleAutoOpenElementEnd
in interface IElementHandler
handleAutoOpenElementEnd
in class AbstractMarkupHandler
buffer
- the document buffer (not copied)offset
- the offset (position in buffer) where the element name appears.len
- the length (in chars) of the element name.line
- the line in the original document where the element ending structure appears.col
- the column in the original document where the element ending structure appears.ParseException
- if any exceptions occur during handling.public void handleCloseElementStart(char[] buffer, int offset, int len, int line, int col) throws ParseException
IElementHandler
Called when the start of a close element (a close tag) is found. The name of the element is also reported.
Artifacts are reported using the document buffer directly, and this buffer should not be considered to be immutable, so reported structures should be copied if they need to be stored (either by copying len chars from the buffer char[] starting in offset or by creating a String from it using the same specification).
Implementations of this handler should never modify the document buffer.
handleCloseElementStart
in interface IElementHandler
handleCloseElementStart
in class AbstractMarkupHandler
buffer
- the document buffer (not copied)offset
- the offset (position in buffer) where the element name appears.len
- the length (in chars) of the element name.line
- the line in the original document where this artifact starts.col
- the column in the original document where this artifact starts.ParseException
- if any exceptions occur during handling.public void handleCloseElementEnd(char[] buffer, int offset, int len, int line, int col) throws ParseException
IElementHandler
Called when the end of a close element (a close tag) is found.
Artifacts are reported using the document buffer directly, and this buffer should not be considered to be immutable, so reported structures should be copied if they need to be stored (either by copying len chars from the buffer char[] starting in offset or by creating a String from it using the same specification).
Implementations of this handler should never modify the document buffer.
handleCloseElementEnd
in interface IElementHandler
handleCloseElementEnd
in class AbstractMarkupHandler
buffer
- the document buffer (not copied)offset
- the offset (position in buffer) where the element name appears.len
- the length (in chars) of the element name.line
- the line in the original document where the element ending structure appears.col
- the column in the original document where the element ending structure appears.ParseException
- if any exceptions occur during handling.public void handleAutoCloseElementStart(char[] buffer, int offset, int len, int line, int col) throws ParseException
IElementHandler
Called for signaling the start of an auto-close element (a synthetic close tag), created for balancing an unclosed tag. The name of the element is also reported.
Artifacts are reported using the document buffer directly, and this buffer should not be considered to be immutable, so reported structures should be copied if they need to be stored (either by copying len chars from the buffer char[] starting in offset or by creating a String from it using the same specification).
Implementations of this handler should never modify the document buffer.
handleAutoCloseElementStart
in interface IElementHandler
handleAutoCloseElementStart
in class AbstractMarkupHandler
buffer
- the document buffer (not copied)offset
- the offset (position in buffer) where the element name appears.len
- the length (in chars) of the element name.line
- the line in the original document where this artifact starts.col
- the column in the original document where this artifact starts.ParseException
- if any exceptions occur during handling.public void handleAutoCloseElementEnd(char[] buffer, int offset, int len, int line, int col) throws ParseException
IElementHandler
Called for signaling the end of an auto-close element, created for balancing an unclosed tag.
Artifacts are reported using the document buffer directly, and this buffer should not be considered to be immutable, so reported structures should be copied if they need to be stored (either by copying len chars from the buffer char[] starting in offset or by creating a String from it using the same specification).
Implementations of this handler should never modify the document buffer.
handleAutoCloseElementEnd
in interface IElementHandler
handleAutoCloseElementEnd
in class AbstractMarkupHandler
buffer
- the document buffer (not copied)offset
- the offset (position in buffer) where the element name appears.len
- the length (in chars) of the element name.line
- the line in the original document where the element ending structure appears.col
- the column in the original document where the element ending structure appears.ParseException
- if any exceptions occur during handling.public void handleUnmatchedCloseElementStart(char[] buffer, int offset, int len, int line, int col) throws ParseException
IElementHandler
Called when the start of an unmatched close element (close tag) is found. The name of the element is also reported.
Artifacts are reported using the document buffer directly, and this buffer should not be considered to be immutable, so reported structures should be copied if they need to be stored (either by copying len chars from the buffer char[] starting in offset or by creating a String from it using the same specification).
Implementations of this handler should never modify the document buffer.
handleUnmatchedCloseElementStart
in interface IElementHandler
handleUnmatchedCloseElementStart
in class AbstractMarkupHandler
buffer
- the document buffer (not copied)offset
- the offset (position in buffer) where the element name appears.len
- the length (in chars) of the element name.line
- the line in the original document where this artifact starts.col
- the column in the original document where this artifact starts.ParseException
- if any exceptions occur during handling.public void handleUnmatchedCloseElementEnd(char[] buffer, int offset, int len, int line, int col) throws ParseException
IElementHandler
Called when the end of an unmatched close element (close tag) is found.
Artifacts are reported using the document buffer directly, and this buffer should not be considered to be immutable, so reported structures should be copied if they need to be stored (either by copying len chars from the buffer char[] starting in offset or by creating a String from it using the same specification).
Implementations of this handler should never modify the document buffer.
handleUnmatchedCloseElementEnd
in interface IElementHandler
handleUnmatchedCloseElementEnd
in class AbstractMarkupHandler
buffer
- the document buffer (not copied)offset
- the offset (position in buffer) where the element name appears.len
- the length (in chars) of the element name.line
- the line in the original document where the element ending structure appears.col
- the column in the original document where the element ending structure appears.ParseException
- if any exceptions occur during handling.public void handleAttribute(char[] buffer, int nameOffset, int nameLen, int nameLine, int nameCol, int operatorOffset, int operatorLen, int operatorLine, int operatorCol, int valueContentOffset, int valueContentLen, int valueOuterOffset, int valueOuterLen, int valueLine, int valueCol) throws ParseException
IAttributeSequenceHandler
Called when an attribute is found.
Three [offset, len] pairs are provided for three partitions (name, operator, valueContent and valueOuter):
class="basic_column"
[NAM]* [VALUECONTE]| (*) = [OPERATOR]
| [VALUEOUTER--]
[OUTER-------------]
Artifacts are reported using the document buffer directly, and this buffer should not be considered to be immutable, so reported structures should be copied if they need to be stored (either by copying len chars from the buffer char[] starting in offset or by creating a String from it using the same specification).
Implementations of this handler should never modify the document buffer.
handleAttribute
in interface IAttributeSequenceHandler
handleAttribute
in class AbstractMarkupHandler
buffer
- the document buffer (not copied)nameOffset
- offset for the name partition.nameLen
- length of the name partition.nameLine
- the line in the original document where the name partition starts.nameCol
- the column in the original document where the name partition starts.operatorOffset
- offset for the operator partition.operatorLen
- length of the operator partition.operatorLine
- the line in the original document where the operator partition starts.operatorCol
- the column in the original document where the operator partition starts.valueContentOffset
- offset for the valueContent partition.valueContentLen
- length of the valueContent partition.valueOuterOffset
- offset for the valueOuter partition.valueOuterLen
- length of the valueOuter partition.valueLine
- the line in the original document where the value (outer) partition starts.valueCol
- the column in the original document where the value (outer) partition starts.ParseException
- if any exceptions occur during handling.public void handleInnerWhiteSpace(char[] buffer, int offset, int len, int line, int col) throws ParseException
IAttributeSequenceHandler
Called when an amount of white space is found inside an element.
This attribute separators can contain any amount of whitespace, including line feeds:
<div id="main" class="basic_column">
[INNWSP]
Artifacts are reported using the document buffer directly, and this buffer should not be considered to be immutable, so reported structures should be copied if they need to be stored (either by copying len chars from the buffer char[] starting in offset or by creating a String from it using the same specification).
Implementations of this handler should never modify the document buffer.
handleInnerWhiteSpace
in interface IAttributeSequenceHandler
handleInnerWhiteSpace
in class AbstractMarkupHandler
buffer
- the document buffer (not copied)offset
- offset for the artifact.len
- length of the artifact.line
- the line in the original document where the artifact starts.col
- the column in the original document where the artifact starts.ParseException
- if any exceptions occur during handling.public void handleDocType(char[] buffer, int keywordOffset, int keywordLen, int keywordLine, int keywordCol, int elementNameOffset, int elementNameLen, int elementNameLine, int elementNameCol, int typeOffset, int typeLen, int typeLine, int typeCol, int publicIdOffset, int publicIdLen, int publicIdLine, int publicIdCol, int systemIdOffset, int systemIdLen, int systemIdLine, int systemIdCol, int internalSubsetOffset, int internalSubsetLen, int internalSubsetLine, int internalSubsetCol, int outerOffset, int outerLen, int outerLine, int outerCol) throws ParseException
IDocTypeHandler
Called when a DOCTYPE clause is found.
This method reports the DOCTYPE clause splitting it into its different parts.
Seven [offset, len] pairs are provided for seven partitions (outer, keyword, elementName, type, publicId, systemId and internalSubset) of the DOCTYPE clause:
<!DOCTYPE html PUBLIC ".........." ".........." [................]>
| [KEYWO] [EN] [TYPE] [PUBLICID] [SYSTEMID] [INTERNALSUBSET] |
[OUTER------------------------------------------------------------]
Artifacts are reported using the document buffer directly, and this buffer should not be considered to be immutable, so reported structures should be copied if they need to be stored (either by copying len chars from the buffer char[] starting in offset or by creating a String from it using the same specification).
Implementations of this handler should never modify the document buffer.
handleDocType
in interface IDocTypeHandler
handleDocType
in class AbstractMarkupHandler
buffer
- the document buffer (not copied)keywordOffset
- offset for the keyword partition.keywordLen
- length of the keyword partition.keywordLine
- the line in the original document where the keyword partition starts.keywordCol
- the column in the original document where the keyword partition starts.elementNameOffset
- offset for the elementName partition.elementNameLen
- length of the elementName partition.elementNameLine
- the line in the original document where the elementName partition starts.elementNameCol
- the column in the original document where the elementName partition starts.typeOffset
- offset for the type partition.typeLen
- length of the type partition.typeLine
- the line in the original document where the type partition starts.typeCol
- the column in the original document where the type partition starts.publicIdOffset
- offset for the publicId partition.publicIdLen
- length of the publicId partition.publicIdLine
- the line in the original document where the publicId partition starts.publicIdCol
- the column in the original document where the publicId partition starts.systemIdOffset
- offset for the systemId partition.systemIdLen
- length of the systemId partition.systemIdLine
- the line in the original document where the systemId partition starts.systemIdCol
- the column in the original document where the systemId partition starts.internalSubsetOffset
- offset for the internalSubsetId partition.internalSubsetLen
- length of the internalSubsetId partition.internalSubsetLine
- the line in the original document where the internalSubsetId partition starts.internalSubsetCol
- the column in the original document where the internalSubsetId partition starts.outerOffset
- offset for the outer partition.outerLen
- length of the outer partition.outerLine
- the line in the original document where this artifact starts.outerCol
- the column in the original document where this artifact starts.ParseException
- if any exceptions occur during handling.public void handleXmlDeclaration(char[] buffer, int keywordOffset, int keywordLen, int keywordLine, int keywordCol, int versionOffset, int versionLen, int versionLine, int versionCol, int encodingOffset, int encodingLen, int encodingLine, int encodingCol, int standaloneOffset, int standaloneLen, int standaloneLine, int standaloneCol, int outerOffset, int outerLen, int line, int col) throws ParseException
IXMLDeclarationHandler
Called when a XML Declaration is found.
Five [offset, len] pairs are provided for five partitions (outer, keyword, version, encoding and standalone):
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
| [K] [V] [ENC] [S] |
[OUTER------------------------------------------------]
Artifacts are reported using the document buffer directly, and this buffer should not be considered to be immutable, so reported structures should be copied if they need to be stored (either by copying len chars from the buffer char[] starting in offset or by creating a String from it using the same specification).
Implementations of this handler should never modify the document buffer.
handleXmlDeclaration
in interface IXMLDeclarationHandler
handleXmlDeclaration
in class AbstractMarkupHandler
buffer
- the document buffer (not copied)keywordOffset
- offset for the keyword partition.keywordLen
- length of the keyword partition.keywordLine
- the line in the original document where the keyword partition starts.keywordCol
- the column in the original document where the keyword partition starts.versionOffset
- offset for the version partition.versionLen
- length of the version partition.versionLine
- the line in the original document where the version partition starts.versionCol
- the column in the original document where the version partition starts.encodingOffset
- offset for the encoding partition.encodingLen
- length of the encoding partition.encodingLine
- the line in the original document where the encoding partition starts.encodingCol
- the column in the original document where the encoding partition starts.standaloneOffset
- offset for the standalone partition.standaloneLen
- length of the standalone partition.standaloneLine
- the line in the original document where the standalone partition starts.standaloneCol
- the column in the original document where the standalone partition starts.outerOffset
- offset for the outer partition.outerLen
- length of the outer partition.line
- the line in the original document where this artifact starts.col
- the column in the original document where this artifact starts.ParseException
- if any exceptions occur during handling.public void handleProcessingInstruction(char[] buffer, int targetOffset, int targetLen, int targetLine, int targetCol, int contentOffset, int contentLen, int contentLine, int contentCol, int outerOffset, int outerLen, int line, int col) throws ParseException
IProcessingInstructionHandler
Called when a Processing Instruction is found.
Three [offset, len] pairs are provided for three partitions (outer, target and content):
<?xls-stylesheet somePar1="a" somePar2="b"?>
| [TARGET------] [CONTENT----------------] |
[OUTER-------------------------------------]
Note that, although XML Declarations have the same format as processing instructions, they are not considered as such and therefore are handled through a different handling method.
Artifacts are reported using the document buffer directly, and this buffer should not be considered to be immutable, so reported structures should be copied if they need to be stored (either by copying len chars from the buffer char[] starting in offset or by creating a String from it using the same specification).
Implementations of this handler should never modify the document buffer.
handleProcessingInstruction
in interface IProcessingInstructionHandler
handleProcessingInstruction
in class AbstractMarkupHandler
buffer
- the document buffer (not copied)targetOffset
- offset for the target partition.targetLen
- length of the target partition.targetLine
- the line in the original document where the target partition starts.targetCol
- the column in the original document where the target partition starts.contentOffset
- offset for the content partition.contentLen
- length of the content partition.contentLine
- the line in the original document where the content partition starts.contentCol
- the column in the original document where the content partition starts.outerOffset
- offset for the outer partition.outerLen
- length of the outer partition.line
- the line in the original document where this artifact starts.col
- the column in the original document where this artifact starts.ParseException
- if any exceptions occur during handling.Copyright © 2018 The ATTOPARSER team. All rights reserved.