Class XmlApp
- java.lang.Object
-
- com.microstar.xml.demo.XmlApp
-
- All Implemented Interfaces:
XmlHandler
public class XmlApp extends java.lang.Object implements XmlHandler
Base class for Ælfred demonstration applications.This class fills in the basic interface, and provides an I/O infrastructure for simple applications and applets.
- Since:
- Ptolemy II 0.2
- Version:
- 1.1
- Author:
- Copyright (c) 1997, 1998 by Microstar Software Ltd.;, written by David Megginson <dmeggins@microstar.com>
- See Also:
XmlParser
,XmlHandler
,EventDemo
,TimerDemo
,DtdDemo
,StreamDemo
-
-
Constructor Summary
Constructors Constructor Description XmlApp()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
attribute(java.lang.String name, java.lang.String value, boolean isSpecified)
Handle an attribute value specification.void
charData(char[] ch, int start, int length)
Handle character data.void
doctypeDecl(java.lang.String name, java.lang.String pubid, java.lang.String sysid)
Handle a DOCTYPE declaration.void
endDocument()
Handle the end the document.void
endElement(java.lang.String name)
Handle the end of an element.void
endExternalEntity(java.lang.String systemId)
End an external entity.void
error(java.lang.String message, java.lang.String url, int line, int column)
Handle a parsing error.void
ignorableWhitespace(char[] ch, int start, int length)
Handle ignorable whitespace.void
processingInstruction(java.lang.String target, java.lang.String data)
Handle a processing instruction.java.lang.Object
resolveEntity(java.lang.String publicId, java.lang.String systemId)
Resolve an external entity.void
startDocument()
Handle the start of the document.void
startElement(java.lang.String name)
Handle the start of an element.void
startExternalEntity(java.lang.String systemId)
Begin an external entity.
-
-
-
Field Detail
-
isApplet
public boolean isApplet
Flag to show whether we're running as an applet or application.
-
parser
public XmlParser parser
-
-
Method Detail
-
resolveEntity
public java.lang.Object resolveEntity(java.lang.String publicId, java.lang.String systemId)
Resolve an external entity.This method could generate a new URL by looking up the public identifier in a hash table, or it could replace the URL supplied with a different, local one; for now, however, just return the URL supplied.
- Specified by:
resolveEntity
in interfaceXmlHandler
- Parameters:
publicId
- The public identifier, or null if none was supplied.systemId
- The system identifier.- Returns:
- The replacement system identifier, or null to use the default.
- See Also:
XmlHandler.resolveEntity(java.lang.String, java.lang.String)
-
startExternalEntity
public void startExternalEntity(java.lang.String systemId)
Description copied from interface:XmlHandler
Begin an external entity.Ælfred will call this method at the beginning of each external entity, including the top-level document entity and the external DTD subset (if any).
If necessary, you can use this method to track the location of the current entity so that you can resolve relative URIs correctly.
- Specified by:
startExternalEntity
in interfaceXmlHandler
- Parameters:
systemId
- The URI of the external entity that is starting.- See Also:
XmlHandler.endExternalEntity(java.lang.String)
,XmlHandler.resolveEntity(java.lang.String, java.lang.String)
-
endExternalEntity
public void endExternalEntity(java.lang.String systemId)
Description copied from interface:XmlHandler
End an external entity.Ælfred will call this method at the end of each external entity, including the top-level document entity and the external DTD subset.
If necessary, you can use this method to track the location of the current entity so that you can resolve relative URIs correctly.
- Specified by:
endExternalEntity
in interfaceXmlHandler
- Parameters:
systemId
- The URI of the external entity that is ending.- See Also:
XmlHandler.startExternalEntity(java.lang.String)
,XmlHandler.resolveEntity(java.lang.String, java.lang.String)
-
startDocument
public void startDocument()
Handle the start of the document.Do nothing for now. Subclasses can override this method if they want to take a specific action.
This method will always be called first.
- Specified by:
startDocument
in interfaceXmlHandler
- See Also:
XmlHandler.startDocument()
-
endDocument
public void endDocument()
Handle the end the document.Do nothing for now. Subclasses can override this method if they want to take a specific action.
This method will always be called last.
- Specified by:
endDocument
in interfaceXmlHandler
- See Also:
XmlHandler.endDocument()
-
doctypeDecl
public void doctypeDecl(java.lang.String name, java.lang.String pubid, java.lang.String sysid)
Handle a DOCTYPE declaration.Do nothing for now. Subclasses can override this method if they want to take a specific action.
Well-formed XML documents might not have one of these.
The query methods in XmlParser will return useful values only after this callback.
- Specified by:
doctypeDecl
in interfaceXmlHandler
- Parameters:
name
- The document type name.pubid
- The public identifier, or null if unspecified.sysid
- The system identifier, or null if unspecified.- See Also:
XmlHandler.doctypeDecl(java.lang.String, java.lang.String, java.lang.String)
-
attribute
public void attribute(java.lang.String name, java.lang.String value, boolean isSpecified)
Handle an attribute value specification.Do nothing for now. Subclasses can override this method if they want to take a specific action.
- Specified by:
attribute
in interfaceXmlHandler
- Parameters:
name
- The name of the attribute.value
- The value of the attribute, or null if the attribute is#IMPLIED
.isSpecified
- True if the value was specified, false if it was defaulted from the DTD.- See Also:
XmlHandler.attribute(java.lang.String, java.lang.String, boolean)
-
startElement
public void startElement(java.lang.String name)
Handle the start of an element.Do nothing for now. Subclasses can override this method if they want to take a specific action.
- Specified by:
startElement
in interfaceXmlHandler
- Parameters:
name
- The element type name.- See Also:
XmlHandler.startElement(java.lang.String)
-
endElement
public void endElement(java.lang.String name)
Handle the end of an element.Do nothing for now. Subclasses can override this method if they want to take a specific action.
- Specified by:
endElement
in interfaceXmlHandler
- Parameters:
name
- The element type name.- See Also:
XmlHandler.endElement(java.lang.String)
-
charData
public void charData(char[] ch, int start, int length)
Handle character data.Do nothing for now. Subclasses can override this method if they want to take a specific action.
- Specified by:
charData
in interfaceXmlHandler
- Parameters:
ch
- The character data.start
- The starting position in the array.length
- The number of characters available.- See Also:
XmlHandler.charData(char[], int, int)
-
ignorableWhitespace
public void ignorableWhitespace(char[] ch, int start, int length)
Handle ignorable whitespace.Do nothing for now. Subclasses can override this method if they want to take a specific action.
- Specified by:
ignorableWhitespace
in interfaceXmlHandler
- Parameters:
ch
- The literal whitespace characters.start
- The starting position in the array.length
- The number of whitespace characters available.- See Also:
XmlHandler.ignorableWhitespace(char[], int, int)
-
processingInstruction
public void processingInstruction(java.lang.String target, java.lang.String data)
Handle a processing instruction.Do nothing for now. Subclasses can override this method if they want to take a specific action.
- Specified by:
processingInstruction
in interfaceXmlHandler
- Parameters:
target
- The target (the name at the start of the PI).data
- The data, if any (the rest of the PI).- See Also:
XmlHandler.processingInstruction(java.lang.String, java.lang.String)
-
error
public void error(java.lang.String message, java.lang.String url, int line, int column)
Handle a parsing error.By default, print a message and throw an Error.
Subclasses can override this method if they want to do something different.
- Specified by:
error
in interfaceXmlHandler
- Parameters:
message
- The error message.url
- The system identifier of the entity that contains the error.line
- The approximate line number of the error.column
- The approximate column number of the error.- See Also:
XmlHandler.error(java.lang.String, java.lang.String, int, int)
-
-