## org.eclipse.xsd.util
Class XSDParser

    java.lang.Object
      org.xml.sax.helpers.DefaultHandler
          org.eclipse.xsd.util.XSDParser

All Implemented Interfaces:
  org.xml.sax.ContentHandler, org.xml.sax.DTDHandler, org.xml.sax.EntityResolver, org.xml.sax.ErrorHandler, org.xml.sax.ext.LexicalHandler

    public class XSDParser

extends org.xml.sax.helpers.DefaultHandler
implements org.xml.sax.ext.LexicalHandler

The SAX Parser for the model. This handles the conversion of SAX parse exceptions to `XSDDiagnostic`s. It also computes line column information, which is stored in a map of each node to its user data. This class is not intended for reuse outside of the model implementation and is subject to change.

Field Summary
`protected java.lang.StringBuilder` `cdata`
`protected int` `column`
`protected org.w3c.dom.Document` `document`
`protected org.w3c.dom.Element` `element`
`protected java.lang.String` `encoding`
`protected JAXPPool` `jaxpPool`
`protected int` `line`
`protected org.xml.sax.Locator` `locator`
`protected javax.xml.parsers.SAXParser` `saxParser`
`protected java.util.Stack<org.w3c.dom.Element>` `stack`
`protected static java.util.Map<org.w3c.dom.Node,java.util.Map<java.lang.Object,java.lang.Object>>` `userDataMap`
`protected java.util.List<XSDDiagnostic>` `xsdDiagnostics`
`protected XSDFactory` `xsdFactory`
`protected XSDSchema` `xsdSchema`

Constructor Summary
`XSDParser()` Deprecated. since 2.2
`XSDParser(java.util.Map<?,?> options)`

Method Summary
`void` `characters(char[] characters, int start, int length)`
`void` `comment(char[] characters, int start, int length)`
`static org.w3c.dom.Document` `createDocument()`
`void` `endCDATA()`
`void` `endDocument()`
`void` `endDTD()`
`void` `endElement(java.lang.String uri, java.lang.String localName, java.lang.String qName)`
`void` `endEntity(java.lang.String name)`
`void` `error(org.xml.sax.SAXParseException exception)`
`protected void` `fatalError(java.io.IOException exception)`
`protected void` `fatalError(javax.xml.parsers.ParserConfigurationException exception)`
`void` `fatalError(org.xml.sax.SAXException exception)`
`void` `fatalError(org.xml.sax.SAXParseException exception)`
`java.util.Collection<XSDDiagnostic>` `getDiagnostics()`
`org.w3c.dom.Document` `getDocument()`
`java.lang.String` `getEncoding()`
`static int` `getEndColumn(org.w3c.dom.Node node)` Returns the column at which the given node ends.
`static int` `getEndLine(org.w3c.dom.Node node)` Returns the line at which the given node ends.
`XSDSchema` `getSchema()`
`static int` `getStartColumn(org.w3c.dom.Node node)` Returns the column at which the given node starts.
`static int` `getStartLine(org.w3c.dom.Node node)` Returns the line at which the given node starts.
`static java.util.Map<java.lang.Object,java.lang.Object>` `getUserData(org.w3c.dom.Node node)` Returns the user data associated with the node.
`void` `parse(org.xml.sax.InputSource inputSource)`
`void` `parse(java.io.InputStream inputStream)`
`void` `parse(java.lang.String uri)`
`void` `parseString(java.lang.String input)`
`void` `processingInstruction(java.lang.String target, java.lang.String data)`
`org.xml.sax.InputSource` `resolveEntity(java.lang.String publicId, java.lang.String systemId)`
`protected void` `saveLocation()`
`void` `setDocumentLocator(org.xml.sax.Locator locator)`
`void` `setSchema(XSDSchema xsdSchema)`
`void` `startCDATA()`
`void` `startDocument()`
`void` `startDTD(java.lang.String name, java.lang.String publicId, java.lang.String systemId)`
`void` `startElement(java.lang.String uri, java.lang.String localName, java.lang.String qName, org.xml.sax.Attributes attributes)`
`void` `startEntity(java.lang.String name)`
`void` `warning(org.xml.sax.SAXParseException exception)`

Methods inherited from class org.xml.sax.helpers.DefaultHandler
`endPrefixMapping, ignorableWhitespace, notationDecl, skippedEntity, startPrefixMapping, unparsedEntityDecl`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### userDataMap

    protected static final java.util.Map<org.w3c.dom.Node,java.util.Map<java.lang.Object,java.lang.Object>> userDataMap

### xsdFactory

    protected XSDFactory xsdFactory

### xsdSchema

    protected XSDSchema xsdSchema

### xsdDiagnostics

    protected java.util.List<XSDDiagnostic> xsdDiagnostics

### saxParser

    protected javax.xml.parsers.SAXParser saxParser

### jaxpPool

    protected JAXPPool jaxpPool

### document

    protected org.w3c.dom.Document document

### stack

    protected java.util.Stack<org.w3c.dom.Element> stack

### element

    protected org.w3c.dom.Element element

### locator

    protected org.xml.sax.Locator locator

### line

    protected int line

### column

    protected int column

### encoding

    protected java.lang.String encoding

### cdata

    protected java.lang.StringBuilder cdata

Constructor Detail

### XSDParser

    @Deprecated
    public XSDParser()

  Deprecated. since 2.2

### XSDParser

    public XSDParser(java.util.Map<?,?> options)

Method Detail

### getUserData

    public static java.util.Map<java.lang.Object,java.lang.Object> getUserData(org.w3c.dom.Node node)

  Returns the user data associated with the node. If the node has no user data, a new empty map is created.

  Parameters:
    `node` - the node to query.
  Returns:
    the user data associated with the node.

### getStartLine

    public static int getStartLine(org.w3c.dom.Node node)

  Returns the line at which the given node starts.

  Parameters:
    `node` - the node to query.
  Returns:
    the line at which the given node starts.

### getStartColumn

    public static int getStartColumn(org.w3c.dom.Node node)

  Returns the column at which the given node starts.

  Parameters:
    `node` - the node to query.
  Returns:
    the column at which the given node starts.

### getEndLine

    public static int getEndLine(org.w3c.dom.Node node)

  Returns the line at which the given node ends.

  Parameters:
    `node` - the node to query.
  Returns:
    the line at which the given node ends.

### getEndColumn

    public static int getEndColumn(org.w3c.dom.Node node)

  Returns the column at which the given node ends.

  Parameters:
    `node` - the node to query.
  Returns:
    the column at which the given node ends.

### parse

    public void parse(java.lang.String uri)

### parseString

    public void parseString(java.lang.String input)

### parse

    public void parse(org.xml.sax.InputSource inputSource)

### parse

    public void parse(java.io.InputStream inputStream)

### getEncoding

    public java.lang.String getEncoding()

### getDocument

    public org.w3c.dom.Document getDocument()

### setSchema

    public void setSchema(XSDSchema xsdSchema)

### getSchema

    public XSDSchema getSchema()

### getDiagnostics

    public java.util.Collection<XSDDiagnostic> getDiagnostics()

### startElement

    public void startElement(java.lang.String uri,
                             java.lang.String localName,
                             java.lang.String qName,
                             org.xml.sax.Attributes attributes)
                      throws org.xml.sax.SAXException

  Specified by:
    `startElement` in interface `org.xml.sax.ContentHandler`
  Overrides:
    `startElement` in class `org.xml.sax.helpers.DefaultHandler`
  Throws:
    `org.xml.sax.SAXException`

### endElement

    public void endElement(java.lang.String uri,
                           java.lang.String localName,
                           java.lang.String qName)
                    throws org.xml.sax.SAXException

  Specified by:
    `endElement` in interface `org.xml.sax.ContentHandler`
  Overrides:
    `endElement` in class `org.xml.sax.helpers.DefaultHandler`
  Throws:
    `org.xml.sax.SAXException`

