[jboss-svn-commits] JBoss Common SVN: r2009 - jbossxb/trunk/src/main/java/org/jboss/xb/binding
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Mon Sep 4 10:24:48 EDT 2006
Author: alex.loubyansky at jboss.com
Date: 2006-09-04 10:24:46 -0400 (Mon, 04 Sep 2006)
New Revision: 2009
Modified:
jbossxb/trunk/src/main/java/org/jboss/xb/binding/DtdMarshaller.java
Log:
JBXB-81
Modified: jbossxb/trunk/src/main/java/org/jboss/xb/binding/DtdMarshaller.java
===================================================================
--- jbossxb/trunk/src/main/java/org/jboss/xb/binding/DtdMarshaller.java 2006-09-01 15:16:17 UTC (rev 2008)
+++ jbossxb/trunk/src/main/java/org/jboss/xb/binding/DtdMarshaller.java 2006-09-04 14:24:46 UTC (rev 2009)
@@ -217,7 +217,7 @@
DTDItem item = element.content;
if(item instanceof DTDMixed)
{
- handleMixedElement((DTDMixed)item, element.getName(), attrs);
+ handleMixedElement(element, attrs);
}
else if(item instanceof DTDEmpty)
{
@@ -239,8 +239,17 @@
}
}
- private final void handleMixedElement(DTDMixed mixed, String elementName, Attributes attrs)
+ private final void handleMixedElement(DTDElement element, Attributes attrs)
{
+ boolean startElement = false;
+ if(!elementStack.isEmpty())
+ {
+ Element e = (Element) elementStack.get(elementStack.size() - 1);
+ startElement = element != e.element;
+ }
+
+ DTDMixed mixed = (DTDMixed) element.content;
+ String elementName = element.getName();
Object parent = stack.peek();
DTDItem[] items = mixed.getItems();
for(int i = 0; i < items.length; ++i)
@@ -265,9 +274,17 @@
}
char[] ch = marshalled.toCharArray();
- content.startElement("", elementName, elementName, attrs);
+ if(startElement)
+ {
+ content.startElement("", elementName, elementName, attrs);
+ }
+
content.characters(ch, 0, ch.length);
- content.endElement("", elementName, elementName);
+
+ if(startElement)
+ {
+ content.endElement("", elementName, elementName);
+ }
}
}
}
More information about the jboss-svn-commits
mailing list