Package com.nwalsh.saxon
Class UnwrapLinksEmitter
java.lang.Object
com.icl.saxon.output.Emitter
com.nwalsh.saxon.CopyEmitter
com.nwalsh.saxon.UnwrapLinksEmitter
- All Implemented Interfaces:
Result
Saxon extension to unwrap links in a result tree fragment.
$Id: UnwrapLinksEmitter.java 1731 2002-06-26 11:03:05Z nwalsh $
Copyright (C) 2000, 2002 Norman Walsh.
This class provides the guts of a Saxon 6.* implementation of a link unwrapper.
The general design is this: the stylesheets construct a result tree fragment for some environment. Then the result tree fragment is "replayed" through the UnwrapLinksEmitter; the UnwrapLinksEmitter builds a new result tree fragment from this event stream with top-level links unwrapped. That RTF is returned. Note that only a single level of unwrapping is performed. This is clearly a crude implementation.
Change Log:
- 1.0
Initial release.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected StackA stack for the preserving information about open elements.protected booleanIs the stylesheet currently running an FO stylesheet?protected static StringThe FO namespace name.protected intprotected booleanprotected intAre we currently in a link? How deep?protected Stackprotected intprotected booleanprotected intprotected static StringThe XHTML namespace name.Fields inherited from class com.nwalsh.saxon.CopyEmitter
namePool, rtf, rtfEmitterFields inherited from class com.icl.saxon.output.Emitter
locator, outputProperties, outputStream, systemId, writerFields inherited from interface javax.xml.transform.Result
PI_DISABLE_OUTPUT_ESCAPING, PI_ENABLE_OUTPUT_ESCAPING -
Constructor Summary
ConstructorsConstructorDescriptionUnwrapLinksEmitter(com.icl.saxon.Controller controller, com.icl.saxon.om.NamePool namePool, boolean foStylesheet) Constructor for the UnwrapLinksEmitter. -
Method Summary
Modifier and TypeMethodDescriptionvoidendElement(int nameCode) Process end element events.voidstartElement(int nameCode, Attributes attributes, int[] namespaces, int nscount) Process start element events.booleantryAgain()Methods inherited from class com.nwalsh.saxon.CopyEmitter
characters, comment, endDocument, getResultTreeFragment, processingInstruction, setDocumentLocator, setEscaping, setNamePool, setUnparsedEntity, setWriter, startDocumentMethods inherited from class com.icl.saxon.output.Emitter
getNamePool, getOutputProperties, getOutputStream, getSystemId, getWriter, makeEmitter, setOutputProperties, setOutputStream, setSystemId, usesWriter
-
Field Details
-
elementStack
A stack for the preserving information about open elements. -
saveStack
-
foURI
The FO namespace name. -
xhURI
The XHTML namespace name. -
foStylesheet
protected boolean foStylesheetIs the stylesheet currently running an FO stylesheet? -
linkDepth
protected int linkDepthAre we currently in a link? How deep? -
skipDepth
protected int skipDepth -
htmlAFingerprint
protected int htmlAFingerprint -
xhtmlAFingerprint
protected int xhtmlAFingerprint -
inSkip
protected boolean inSkip -
tryAgain
protected boolean tryAgain
-
-
Constructor Details
-
UnwrapLinksEmitter
public UnwrapLinksEmitter(com.icl.saxon.Controller controller, com.icl.saxon.om.NamePool namePool, boolean foStylesheet) Constructor for the UnwrapLinksEmitter.
- Parameters:
namePool- The name pool to use for constructing elements and attributes.foStylesheet- Is this an FO stylesheet?
-
-
Method Details
-
startElement
public void startElement(int nameCode, Attributes attributes, int[] namespaces, int nscount) throws TransformerException Process start element events.- Overrides:
startElementin classCopyEmitter- Throws:
TransformerException
-
endElement
Process end element events.- Overrides:
endElementin classCopyEmitter- Throws:
TransformerException
-
tryAgain
- Throws:
TransformerException
-