|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.apache.avalon.framework.logger.AbstractLogEnabled org.apache.cocoon.xml.AbstractXMLProducer org.apache.cocoon.xml.AbstractXMLPipe org.apache.cocoon.woody.transformation.WidgetReplacingPipe
public class WidgetReplacingPipe
The basic operation of this Pipe is that it replaces wt:widget (in the
Constants.WT_NS
namespace) tags (having an id attribute)
by the XML representation of the corresponding widget instance.
These XML fragments (normally all in the "Woody Instance"
namespace), can
then be translated to a HTML presentation by an XSL. This XSL will then only have to style
individual widget, and will not need to do the whole page layout.
For more information about the supported tags and their function, see the user documentation for the woody template transformer.
Nested Class Summary | |
---|---|
class |
WidgetReplacingPipe.InsertStylingContentHandler
This ContentHandler helps in inserting SAX events before the closing tag of the root element. |
Field Summary | |
---|---|
protected Widget |
contextWidget
|
protected int |
elementNestingCounter
Counts the element nesting. |
protected boolean |
gotStylingElement
Have we encountered a |
protected boolean |
inWidgetElement
Indicates whether we're currently in a widget element. |
protected String |
namespacePrefix
Namespace prefix used for the namespace Constants.WT_NS . |
protected WoodyPipelineConfig |
pipeContext
|
protected boolean |
repeaterWidget
Boolean indicating wether the current widget requires special repeater-treatement. |
protected SaxBuffer |
saxBuffer
Buffer used to temporarily record SAX events. |
protected WidgetReplacingPipe.InsertStylingContentHandler |
stylingHandler
|
protected Widget |
widget
If inWidgetElement = true, then this contains the widget currenlty being handled. |
protected int |
widgetElementNesting
Contains the value of the elementNestingCounter on the moment the transformer
encountered a wi:widget element. |
Fields inherited from class org.apache.cocoon.xml.AbstractXMLProducer |
---|
contentHandler, EMPTY_CONTENT_HANDLER, lexicalHandler, xmlConsumer |
Constructor Summary | |
---|---|
WidgetReplacingPipe()
|
Method Summary | |
---|---|
void |
characters(char[] c,
int start,
int len)
Receive notification of character data. |
void |
comment(char[] ch,
int start,
int len)
Report an XML comment anywhere in the document. |
void |
endCDATA()
Report the end of a CDATA section. |
void |
endElement(String namespaceURI,
String localName,
String qName)
Receive notification of the end of an element. |
void |
endEntity(String name)
Report the end of an entity. |
void |
endPrefixMapping(String prefix)
End the scope of a prefix-URI mapping. |
protected Widget |
getWidget(Attributes attributes)
|
void |
ignorableWhitespace(char[] c,
int start,
int len)
Receive notification of ignorable whitespace in element content. |
void |
init(Widget newContextWidget,
WoodyPipelineConfig newPipeContext)
|
void |
processingInstruction(String target,
String data)
Receive notification of a processing instruction. |
void |
recycle()
Recycle the producer by removing references, and resetting handlers to null (empty) implementations. |
void |
skippedEntity(String name)
Receive notification of a skipped entity. |
void |
startCDATA()
Report the start of a CDATA section. |
void |
startElement(String namespaceURI,
String localName,
String qName,
Attributes attributes)
Receive notification of the beginning of an element. |
void |
startEntity(String name)
Report the beginning of an entity. |
void |
startPrefixMapping(String prefix,
String uri)
Begin the scope of a prefix-URI Namespace mapping. |
Methods inherited from class org.apache.cocoon.xml.AbstractXMLPipe |
---|
endDocument, endDTD, setDocumentLocator, startDocument, startDTD |
Methods inherited from class org.apache.cocoon.xml.AbstractXMLProducer |
---|
setConsumer, setContentHandler, setLexicalHandler |
Methods inherited from class org.apache.avalon.framework.logger.AbstractLogEnabled |
---|
enableLogging, getLogger, setupLogger, setupLogger, setupLogger |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface org.apache.cocoon.xml.XMLProducer |
---|
setConsumer |
Field Detail |
---|
protected Widget contextWidget
protected boolean inWidgetElement
protected SaxBuffer saxBuffer
protected int elementNestingCounter
protected int widgetElementNesting
elementNestingCounter
on the moment the transformer
encountered a wi:widget element. Used to detect the corresponding endElement call
for the wi:widget element.
protected Widget widget
inWidgetElement
= true, then this contains the widget currenlty being handled.
protected boolean repeaterWidget
protected WidgetReplacingPipe.InsertStylingContentHandler stylingHandler
protected WoodyPipelineConfig pipeContext
protected boolean gotStylingElement
protected String namespacePrefix
Constants.WT_NS
.
Constructor Detail |
---|
public WidgetReplacingPipe()
Method Detail |
---|
public void init(Widget newContextWidget, WoodyPipelineConfig newPipeContext)
public void startElement(String namespaceURI, String localName, String qName, Attributes attributes) throws SAXException
AbstractXMLPipe
startElement
in interface ContentHandler
startElement
in class AbstractXMLPipe
namespaceURI
- The Namespace URI, or the empty string if the element has no
Namespace URI or if Namespace
processing is not being performed.localName
- The local name (without prefix), or the empty string if
Namespace processing is not being performed.qName
- The raw XML 1.0 name (with prefix), or the empty string if
raw names are not available.attributes
- The attributes attached to the element. If there are no
attributes, it shall be an empty Attributes object.
SAXException
protected Widget getWidget(Attributes attributes) throws SAXException
SAXException
public void endElement(String namespaceURI, String localName, String qName) throws SAXException
AbstractXMLPipe
endElement
in interface ContentHandler
endElement
in class AbstractXMLPipe
namespaceURI
- The Namespace URI, or the empty string if the element has no
Namespace URI or if Namespace
processing is not being performed.localName
- The local name (without prefix), or the empty string if
Namespace processing is not being performed.qName
- The raw XML 1.0 name (with prefix), or the empty string if
raw names are not available.
SAXException
public void startPrefixMapping(String prefix, String uri) throws SAXException
AbstractXMLPipe
startPrefixMapping
in interface ContentHandler
startPrefixMapping
in class AbstractXMLPipe
prefix
- The Namespace prefix being declared.uri
- The Namespace URI the prefix is mapped to.
SAXException
public void endPrefixMapping(String prefix) throws SAXException
AbstractXMLPipe
endPrefixMapping
in interface ContentHandler
endPrefixMapping
in class AbstractXMLPipe
prefix
- The prefix that was being mapping.
SAXException
public void characters(char[] c, int start, int len) throws SAXException
AbstractXMLPipe
characters
in interface ContentHandler
characters
in class AbstractXMLPipe
c
- The characters from the XML document.start
- The start position in the array.len
- The number of characters to read from the array.
SAXException
public void ignorableWhitespace(char[] c, int start, int len) throws SAXException
AbstractXMLPipe
ignorableWhitespace
in interface ContentHandler
ignorableWhitespace
in class AbstractXMLPipe
c
- The characters from the XML document.start
- The start position in the array.len
- The number of characters to read from the array.
SAXException
public void processingInstruction(String target, String data) throws SAXException
AbstractXMLPipe
processingInstruction
in interface ContentHandler
processingInstruction
in class AbstractXMLPipe
target
- The processing instruction target.data
- The processing instruction data, or null if none was
supplied.
SAXException
public void skippedEntity(String name) throws SAXException
AbstractXMLPipe
skippedEntity
in interface ContentHandler
skippedEntity
in class AbstractXMLPipe
name
- The name of the skipped entity. If it is a parameter
entity, the name will begin with '%'.
SAXException
public void startEntity(String name) throws SAXException
AbstractXMLPipe
startEntity
in interface LexicalHandler
startEntity
in class AbstractXMLPipe
name
- The name of the entity. If it is a parameter entity, the
name will begin with '%'.
SAXException
public void endEntity(String name) throws SAXException
AbstractXMLPipe
endEntity
in interface LexicalHandler
endEntity
in class AbstractXMLPipe
name
- The name of the entity that is ending.
SAXException
public void startCDATA() throws SAXException
AbstractXMLPipe
startCDATA
in interface LexicalHandler
startCDATA
in class AbstractXMLPipe
SAXException
public void endCDATA() throws SAXException
AbstractXMLPipe
endCDATA
in interface LexicalHandler
endCDATA
in class AbstractXMLPipe
SAXException
public void comment(char[] ch, int start, int len) throws SAXException
AbstractXMLPipe
comment
in interface LexicalHandler
comment
in class AbstractXMLPipe
ch
- An array holding the characters in the comment.start
- The starting position in the array.len
- The number of characters to use from the array.
SAXException
public void recycle()
AbstractXMLProducer
recycle
in interface Recyclable
recycle
in class AbstractXMLProducer
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |