Package org.apache.batik.xml
Class XMLScanner
java.lang.Object
org.apache.batik.xml.XMLScanner
- All Implemented Interfaces:
Localizable
This class represents a scanner for XML documents.
- Version:
- $Id: XMLScanner.java 1802297 2017-07-18 13:58:12Z ssteiner $
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final int
The ATTLIST context.protected char
The last attribute delimiter encountered.static final int
The attribute value context.protected char[]
The recording buffer.protected static final String
The default resource bundle base name.static final int
The CDATA section context.protected boolean
A CDATA section end is the next tokenstatic final int
The content context.protected int
The current scanning context.protected int
The current char.protected int
The depth in the xml tree.static final int
The doctype context.static final int
The document start context.static final int
The DTD declarations context.static final int
The element declaration context.protected int
The end offset of the last lexical unit.static final int
The end tag context.static final int
The entity context.static final int
The entity value context.static final int
The enumeration context.protected boolean
The scanner is in the internal DTD.protected LocalizableSupport
The localizable support.static final int
The notation context.static final int
The notation type context.static final int
The processing instruction context.protected boolean
A PI end has been previously read.protected int
The current position in the buffer.protected NormalizingReader
The reader.protected int
The start offset of the last lexical unit.static final int
The start tag context.static final int
The top level context.protected int
The type of the current lexical unit.static final int
The XML declaration context. -
Constructor Summary
ConstructorsConstructorDescriptionXMLScanner
(InputStream is, String enc) Creates a new XML scanner.XMLScanner
(Reader r) Creates a new XML scanner.XMLScanner
(String s) Creates a new XML scanner. -
Method Summary
Modifier and TypeMethodDescriptionvoid
Clears the buffer.protected XMLException
createXMLException
(String message) Returns an XMLException initialized with the given message key.formatMessage
(String key, Object[] args) ImplementsLocalizable.formatMessage(String,Object[])
.char[]
Returns the buffer used to store the chars.int
Returns the current column.int
Returns the current context.int
getDepth()
Returns the current depth in the XML tree.int
getEnd()
Returns the end offset of the last lexical unit.int
Returns the end offset of the current lexical unit.int
getLine()
Returns the current line.ImplementsLocalizable.getLocale()
.int
getStart()
Returns the start offset of the last lexical unit.int
Returns the start offset of the current lexical unit.char
Returns the last encountered string delimiter.int
getType()
The current lexical unit type like defined in LexicalUnits.int
next()
Advances to the next lexical unit.int
next
(int ctx) Advances to the next lexical unit.protected int
nextChar()
Sets the value of the current char to the next character or -1 if the end of stream has been reached.protected int
Returns the next lexical unit in the context of an attribute list.protected int
Returns the next lexical unit in the context of an attribute value.protected int
Returns the next lexical unit in the context of a CDATA section.protected int
Returns the next lexical unit in the context of an element content.protected int
Returns the next lexical unit in the context of a doctype.protected int
Reads the first token in the stream.protected int
Returns the next lexical unit in the context dtd declarations.protected int
Returns the next lexical unit in the context of a element declaration.protected int
Returns the next lexical unit in the context of a end tag.protected int
Returns the next lexical unit in the context of an entity.protected int
Returns the next lexical unit in the context of an entity value.protected int
Returns the next lexical unit in the context of an enumeration.protected int
Returns the next lexical unit in the context of a notation.protected int
Returns the next lexical unit in the context of a notation type.protected int
nextInPI()
Returns the next lexical unit in the context of a processing instruction.protected int
Returns the next lexical unit in the context of a start tag.protected int
Advances to the next lexical unit in the top level context.protected int
Returns the next lexical unit in the context of an XML declaration.protected int
Reads a comment.protected int
readIdentifier
(String s, int type, int ntype) Reads the given identifier.protected int
readName
(int type) Reads a name.protected int
Reads a Nmtoken.protected int
Reads a parameter entity reference.protected int
Reads a processing instruction start.protected int
Reads an entity or character reference.protected int
Reads a simple string, like the ones used for version, encoding, public/system identifiers...void
setContext
(int c) Sets the current context.void
setDepth
(int i) Sets the current depth in the XML tree.void
ImplementsLocalizable.setLocale(Locale)
.
-
Field Details
-
DOCUMENT_START_CONTEXT
public static final int DOCUMENT_START_CONTEXTThe document start context.- See Also:
-
TOP_LEVEL_CONTEXT
public static final int TOP_LEVEL_CONTEXTThe top level context.- See Also:
-
PI_CONTEXT
public static final int PI_CONTEXTThe processing instruction context.- See Also:
-
XML_DECL_CONTEXT
public static final int XML_DECL_CONTEXTThe XML declaration context.- See Also:
-
DOCTYPE_CONTEXT
public static final int DOCTYPE_CONTEXTThe doctype context.- See Also:
-
START_TAG_CONTEXT
public static final int START_TAG_CONTEXTThe start tag context.- See Also:
-
CONTENT_CONTEXT
public static final int CONTENT_CONTEXTThe content context.- See Also:
-
DTD_DECLARATIONS_CONTEXT
public static final int DTD_DECLARATIONS_CONTEXTThe DTD declarations context.- See Also:
-
CDATA_SECTION_CONTEXT
public static final int CDATA_SECTION_CONTEXTThe CDATA section context.- See Also:
-
END_TAG_CONTEXT
public static final int END_TAG_CONTEXTThe end tag context.- See Also:
-
ATTRIBUTE_VALUE_CONTEXT
public static final int ATTRIBUTE_VALUE_CONTEXTThe attribute value context.- See Also:
-
ATTLIST_CONTEXT
public static final int ATTLIST_CONTEXTThe ATTLIST context.- See Also:
-
ELEMENT_DECLARATION_CONTEXT
public static final int ELEMENT_DECLARATION_CONTEXTThe element declaration context.- See Also:
-
ENTITY_CONTEXT
public static final int ENTITY_CONTEXTThe entity context.- See Also:
-
NOTATION_CONTEXT
public static final int NOTATION_CONTEXTThe notation context.- See Also:
-
NOTATION_TYPE_CONTEXT
public static final int NOTATION_TYPE_CONTEXTThe notation type context.- See Also:
-
ENUMERATION_CONTEXT
public static final int ENUMERATION_CONTEXTThe enumeration context.- See Also:
-
ENTITY_VALUE_CONTEXT
public static final int ENTITY_VALUE_CONTEXTThe entity value context.- See Also:
-
BUNDLE_CLASSNAME
The default resource bundle base name.- See Also:
-
localizableSupport
The localizable support. -
reader
The reader. -
current
protected int currentThe current char. -
type
protected int typeThe type of the current lexical unit. -
buffer
protected char[] bufferThe recording buffer. -
position
protected int positionThe current position in the buffer. -
start
protected int startThe start offset of the last lexical unit. -
end
protected int endThe end offset of the last lexical unit. -
context
protected int contextThe current scanning context. -
depth
protected int depthThe depth in the xml tree. -
piEndRead
protected boolean piEndReadA PI end has been previously read. -
inDTD
protected boolean inDTDThe scanner is in the internal DTD. -
attrDelimiter
protected char attrDelimiterThe last attribute delimiter encountered. -
cdataEndRead
protected boolean cdataEndReadA CDATA section end is the next token
-
-
Constructor Details
-
XMLScanner
Creates a new XML scanner.- Parameters:
r
- The reader to scan.- Throws:
XMLException
-
XMLScanner
Creates a new XML scanner.- Parameters:
is
- The input stream to scan.enc
- The character encoding to use.- Throws:
XMLException
-
XMLScanner
Creates a new XML scanner.- Parameters:
s
- The string to parse.- Throws:
XMLException
-
-
Method Details
-
setLocale
ImplementsLocalizable.setLocale(Locale)
.- Specified by:
setLocale
in interfaceLocalizable
- Parameters:
l
- The locale to set.
-
getLocale
ImplementsLocalizable.getLocale()
.- Specified by:
getLocale
in interfaceLocalizable
-
formatMessage
ImplementsLocalizable.formatMessage(String,Object[])
.- Specified by:
formatMessage
in interfaceLocalizable
- Parameters:
key
- The key used to retreive the message from the resource bundle.args
- The objects that compose the message.- Throws:
MissingResourceException
- if the key is not in the bundle.
-
setDepth
public void setDepth(int i) Sets the current depth in the XML tree. -
getDepth
public int getDepth()Returns the current depth in the XML tree. -
setContext
public void setContext(int c) Sets the current context. -
getContext
public int getContext()Returns the current context. -
getType
public int getType()The current lexical unit type like defined in LexicalUnits. -
getLine
public int getLine()Returns the current line. -
getColumn
public int getColumn()Returns the current column. -
getBuffer
public char[] getBuffer()Returns the buffer used to store the chars. -
getStart
public int getStart()Returns the start offset of the last lexical unit. -
getEnd
public int getEnd()Returns the end offset of the last lexical unit. -
getStringDelimiter
public char getStringDelimiter()Returns the last encountered string delimiter. -
getStartOffset
public int getStartOffset()Returns the start offset of the current lexical unit. -
getEndOffset
public int getEndOffset()Returns the end offset of the current lexical unit. -
clearBuffer
public void clearBuffer()Clears the buffer. -
next
Advances to the next lexical unit.- Returns:
- The type of the lexical unit like defined in LexicalUnits.
- Throws:
XMLException
-
next
Advances to the next lexical unit.- Parameters:
ctx
- The context to use for scanning.- Returns:
- The type of the lexical unit like defined in LexicalUnits.
- Throws:
XMLException
-
nextInDocumentStart
Reads the first token in the stream.- Throws:
IOException
XMLException
-
nextInTopLevel
Advances to the next lexical unit in the top level context.- Returns:
- The type of the lexical unit like defined in LexicalUnits.
- Throws:
IOException
XMLException
-
nextInPI
Returns the next lexical unit in the context of a processing instruction.- Throws:
IOException
XMLException
-
nextInStartTag
Returns the next lexical unit in the context of a start tag.- Throws:
IOException
XMLException
-
nextInAttributeValue
Returns the next lexical unit in the context of an attribute value.- Throws:
IOException
XMLException
-
nextInContent
Returns the next lexical unit in the context of an element content.- Throws:
IOException
XMLException
-
nextInEndTag
Returns the next lexical unit in the context of a end tag.- Throws:
IOException
XMLException
-
nextInCDATASection
Returns the next lexical unit in the context of a CDATA section.- Throws:
IOException
XMLException
-
nextInXMLDecl
Returns the next lexical unit in the context of an XML declaration.- Throws:
IOException
XMLException
-
nextInDoctype
Returns the next lexical unit in the context of a doctype.- Throws:
IOException
XMLException
-
nextInDTDDeclarations
Returns the next lexical unit in the context dtd declarations.- Throws:
IOException
XMLException
-
readString
Reads a simple string, like the ones used for version, encoding, public/system identifiers... The current character must be the string delimiter.- Returns:
- type.
- Throws:
IOException
XMLException
-
readComment
Reads a comment. '<!-' must have been read.- Throws:
IOException
XMLException
-
readIdentifier
Reads the given identifier.- Parameters:
s
- The portion of the identifier to read.type
- The lexical unit type of the identifier.ntype
- The lexical unit type to set if the identifier do not match or -1 if an error must be signaled.- Throws:
IOException
XMLException
-
readName
Reads a name. The current character must be the first character.- Parameters:
type
- The lexical unit type to set.- Returns:
- type.
- Throws:
IOException
XMLException
-
readPIStart
Reads a processing instruction start.- Returns:
- type.
- Throws:
IOException
XMLException
-
nextInElementDeclaration
Returns the next lexical unit in the context of a element declaration.- Throws:
IOException
XMLException
-
nextInAttList
Returns the next lexical unit in the context of an attribute list.- Throws:
IOException
XMLException
-
nextInNotation
Returns the next lexical unit in the context of a notation.- Throws:
IOException
XMLException
-
nextInEntity
Returns the next lexical unit in the context of an entity.- Throws:
IOException
XMLException
-
nextInEntityValue
Returns the next lexical unit in the context of an entity value.- Throws:
IOException
XMLException
-
nextInNotationType
Returns the next lexical unit in the context of a notation type.- Throws:
IOException
XMLException
-
nextInEnumeration
Returns the next lexical unit in the context of an enumeration.- Throws:
IOException
XMLException
-
readReference
Reads an entity or character reference. The current character must be '&'.- Returns:
- type.
- Throws:
IOException
XMLException
-
readPEReference
Reads a parameter entity reference. The current character must be '%'.- Returns:
- type.
- Throws:
IOException
XMLException
-
readNmtoken
Reads a Nmtoken. The current character must be the first character.- Returns:
- LexicalUnits.NMTOKEN.
- Throws:
IOException
XMLException
-
nextChar
Sets the value of the current char to the next character or -1 if the end of stream has been reached.- Throws:
IOException
-
createXMLException
Returns an XMLException initialized with the given message key.
-