You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by an...@apache.org on 2003/11/16 19:57:40 UTC
cvs commit: cocoon-2.1/src/blocks/woody/java/org/apache/cocoon/woody/transformation WidgetReplacingPipe.java WoodyTemplateTransformer.java
antonio 2003/11/16 10:57:40
Modified: src/blocks/woody/java/org/apache/cocoon/woody/transformation
WidgetReplacingPipe.java
WoodyTemplateTransformer.java
Log:
Improving a little bit the tag processing of WoodyTransformer
Revision Changes Path
1.12 +21 -19 cocoon-2.1/src/blocks/woody/java/org/apache/cocoon/woody/transformation/WidgetReplacingPipe.java
Index: WidgetReplacingPipe.java
===================================================================
RCS file: /home/cvs//cocoon-2.1/src/blocks/woody/java/org/apache/cocoon/woody/transformation/WidgetReplacingPipe.java,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- WidgetReplacingPipe.java 13 Nov 2003 13:16:52 -0000 1.11
+++ WidgetReplacingPipe.java 16 Nov 2003 18:57:40 -0000 1.12
@@ -77,9 +77,12 @@
*
* <p>For more information about the supported tags and their function, see the user documentation
* for the woody template transformer.</p>
+ *
+ * @version CVS $Id$
*/
public class WidgetReplacingPipe extends AbstractXMLPipe {
+ private static final String CONTINUATION_ID = "continuation-id";
protected static final String FORM_TEMPLATE_EL = "form-template";
protected static final String STYLING_EL = "styling";
/** Default key under which the woody form is stored in the JXPath context. */
@@ -121,27 +124,26 @@
public void startElement(String namespaceURI, String localName, String qName, Attributes attributes)
throws SAXException {
elementNestingCounter++;
- if (!inWidgetElement && namespaceURI.equals(Constants.WT_NS)
- && (localName.equals("widget") || localName.equals("repeater-widget"))) {
- checkContextWidgetAvailable(qName);
- inWidgetElement = true;
- widgetElementNesting = elementNestingCounter;
- gotStylingElement = false;
- saxBuffer = new SaxBuffer();
-
- // retrieve widget here, but its XML will only be streamed in the endElement call
- widget = getWidget(attributes);
- repeaterWidget = localName.equals("repeater-widget");
- if (repeaterWidget && !(widget instanceof Repeater))
- throw new SAXException("WoodyTemplateTransformer: the element \"repeater-widget\" can only be used for repeater widgets.");
- } else if (inWidgetElement) {
+
+ if (inWidgetElement) {
if (elementNestingCounter == widgetElementNesting + 1 &&
Constants.WI_NS.equals(namespaceURI) && STYLING_EL.equals(localName)) {
gotStylingElement = true;
}
saxBuffer.startElement(namespaceURI, localName, qName, attributes);
} else if (namespaceURI.equals(Constants.WT_NS)) {
- if (localName.equals("widget-label")) {
+ if (localName.equals("widget") || localName.equals("repeater-widget")) {
+ checkContextWidgetAvailable(qName);
+ inWidgetElement = true;
+ widgetElementNesting = elementNestingCounter;
+ gotStylingElement = false;
+ saxBuffer = new SaxBuffer();
+ // retrieve widget here, but its XML will only be streamed in the endElement call
+ widget = getWidget(attributes);
+ repeaterWidget = localName.equals("repeater-widget");
+ if (repeaterWidget && !(widget instanceof Repeater))
+ throw new SAXException("WoodyTemplateTransformer: the element \"repeater-widget\" can only be used for repeater widgets.");
+ } else if (localName.equals("widget-label")) {
checkContextWidgetAvailable(qName);
Widget widget = getWidget(attributes);
widget.generateLabel(contentHandler);
@@ -223,7 +225,7 @@
Attributes transAtts = translateAttributes(attributes, namesToTranslate);
contentHandler.startElement(Constants.WI_NS , FORM_TEMPLATE_EL, Constants.WI_PREFIX_COLON + FORM_TEMPLATE_EL, transAtts);
- } else if (localName.equals("continuation-id")){
+ } else if (localName.equals(CONTINUATION_ID)){
// Insert the continuation id
// FIXME(SW) we could avoid costly JXPath evaluation if we had the objectmodel here.
Object idObj = pipeContext.getJXPathContext().getValue("$continuation/id");
@@ -233,9 +235,9 @@
String id = idObj.toString();
contentHandler.startPrefixMapping(Constants.WI_PREFIX, Constants.WI_NS);
- contentHandler.startElement(Constants.WI_NS, "continuation-id", Constants.WI_PREFIX_COLON + "continuation-id", attributes);
+ contentHandler.startElement(Constants.WI_NS, CONTINUATION_ID, Constants.WI_PREFIX_COLON + CONTINUATION_ID, attributes);
contentHandler.characters(id.toCharArray(), 0, id.length());
- contentHandler.endElement(Constants.WI_NS, "continuation-id", Constants.WI_PREFIX_COLON + "continuation-id");
+ contentHandler.endElement(Constants.WI_NS, CONTINUATION_ID, Constants.WI_PREFIX_COLON + CONTINUATION_ID);
contentHandler.endPrefixMapping(Constants.WI_PREFIX);
} else {
throw new SAXException("Unsupported WoodyTemplateTransformer element: " + localName);
@@ -364,7 +366,7 @@
contextWidget = null;
contentHandler.endElement(Constants.WI_NS, FORM_TEMPLATE_EL, Constants.WI_PREFIX_COLON + FORM_TEMPLATE_EL);
contentHandler.endPrefixMapping(Constants.WI_PREFIX);
- } else if (namespaceURI.equals(Constants.WT_NS) && localName.equals("continuation-id")) {
+ } else if (namespaceURI.equals(Constants.WT_NS) && localName.equals(CONTINUATION_ID)) {
// nothing
} else {
super.endElement(namespaceURI, localName, qName);
1.5 +2 -0 cocoon-2.1/src/blocks/woody/java/org/apache/cocoon/woody/transformation/WoodyTemplateTransformer.java
Index: WoodyTemplateTransformer.java
===================================================================
RCS file: /home/cvs//cocoon-2.1/src/blocks/woody/java/org/apache/cocoon/woody/transformation/WoodyTemplateTransformer.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- WoodyTemplateTransformer.java 26 Jul 2003 14:05:05 -0000 1.4
+++ WoodyTemplateTransformer.java 16 Nov 2003 18:57:40 -0000 1.5
@@ -70,6 +70,8 @@
/**
* See description of {@link WidgetReplacingPipe}.
+ *
+ * @version CVS $Id$
*/
public class WoodyTemplateTransformer extends WidgetReplacingPipe implements Transformer {