[Yanel-commits] rev 22073 -
public/yanel/trunk/src/core/java/org/wyona/yanel/core/transformation
michi at wyona.com
michi at wyona.com
Wed Jan 24 00:21:05 CET 2007
Author: michi
Date: 2007-01-24 00:21:03 +0100 (Wed, 24 Jan 2007)
New Revision: 22073
Modified:
public/yanel/trunk/src/core/java/org/wyona/yanel/core/transformation/I18nTransformer.java
Log:
thanks to Simon empty element bug fixed
Modified: public/yanel/trunk/src/core/java/org/wyona/yanel/core/transformation/I18nTransformer.java
===================================================================
--- public/yanel/trunk/src/core/java/org/wyona/yanel/core/transformation/I18nTransformer.java 2007-01-23 23:17:48 UTC (rev 22072)
+++ public/yanel/trunk/src/core/java/org/wyona/yanel/core/transformation/I18nTransformer.java 2007-01-23 23:21:03 UTC (rev 22073)
@@ -16,6 +16,7 @@
private ResourceBundle messageBundle = null;
private ByteArrayInputStream byteArrayInputStream = null;
private StringBuffer transformedXmlAsBuffer = null;
+ private String cachedEname;
public I18nTransformer(String messages, String language) {
currentLocale = new Locale(language);
@@ -49,7 +50,7 @@
log.debug("TAG [key] " + key + " [message]" + i18nText);
char[] i18nMessage = i18nText.toCharArray();
- characters(i18nMessage, 0, i18nMessage.length);
+ characters(i18nMessage, 0, i18nMessage.length-1);
} else {
transformedXmlAsBuffer.append("<" + eName);
for(int i = 0; i < attrs.getLength(); i++) {
@@ -74,6 +75,7 @@
transformedXmlAsBuffer.append(" " + aName + "=\"" + aValue + "\"");
}
transformedXmlAsBuffer.append(">");
+ cachedEname = eName;
}
}
@@ -81,12 +83,17 @@
String eName = ("".equals(localName)) ? qName : localName;
if ((eName.equals("message")) || (eName.equals("i18n:message"))) {
/*ignore these tags*/
+ } else if(cachedEname != null && cachedEname.equals(cachedEname)){
+ transformedXmlAsBuffer.deleteCharAt(transformedXmlAsBuffer.length()-1);
+ transformedXmlAsBuffer.append("/>");
+ cachedEname = null;
} else {
transformedXmlAsBuffer.append("</" + eName + ">");
}
}
public void characters(char[] buf, int offset, int len) throws SAXException {
+ cachedEname = null;
String s = new String(buf, offset, len);
s = replaceAmpersand(s);
transformedXmlAsBuffer.append(s);
More information about the Yanel-commits
mailing list