⇒ Index (Frames) |  ⇒ Index (No Frames) |  ⇒ Package |  ⇒ Package Tree |  ⇒ Full Tree 
gnu.xml.pipeline

Class XIncludeFilter

java.lang.Object
|
+--gnu.xml.pipeline.EventFilter
   |
   +--gnu.xml.pipeline.XIncludeFilter

All Implemented Interfaces:
EventConsumer, ContentHandler, DTDHandler, DeclHandler, LexicalHandler, Locator


public class XIncludeFilter
extends EventFilter
implements Locator

Filter to process an XPointer-free subset of XInclude, supporting its use as a kind of replacement for parsed general entities. XInclude works much like the #include of C/C++ but works for XML documents as well as unparsed text files. Restrictions from the 17-Sept-2002 CR draft of XInclude are as follows:

XML documents that are included will normally be processed using the default SAX namespace rules, meaning that prefix information may be discarded. This may be changed with setSavingPrefixes setSavingPrefixes(). You are strongly advised to do this.

Note that XInclude allows highly incompatible implementations, which are specialized to handle application-specific infoset extensions. Some such implementations can be implemented by subclassing this one, but they may only be substituted in applications at "user option".

TBD: "IURI" handling.

Author:
David Brownell

Constructor Summary

XIncludeFilter(EventConsumer next)

Method Summary

void

characters(char ch[] , int start, int length)

void

comment(char ch[] , int start, int length)

void

endCDATA()

void

endDocument()

void

endElement(java.lang.String uri, java.lang.String localName, java.lang.String qName)

void

endEntity(java.lang.String name)

void

endPrefixMapping(java.lang.String prefix)

void

externalEntityDecl(java.lang.String name, java.lang.String publicId, java.lang.String systemId)

int

getColumnNumber()

Used for proxy locator; do not call directly.

int

getLineNumber()

Used for proxy locator; do not call directly.

java.lang.String

getPublicId()

Used for proxy locator; do not call directly.

java.lang.String

getSystemId()

Used for proxy locator; do not call directly.

void

ignorableWhitespace(char ch[] , int start, int length)

boolean

isSavingPrefixes()

Returns the flag controlling the setting of the SAX2 namespace-prefixes flag when parsing included documents.

void

processingInstruction(java.lang.String target, java.lang.String value)

void

setDocumentLocator(Locator locator)

Passes "this" down the filter chain as a proxy locator.

void

setSavingPrefixes(boolean flag)

Assigns the flag controlling the setting of the SAX2 namespace-prefixes flag.

void

skippedEntity(java.lang.String name)

void

startCDATA()

void

startDocument()

void

startElement(java.lang.String uri, java.lang.String localName, java.lang.String qName, Attributes atts)

void

startEntity(java.lang.String name)

void

startPrefixMapping(java.lang.String prefix, java.lang.String uri)

Constructor Details

XIncludeFilter

public XIncludeFilter(EventConsumer next)

Parameters:
next

Method Details

characters

public void characters(char ch[] , int start, int length)

Parameters:
start
length

comment

public void comment(char ch[] , int start, int length)

Parameters:
start
length

endCDATA

public void endCDATA()


endDocument

public void endDocument()


endElement

public void endElement(java.lang.String uri, java.lang.String localName, java.lang.String qName)

Parameters:
uri
localName
qName

endEntity

public void endEntity(java.lang.String name)

Parameters:
name

endPrefixMapping

public void endPrefixMapping(java.lang.String prefix)

Parameters:
prefix

externalEntityDecl

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

Parameters:
name
publicId
systemId

getColumnNumber

public int getColumnNumber()

Used for proxy locator; do not call directly.


getLineNumber

public int getLineNumber()

Used for proxy locator; do not call directly.


getPublicId

public String getPublicId()

Used for proxy locator; do not call directly.


getSystemId

public String getSystemId()

Used for proxy locator; do not call directly.


ignorableWhitespace

public void ignorableWhitespace(char ch[] , int start, int length)

Parameters:
start
length

isSavingPrefixes

public boolean isSavingPrefixes()

Returns the flag controlling the setting of the SAX2 namespace-prefixes flag when parsing included documents. The default value is the SAX2 default (false), which discards information that can be useful.


processingInstruction

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

Parameters:
target
value

setDocumentLocator

public void setDocumentLocator(Locator locator)

Passes "this" down the filter chain as a proxy locator.

Parameters:
locator

setSavingPrefixes

public void setSavingPrefixes(boolean flag)

Assigns the flag controlling the setting of the SAX2 namespace-prefixes flag.

Parameters:
flag

skippedEntity

public void skippedEntity(java.lang.String name)

Parameters:
name

startCDATA

public void startCDATA()


startDocument

public void startDocument()


startElement

public void startElement(java.lang.String uri, java.lang.String localName, java.lang.String qName, Attributes atts)

Parameters:
uri
localName
qName
atts

startEntity

public void startEntity(java.lang.String name)

Parameters:
name

startPrefixMapping

public void startPrefixMapping(java.lang.String prefix, java.lang.String uri)

Parameters:
prefix
uri