|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.xml.sax.helpers.DefaultHandler
org.jbpm.pvm.internal.xml.DomBuilder
public class DomBuilder
builds the dom model from SAX events, optionally adding the line and column number as attributes to every element.
| Field Summary | |
|---|---|
protected java.lang.String |
columnAttributeName
|
protected org.w3c.dom.Node |
currentNode
Current activity |
org.w3c.dom.DocumentFragment |
docFrag
First activity of document fragment or null if not a DocumentFragment |
org.w3c.dom.Document |
document
Root document |
protected java.util.Stack<org.w3c.dom.Element> |
elemStack
Vector of element activities |
protected boolean |
inCData
Flag indicating that we are processing a CData section |
protected java.lang.String |
lineAttributeName
|
protected org.xml.sax.Locator |
locator
to obtain the line number information |
protected org.w3c.dom.Node |
nextSibling
The next sibling activity |
protected java.util.Vector<java.lang.String> |
prefixMappings
Namespace support |
protected org.w3c.dom.Node |
root
The root activity |
| Constructor Summary | |
|---|---|
DomBuilder()
|
|
| Method Summary | |
|---|---|
protected void |
append(org.w3c.dom.Node newNode)
Append a activity to the current container. |
void |
cdata(char[] ch,
int start,
int length)
Receive notification of cdata. |
void |
characters(char[] ch,
int start,
int length)
Receive notification of character data. |
void |
charactersRaw(char[] ch,
int start,
int length)
If available, when the disable-output-escaping attribute is used, output raw text without escaping. |
void |
comment(char[] ch,
int start,
int length)
Report an XML comment anywhere in the document. |
void |
endCDATA()
Report the end of a CDATA section. |
void |
endDocument()
Receive notification of the end of a document. |
void |
endDTD()
Report the end of DTD declarations. |
void |
endElement(java.lang.String ns,
java.lang.String localName,
java.lang.String name)
Receive notification of the end of an element. |
void |
endEntity(java.lang.String name)
Report the end of an entity. |
void |
endPrefixMapping(java.lang.String prefix)
End the scope of a prefix-URI mapping. |
void |
entityReference(java.lang.String name)
Receive notivication of a entityReference. |
java.lang.String |
getColumnAttributeName()
|
org.w3c.dom.Node |
getCurrentNode()
Get the activity currently being processed. |
org.w3c.dom.Document |
getDocument()
|
java.lang.String |
getLineAttributeName()
|
org.w3c.dom.Node |
getNextSibling()
Return the next sibling activity. |
org.w3c.dom.Node |
getRootDocument()
Get the root document or DocumentFragment of the DOM being created. |
org.w3c.dom.Node |
getRootNode()
Get the root activity of the DOM tree. |
java.io.Writer |
getWriter()
Return null since there is no Writer for this class. |
void |
ignorableWhitespace(char[] ch,
int start,
int length)
Receive notification of ignorable whitespace in element content. |
static boolean |
isWhiteSpace(char ch)
Returns whether the specified ch conforms to the XML 1.0 definition of whitespace. |
static boolean |
isWhiteSpace(char[] ch,
int start,
int length)
Tell if the string is whitespace. |
void |
processingInstruction(java.lang.String target,
java.lang.String data)
Receive notification of a processing instruction. |
void |
setColumnAttributeName(java.lang.String columnAttributeName)
|
void |
setDocument(org.w3c.dom.Document document)
|
void |
setDocumentLocator(org.xml.sax.Locator locator)
Receive an object for locating the origin of SAX document events. |
void |
setIDAttribute(java.lang.String id,
org.w3c.dom.Element elem)
Set an ID string to activity association in the ID table. |
void |
setLineAttributeName(java.lang.String lineAttributeName)
|
void |
setNextSibling(org.w3c.dom.Node nextSibling)
Set the next sibling activity, which is where the result activities should be inserted before. |
void |
skippedEntity(java.lang.String name)
Receive notification of a skipped entity. |
void |
startCDATA()
Report the start of a CDATA section. |
void |
startDocument()
Receive notification of the beginning of a document. |
void |
startDTD(java.lang.String name,
java.lang.String publicId,
java.lang.String systemId)
Report the start of DTD declarations, if any. |
void |
startElement(java.lang.String ns,
java.lang.String localName,
java.lang.String name,
org.xml.sax.Attributes atts)
Receive notification of the beginning of an element. |
void |
startEntity(java.lang.String name)
Report the beginning of an entity. |
void |
startPrefixMapping(java.lang.String prefix,
java.lang.String uri)
Begin the scope of a prefix-URI Namespace mapping. |
| Methods inherited from class org.xml.sax.helpers.DefaultHandler |
|---|
error, fatalError, notationDecl, resolveEntity, unparsedEntityDecl, warning |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
public org.w3c.dom.Document document
protected java.lang.String lineAttributeName
protected java.lang.String columnAttributeName
protected org.w3c.dom.Node currentNode
protected org.w3c.dom.Node root
protected org.w3c.dom.Node nextSibling
public org.w3c.dom.DocumentFragment docFrag
protected java.util.Stack<org.w3c.dom.Element> elemStack
protected java.util.Vector<java.lang.String> prefixMappings
protected org.xml.sax.Locator locator
protected boolean inCData
| Constructor Detail |
|---|
public DomBuilder()
| Method Detail |
|---|
public org.w3c.dom.Node getRootDocument()
public org.w3c.dom.Node getRootNode()
public org.w3c.dom.Node getCurrentNode()
public void setNextSibling(org.w3c.dom.Node nextSibling)
nextSibling - the next sibling activity.public org.w3c.dom.Node getNextSibling()
public java.io.Writer getWriter()
protected void append(org.w3c.dom.Node newNode)
throws org.xml.sax.SAXException
newNode - New activity to append
org.xml.sax.SAXExceptionpublic void setDocumentLocator(org.xml.sax.Locator locator)
SAX parsers are strongly encouraged (though not absolutely required) to supply a locator: if it does so, it must supply the locator to the application by invoking this method before invoking any of the other methods in the ContentHandler interface.
The locator allows the application to determine the end position of any document-related event, even if the parser is not reporting an error. Typically, the application will use this information for reporting its own errors (such as character content that does not match an application's business rules). The information returned by the locator is probably not sufficient for use with a search engine.
Note that the locator will return correct information only during the invocation of the events in this interface. The application should not attempt to use it at any other time.
setDocumentLocator in interface org.xml.sax.ContentHandlersetDocumentLocator in class org.xml.sax.helpers.DefaultHandlerlocator - An object that can return the location of any SAX document event.Locator
public void startDocument()
throws org.xml.sax.SAXException
The SAX parser will invoke this method only once, before any other methods in this interface or in DTDHandler (except for setDocumentLocator).
startDocument in interface org.xml.sax.ContentHandlerstartDocument in class org.xml.sax.helpers.DefaultHandlerorg.xml.sax.SAXException
public void endDocument()
throws org.xml.sax.SAXException
The SAX parser will invoke this method only once, and it will be the last method invoked during the parse. The parser shall not invoke this method until it has either abandoned parsing (because of an unrecoverable error) or reached the end of input.
endDocument in interface org.xml.sax.ContentHandlerendDocument in class org.xml.sax.helpers.DefaultHandlerorg.xml.sax.SAXException
public void startElement(java.lang.String ns,
java.lang.String localName,
java.lang.String name,
org.xml.sax.Attributes atts)
throws org.xml.sax.SAXException
The Parser will invoke this method at the beginning of every element in the XML document; there will be a corresponding endElement() event for every startElement() event (even when the element is empty). All of the element's content will be reported, in order, before the corresponding endElement() event.
If the element name has a namespace prefix, the prefix will still be attached. Note that the attribute list provided will contain only attributes with explicit values (specified or defaulted): #IMPLIED attributes will be omitted.
startElement in interface org.xml.sax.ContentHandlerstartElement in class org.xml.sax.helpers.DefaultHandlerns - The namespace of the activitylocalName - The local part of the qualified namename - The element name.atts - The attributes attached to the element, if any.
org.xml.sax.SAXExceptionendElement(java.lang.String, java.lang.String, java.lang.String),
Attributes
public void endElement(java.lang.String ns,
java.lang.String localName,
java.lang.String name)
throws org.xml.sax.SAXException
The SAX parser will invoke this method at the end of every element in the XML document; there will be a corresponding startElement() event for every endElement() event (even when the element is empty).
If the element name has a namespace prefix, the prefix will still be attached to the name.
endElement in interface org.xml.sax.ContentHandlerendElement in class org.xml.sax.helpers.DefaultHandlerns - the namespace of the elementlocalName - The local part of the qualified name of the elementname - The element name
org.xml.sax.SAXException
public void setIDAttribute(java.lang.String id,
org.w3c.dom.Element elem)
id - The ID string.elem - The associated ID.
public void characters(char[] ch,
int start,
int length)
throws org.xml.sax.SAXException
The Parser will call this method to report each chunk of character data. SAX parsers may return all contiguous character data in a single chunk, or they may split it into several chunks; however, all of the characters in any single event must come from the same external entity, so that the Locator provides useful information.
The application must not attempt to read from the array outside of the specified range.
Note that some parsers will report whitespace using the ignorableWhitespace() method rather than this one (validating parsers must do so).
characters in interface org.xml.sax.ContentHandlercharacters in class org.xml.sax.helpers.DefaultHandlerch - The characters from the XML document.start - The start position in the array.length - The number of characters to read from the array.
org.xml.sax.SAXExceptionignorableWhitespace(char[], int, int),
Locator
public void charactersRaw(char[] ch,
int start,
int length)
throws org.xml.sax.SAXException
ch - Array containing the charactersstart - Index to start of characters in the arraylength - Number of characters in the array
org.xml.sax.SAXException
public void startEntity(java.lang.String name)
throws org.xml.sax.SAXException
startEntity in interface org.xml.sax.ext.LexicalHandlername - The name of the entity. If it is a parameter entity, the name will
begin with '%'.
org.xml.sax.SAXExceptionendEntity(java.lang.String),
DeclHandler.internalEntityDecl(java.lang.String, java.lang.String),
DeclHandler.externalEntityDecl(java.lang.String, java.lang.String, java.lang.String)
public void endEntity(java.lang.String name)
throws org.xml.sax.SAXException
endEntity in interface org.xml.sax.ext.LexicalHandlername - The name of the entity that is ending.
org.xml.sax.SAXExceptionstartEntity(java.lang.String)
public void entityReference(java.lang.String name)
throws org.xml.sax.SAXException
name - name of the entity reference
org.xml.sax.SAXException
public void ignorableWhitespace(char[] ch,
int start,
int length)
throws org.xml.sax.SAXException
Validating Parsers must use this method to report each chunk of ignorable whitespace (see the W3C XML 1.0 recommendation, section 2.10): non-validating parsers may also use this method if they are capable of parsing and using content models.
SAX parsers may return all contiguous whitespace in a single chunk, or they may split it into several chunks; however, all of the characters in any single event must come from the same external entity, so that the Locator provides useful information.
The application must not attempt to read from the array outside of the specified range.
ignorableWhitespace in interface org.xml.sax.ContentHandlerignorableWhitespace in class org.xml.sax.helpers.DefaultHandlerch - The characters from the XML document.start - The start position in the array.length - The number of characters to read from the array.
org.xml.sax.SAXExceptioncharacters(char[], int, int)
public void processingInstruction(java.lang.String target,
java.lang.String data)
throws org.xml.sax.SAXException
The Parser will invoke this method once for each processing instruction found: note that processing instructions may occur before or after the main document element.
A SAX parser should never report an XML declaration (XML 1.0, section 2.8) or a text declaration (XML 1.0, section 4.3.1) using this method.
processingInstruction in interface org.xml.sax.ContentHandlerprocessingInstruction in class org.xml.sax.helpers.DefaultHandlertarget - The processing instruction target.data - The processing instruction data, or null if none was supplied.
org.xml.sax.SAXException
public void comment(char[] ch,
int start,
int length)
throws org.xml.sax.SAXException
comment in interface org.xml.sax.ext.LexicalHandlerch - An array holding the characters in the comment.start - The starting position in the array.length - The number of characters to use from the array.
org.xml.sax.SAXException
public void startCDATA()
throws org.xml.sax.SAXException
startCDATA in interface org.xml.sax.ext.LexicalHandlerorg.xml.sax.SAXExceptionendCDATA()
public void endCDATA()
throws org.xml.sax.SAXException
endCDATA in interface org.xml.sax.ext.LexicalHandlerorg.xml.sax.SAXExceptionstartCDATA()
public void cdata(char[] ch,
int start,
int length)
throws org.xml.sax.SAXException
The Parser will call this method to report each chunk of character data. SAX parsers may return all contiguous character data in a single chunk, or they may split it into several chunks; however, all of the characters in any single event must come from the same external entity, so that the Locator provides useful information.
The application must not attempt to read from the array outside of the specified range.
Note that some parsers will report whitespace using the ignorableWhitespace() method rather than this one (validating parsers must do so).
ch - The characters from the XML document.start - The start position in the array.length - The number of characters to read from the array.
org.xml.sax.SAXExceptionignorableWhitespace(char[], int, int),
Locator
public void startDTD(java.lang.String name,
java.lang.String publicId,
java.lang.String systemId)
throws org.xml.sax.SAXException
startDTD in interface org.xml.sax.ext.LexicalHandlername - The document type name.publicId - The declared public identifier for the external DTD subset, or
null if none was declared.systemId - The declared system identifier for the external DTD subset, or
null if none was declared.
org.xml.sax.SAXExceptionendDTD(),
startEntity(java.lang.String)
public void endDTD()
throws org.xml.sax.SAXException
endDTD in interface org.xml.sax.ext.LexicalHandlerorg.xml.sax.SAXExceptionstartDTD(java.lang.String, java.lang.String, java.lang.String)
public void startPrefixMapping(java.lang.String prefix,
java.lang.String uri)
throws org.xml.sax.SAXException
The information from this event is not necessary for normal Namespace processing: the SAX XML reader will automatically replace prefixes for element and attribute names when the http://xml.org/sax/features/namespaces feature is true (the default).
There are cases, however, when applications need to use prefixes in character data or in attribute values, where they cannot safely be expanded automatically; the start/endPrefixMapping event supplies the information to the application to expand prefixes in those contexts itself, if necessary.
Note that start/endPrefixMapping events are not guaranteed to be properly nested relative to each-other: all startPrefixMapping events will occur before the corresponding startElement event, and all endPrefixMapping events will occur after the corresponding endElement event, but their order is not guaranteed.
startPrefixMapping in interface org.xml.sax.ContentHandlerstartPrefixMapping in class org.xml.sax.helpers.DefaultHandlerprefix - The Namespace prefix being declared.uri - The Namespace URI the prefix is mapped to.
org.xml.sax.SAXExceptionendPrefixMapping(java.lang.String),
startElement(java.lang.String, java.lang.String, java.lang.String, org.xml.sax.Attributes)
public void endPrefixMapping(java.lang.String prefix)
throws org.xml.sax.SAXException
See startPrefixMapping for details. This event will always occur after the corresponding endElement event, but the order of endPrefixMapping events is not otherwise guaranteed.
endPrefixMapping in interface org.xml.sax.ContentHandlerendPrefixMapping in class org.xml.sax.helpers.DefaultHandlerprefix - The prefix that was being mapping.
org.xml.sax.SAXExceptionstartPrefixMapping(java.lang.String, java.lang.String),
endElement(java.lang.String, java.lang.String, java.lang.String)
public void skippedEntity(java.lang.String name)
throws org.xml.sax.SAXException
The Parser will invoke this method once for each entity skipped. Non-validating processors may skip entities if they have not seen the declarations (because, for example, the entity was declared in an external DTD subset). All processors may skip external entities, depending on the values of the http://xml.org/sax/features/external-general-entities and the http://xml.org/sax/features/external-parameter-entities properties.
skippedEntity in interface org.xml.sax.ContentHandlerskippedEntity in class org.xml.sax.helpers.DefaultHandlername - The name of the skipped entity. If it is a parameter entity, the
name will begin with '%'.
org.xml.sax.SAXExceptionpublic static boolean isWhiteSpace(char ch)
S for details.
ch - Character to check as XML whitespace.
public static boolean isWhiteSpace(char[] ch,
int start,
int length)
ch - Character array to check as XML whitespace.start - Start index of characters in the arraylength - Number of characters in the array
public void setLineAttributeName(java.lang.String lineAttributeName)
public void setColumnAttributeName(java.lang.String columnAttributeName)
public java.lang.String getLineAttributeName()
public java.lang.String getColumnAttributeName()
public org.w3c.dom.Document getDocument()
public void setDocument(org.w3c.dom.Document document)
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||