org.eclipse.xsd.util
Class XSDParser

java.lang.Object
  extended by org.xml.sax.helpers.DefaultHandler
      extended by 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 XSDDiagnostics. 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  org.w3c.dom.CDATASection cdataSection
           
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)
           
static void setEndColumn(org.w3c.dom.Node node, int value)
          Sets the column at which the given node ends.
static void setEndLine(org.w3c.dom.Node node, int value)
          Sets the line at which the given node ends.
 void setSchema(XSDSchema xsdSchema)
           
static void setStartColumn(org.w3c.dom.Node node, int value)
          Sets the column at which the given node starts.
static void setStartLine(org.w3c.dom.Node node, int value)
          Sets the line at which the given node starts.
 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

cdataSection

protected org.w3c.dom.CDATASection cdataSection
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.

setStartLine

public static void setStartLine(org.w3c.dom.Node node,
                                int value)
Sets the line at which the given node starts.

Parameters:
node - the node to set.
value - 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.

setStartColumn

public static void setStartColumn(org.w3c.dom.Node node,
                                  int value)
Sets the column at which the given node starts.

Parameters:
node - the node to set.
value - 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.

setEndLine

public static void setEndLine(org.w3c.dom.Node node,
                              int value)
Sets the line at which the given node ends.

Parameters:
node - the node to set.
value - 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.

setEndColumn

public static void setEndColumn(org.w3c.dom.Node node,
                                int value)
Sets the column at which the given node ends.

Parameters:
node - the node to set.
value - 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.