Class XMLScanner

java.lang.Object
org.apache.batik.xml.XMLScanner
All Implemented Interfaces:
Localizable

public class XMLScanner extends Object implements Localizable
This class represents a scanner for XML documents.
Version:
$Id: XMLScanner.java 1802297 2017-07-18 13:58:12Z ssteiner $
  • Field Details

    • DOCUMENT_START_CONTEXT

      public static final int DOCUMENT_START_CONTEXT
      The document start context.
      See Also:
    • TOP_LEVEL_CONTEXT

      public static final int TOP_LEVEL_CONTEXT
      The top level context.
      See Also:
    • PI_CONTEXT

      public static final int PI_CONTEXT
      The processing instruction context.
      See Also:
    • XML_DECL_CONTEXT

      public static final int XML_DECL_CONTEXT
      The XML declaration context.
      See Also:
    • DOCTYPE_CONTEXT

      public static final int DOCTYPE_CONTEXT
      The doctype context.
      See Also:
    • START_TAG_CONTEXT

      public static final int START_TAG_CONTEXT
      The start tag context.
      See Also:
    • CONTENT_CONTEXT

      public static final int CONTENT_CONTEXT
      The content context.
      See Also:
    • DTD_DECLARATIONS_CONTEXT

      public static final int DTD_DECLARATIONS_CONTEXT
      The DTD declarations context.
      See Also:
    • CDATA_SECTION_CONTEXT

      public static final int CDATA_SECTION_CONTEXT
      The CDATA section context.
      See Also:
    • END_TAG_CONTEXT

      public static final int END_TAG_CONTEXT
      The end tag context.
      See Also:
    • ATTRIBUTE_VALUE_CONTEXT

      public static final int ATTRIBUTE_VALUE_CONTEXT
      The attribute value context.
      See Also:
    • ATTLIST_CONTEXT

      public static final int ATTLIST_CONTEXT
      The ATTLIST context.
      See Also:
    • ELEMENT_DECLARATION_CONTEXT

      public static final int ELEMENT_DECLARATION_CONTEXT
      The element declaration context.
      See Also:
    • ENTITY_CONTEXT

      public static final int ENTITY_CONTEXT
      The entity context.
      See Also:
    • NOTATION_CONTEXT

      public static final int NOTATION_CONTEXT
      The notation context.
      See Also:
    • NOTATION_TYPE_CONTEXT

      public static final int NOTATION_TYPE_CONTEXT
      The notation type context.
      See Also:
    • ENUMERATION_CONTEXT

      public static final int ENUMERATION_CONTEXT
      The enumeration context.
      See Also:
    • ENTITY_VALUE_CONTEXT

      public static final int ENTITY_VALUE_CONTEXT
      The entity value context.
      See Also:
    • BUNDLE_CLASSNAME

      protected static final String BUNDLE_CLASSNAME
      The default resource bundle base name.
      See Also:
    • localizableSupport

      protected LocalizableSupport localizableSupport
      The localizable support.
    • reader

      protected NormalizingReader reader
      The reader.
    • current

      protected int current
      The current char.
    • type

      protected int type
      The type of the current lexical unit.
    • buffer

      protected char[] buffer
      The recording buffer.
    • position

      protected int position
      The current position in the buffer.
    • start

      protected int start
      The start offset of the last lexical unit.
    • end

      protected int end
      The end offset of the last lexical unit.
    • context

      protected int context
      The current scanning context.
    • depth

      protected int depth
      The depth in the xml tree.
    • piEndRead

      protected boolean piEndRead
      A PI end has been previously read.
    • inDTD

      protected boolean inDTD
      The scanner is in the internal DTD.
    • attrDelimiter

      protected char attrDelimiter
      The last attribute delimiter encountered.
    • cdataEndRead

      protected boolean cdataEndRead
      A CDATA section end is the next token
  • Constructor Details

  • Method Details

    • setLocale

      public void setLocale(Locale l)
      Specified by:
      setLocale in interface Localizable
      Parameters:
      l - The locale to set.
    • getLocale

      public Locale getLocale()
      Specified by:
      getLocale in interface Localizable
    • formatMessage

      public String formatMessage(String key, Object[] args) throws MissingResourceException
      Specified by:
      formatMessage in interface Localizable
      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

      public int next() throws XMLException
      Advances to the next lexical unit.
      Returns:
      The type of the lexical unit like defined in LexicalUnits.
      Throws:
      XMLException
    • next

      public int next(int ctx) throws XMLException
      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

      protected int nextInDocumentStart() throws IOException, XMLException
      Reads the first token in the stream.
      Throws:
      IOException
      XMLException
    • nextInTopLevel

      protected int nextInTopLevel() throws IOException, XMLException
      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

      protected int nextInPI() throws IOException, XMLException
      Returns the next lexical unit in the context of a processing instruction.
      Throws:
      IOException
      XMLException
    • nextInStartTag

      protected int nextInStartTag() throws IOException, XMLException
      Returns the next lexical unit in the context of a start tag.
      Throws:
      IOException
      XMLException
    • nextInAttributeValue

      protected int nextInAttributeValue() throws IOException, XMLException
      Returns the next lexical unit in the context of an attribute value.
      Throws:
      IOException
      XMLException
    • nextInContent

      protected int nextInContent() throws IOException, XMLException
      Returns the next lexical unit in the context of an element content.
      Throws:
      IOException
      XMLException
    • nextInEndTag

      protected int nextInEndTag() throws IOException, XMLException
      Returns the next lexical unit in the context of a end tag.
      Throws:
      IOException
      XMLException
    • nextInCDATASection

      protected int nextInCDATASection() throws IOException, XMLException
      Returns the next lexical unit in the context of a CDATA section.
      Throws:
      IOException
      XMLException
    • nextInXMLDecl

      protected int nextInXMLDecl() throws IOException, XMLException
      Returns the next lexical unit in the context of an XML declaration.
      Throws:
      IOException
      XMLException
    • nextInDoctype

      protected int nextInDoctype() throws IOException, XMLException
      Returns the next lexical unit in the context of a doctype.
      Throws:
      IOException
      XMLException
    • nextInDTDDeclarations

      protected int nextInDTDDeclarations() throws IOException, XMLException
      Returns the next lexical unit in the context dtd declarations.
      Throws:
      IOException
      XMLException
    • readString

      protected int readString() throws IOException, XMLException
      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

      protected int readComment() throws IOException, XMLException
      Reads a comment. '<!-' must have been read.
      Throws:
      IOException
      XMLException
    • readIdentifier

      protected int readIdentifier(String s, int type, int ntype) throws IOException, XMLException
      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

      protected int readName(int type) throws IOException, XMLException
      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

      protected int readPIStart() throws IOException, XMLException
      Reads a processing instruction start.
      Returns:
      type.
      Throws:
      IOException
      XMLException
    • nextInElementDeclaration

      protected int nextInElementDeclaration() throws IOException, XMLException
      Returns the next lexical unit in the context of a element declaration.
      Throws:
      IOException
      XMLException
    • nextInAttList

      protected int nextInAttList() throws IOException, XMLException
      Returns the next lexical unit in the context of an attribute list.
      Throws:
      IOException
      XMLException
    • nextInNotation

      protected int nextInNotation() throws IOException, XMLException
      Returns the next lexical unit in the context of a notation.
      Throws:
      IOException
      XMLException
    • nextInEntity

      protected int nextInEntity() throws IOException, XMLException
      Returns the next lexical unit in the context of an entity.
      Throws:
      IOException
      XMLException
    • nextInEntityValue

      protected int nextInEntityValue() throws IOException, XMLException
      Returns the next lexical unit in the context of an entity value.
      Throws:
      IOException
      XMLException
    • nextInNotationType

      protected int nextInNotationType() throws IOException, XMLException
      Returns the next lexical unit in the context of a notation type.
      Throws:
      IOException
      XMLException
    • nextInEnumeration

      protected int nextInEnumeration() throws IOException, XMLException
      Returns the next lexical unit in the context of an enumeration.
      Throws:
      IOException
      XMLException
    • readReference

      protected int readReference() throws IOException, XMLException
      Reads an entity or character reference. The current character must be '&'.
      Returns:
      type.
      Throws:
      IOException
      XMLException
    • readPEReference

      protected int readPEReference() throws IOException, XMLException
      Reads a parameter entity reference. The current character must be '%'.
      Returns:
      type.
      Throws:
      IOException
      XMLException
    • readNmtoken

      protected int readNmtoken() throws IOException, XMLException
      Reads a Nmtoken. The current character must be the first character.
      Returns:
      LexicalUnits.NMTOKEN.
      Throws:
      IOException
      XMLException
    • nextChar

      protected int nextChar() throws IOException
      Sets the value of the current char to the next character or -1 if the end of stream has been reached.
      Throws:
      IOException
    • createXMLException

      protected XMLException createXMLException(String message)
      Returns an XMLException initialized with the given message key.