You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by ha...@apache.org on 2002/12/03 17:44:34 UTC
cvs commit: xml-cocoon2/src/java/org/apache/cocoon/transformation SimpleFormTransformer.java
haul 2002/12/03 08:44:34
Modified: src/java/org/apache/cocoon/transformation
SimpleFormTransformer.java
Log:
<action dev="CH" type="fix" fixes-bug="14739">
Fixed SimpleFormTransformer: Malformed XML with textarea elements.
</action>
Revision Changes Path
1.3 +15 -8 xml-cocoon2/src/java/org/apache/cocoon/transformation/SimpleFormTransformer.java
Index: SimpleFormTransformer.java
===================================================================
RCS file: /home/cvs/xml-cocoon2/src/java/org/apache/cocoon/transformation/SimpleFormTransformer.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- SimpleFormTransformer.java 17 Nov 2002 18:00:02 -0000 1.2
+++ SimpleFormTransformer.java 3 Dec 2002 16:44:34 -0000 1.3
@@ -121,7 +121,7 @@
* <table>
* <tr><td>fixed</td><td>(boolean) Do not change values</td></tr>
* <tr><td>prefix</td><td>(String) Added to the input element's name</td></tr>
- * <tr><td>postfix</td><td>(String) Added to the input element's name</td></tr>
+ * <tr><td>suffix</td><td>(String) Added to the input element's name</td></tr>
* <tr><td>input</td><td>(String) InputModule name</td></tr>
* </table>
* </p>
@@ -215,6 +215,9 @@
/** nesting level of ignored elements */
protected int ignoreCount;
+ /** ignored element needs closing tag */
+ protected boolean ignoreThis = false;
+
/** stack of ignored element names */
protected Stack stack = new Stack();
@@ -237,7 +240,7 @@
private boolean fixed = false;
private String prefix = null;
- private String postfix = null;
+ private String suffix = null;
private String defaultInput = "request-param";
private Configuration defaultInputConf = null;
@@ -303,7 +306,7 @@
this.parameters = par;
this.fixed = par.getParameterAsBoolean("fixed",false);
this.prefix = par.getParameter("prefix",null);
- this.postfix = par.getParameter("postfix",null);
+ this.suffix = par.getParameter("suffix",null);
this.inputName = par.getParameter("input",null);
this.inputConf = null;
this.validationResults = XSPFormValidatorHelper.getResults(objectModel);
@@ -456,7 +459,7 @@
getLogger().debug("replacing");
if (this.prefix != null) aName = this.prefix + aName;
- if (this.postfix != null) aName = aName + this.postfix;
+ if (this.suffix != null) aName = aName + this.suffix;
this.values = this.getValues(aName);
AttributesImpl attributes = null;
@@ -496,7 +499,7 @@
getLogger().debug("startSelectElement "+name+" attributes "+this.printAttributes(attr));
if (aName != null && !(this.fixed || (fixed != null && parseBoolean(fixed)))) {
if (this.prefix != null) aName = this.prefix + aName;
- if (this.postfix != null) aName = aName + this.postfix;
+ if (this.suffix != null) aName = aName + this.suffix;
this.values = this.getValues(aName);
}
super.startElement(uri, name, raw, attr);
@@ -561,7 +564,7 @@
getLogger().debug("startTextareaElement "+name+" attributes "+this.printAttributes(attributes));
if (aName != null) {
if (this.prefix != null) aName = this.prefix + aName;
- if (this.postfix != null) aName = aName + this.postfix;
+ if (this.suffix != null) aName = aName + this.suffix;
value = this.getValues(aName);
}
if (value == null || this.fixed || (fixed != null && parseBoolean(fixed))) {
@@ -599,7 +602,7 @@
super.startElement(uri, name, raw, attr);
} else {
if (this.prefix != null) aName = this.prefix + aName;
- if (this.postfix != null) aName = aName + this.postfix;
+ if (this.suffix != null) aName = aName + this.suffix;
ValidatorActionResult validation = XSPFormValidatorHelper.getParamResult(this.objectModel, aName);
String when = attr.getValue("when");
String when_ge = attr.getValue("when-ge");
@@ -622,6 +625,7 @@
} else {
this.ignoreCount++;
this.stack.push(name);
+ this.ignoreThis = true;
};
}
}
@@ -695,6 +699,9 @@
this.stack.pop();
this.ignoreCount--;
}
+ }
+ if (this.ignoreCount > 0 || (this.ignoreCount == 0 && this.ignoreThis)) {
+ this.ignoreThis = false;
} else {
switch (((Integer)elementNames.get(name,defaultElement)).intValue()) {
case ELEMENT_INPUT:
----------------------------------------------------------------------
In case of troubles, e-mail: webmaster@xml.apache.org
To unsubscribe, e-mail: cocoon-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: cocoon-cvs-help@xml.apache.org