### setDocumentLocator

    public void setDocumentLocator(org.xml.sax.Locator locator)

  Specified by:
    `setDocumentLocator` in interface `org.xml.sax.ContentHandler`
  Overrides:
    `setDocumentLocator` in class `org.xml.sax.helpers.DefaultHandler`

### startDocument

    public void startDocument()

  Specified by:
    `startDocument` in interface `org.xml.sax.ContentHandler`
  Overrides:
    `startDocument` in class `org.xml.sax.helpers.DefaultHandler`

### createDocument

    public static org.w3c.dom.Document createDocument()

### endDocument

    public void endDocument()

  Specified by:
    `endDocument` in interface `org.xml.sax.ContentHandler`
  Overrides:
    `endDocument` in class `org.xml.sax.helpers.DefaultHandler`

### characters

    public void characters(char[] characters,
                           int start,
                           int length)
                    throws org.xml.sax.SAXException

  Specified by:
    `characters` in interface `org.xml.sax.ContentHandler`
  Overrides:
    `characters` in class `org.xml.sax.helpers.DefaultHandler`
  Throws:
    `org.xml.sax.SAXException`

### comment

    public void comment(char[] characters,
                        int start,
                        int length)
                 throws org.xml.sax.SAXException

  Specified by:
    `comment` in interface `org.xml.sax.ext.LexicalHandler`
  Throws:
    `org.xml.sax.SAXException`

### startCDATA

    public void startCDATA()

  Specified by:
    `startCDATA` in interface `org.xml.sax.ext.LexicalHandler`

### endCDATA

    public void endCDATA()

  Specified by:
    `endCDATA` in interface `org.xml.sax.ext.LexicalHandler`

### startDTD

    public void startDTD(java.lang.String name,
                         java.lang.String publicId,
                         java.lang.String systemId)

  Specified by:
    `startDTD` in interface `org.xml.sax.ext.LexicalHandler`

### endDTD

    public void endDTD()

  Specified by:
    `endDTD` in interface `org.xml.sax.ext.LexicalHandler`

### startEntity

    public void startEntity(java.lang.String name)

  Specified by:
    `startEntity` in interface `org.xml.sax.ext.LexicalHandler`

### endEntity

    public void endEntity(java.lang.String name)

  Specified by:
    `endEntity` in interface `org.xml.sax.ext.LexicalHandler`

### processingInstruction

    public void processingInstruction(java.lang.String target,
                                      java.lang.String data)

  Specified by:
    `processingInstruction` in interface `org.xml.sax.ContentHandler`
  Overrides:
    `processingInstruction` in class `org.xml.sax.helpers.DefaultHandler`

### fatalError

    protected void fatalError(java.io.IOException exception)

### fatalError

    protected void fatalError(javax.xml.parsers.ParserConfigurationException exception)

### fatalError

    public void fatalError(org.xml.sax.SAXException exception)

### fatalError

    public void fatalError(org.xml.sax.SAXParseException exception)

  Specified by:
    `fatalError` in interface `org.xml.sax.ErrorHandler`
  Overrides:
    `fatalError` in class `org.xml.sax.helpers.DefaultHandler`

### error

    public void error(org.xml.sax.SAXParseException exception)

  Specified by:
    `error` in interface `org.xml.sax.ErrorHandler`
  Overrides:
    `error` in class `org.xml.sax.helpers.DefaultHandler`

### warning

    public void warning(org.xml.sax.SAXParseException exception)

  Specified by:
    `warning` in interface `org.xml.sax.ErrorHandler`
  Overrides:
    `warning` in class `org.xml.sax.helpers.DefaultHandler`

### saveLocation

    protected void saveLocation()

### resolveEntity

    public org.xml.sax.InputSource resolveEntity(java.lang.String publicId,
                                                 java.lang.String systemId)
                                          throws org.xml.sax.SAXException

  Specified by:
    `resolveEntity` in interface `org.xml.sax.EntityResolver`
  Overrides:
    `resolveEntity` in class `org.xml.sax.helpers.DefaultHandler`
  Throws:
    `org.xml.sax.SAXException`

Copyright 2001-2006 IBM Corporation and others. All Rights Reserved.