Index: src/main/java/org/exolab/castor/xml/schema/ElementDecl.java =================================================================== --- src/main/java/org/exolab/castor/xml/schema/ElementDecl.java (Revision 6990) +++ src/main/java/org/exolab/castor/xml/schema/ElementDecl.java (Arbeitskopie) @@ -445,8 +445,14 @@ while (enumeration.hasMoreElements()) { ElementDecl temp = (ElementDecl)enumeration.nextElement(); String subName = temp.getSubstitutionGroup(); - if (subName!=null && subName.equals(_name)) - result.add(temp); + if (subName != null) { + if (subName.equals(_name)) { + result.add(temp); + } + if (subName.endsWith(_name) && subName.indexOf(":") > 0) { + result.add(temp); + } + } } return result.elements(); } Index: codegen/src/main/java/org/exolab/castor/builder/descriptors/DescriptorSourceFactory.java =================================================================== --- codegen/src/main/java/org/exolab/castor/builder/descriptors/DescriptorSourceFactory.java (Revision 6990) +++ codegen/src/main/java/org/exolab/castor/builder/descriptors/DescriptorSourceFactory.java (Arbeitskopie) @@ -62,6 +62,7 @@ import org.exolab.castor.builder.types.XSListType; import org.exolab.castor.builder.types.XSType; import org.exolab.castor.xml.XMLConstants; +import org.exolab.castor.xml.XMLFieldDescriptor; import org.exolab.javasource.JClass; import org.exolab.javasource.JConstructor; import org.exolab.javasource.JField; @@ -167,15 +168,15 @@ // handle substitution groups List substitutionGroups = classInfo.getSubstitutionGroups(); if (!substitutionGroups.isEmpty()) { - jsc.add("java.util.List substitutionGroupes = new java.util.ArrayList();"); + jsc.add("java.util.List substitutionGroups = new java.util.ArrayList();"); Iterator substitutionGroupIter = substitutionGroups.iterator(); while (substitutionGroupIter.hasNext()) { String substitutionGroup = (String) substitutionGroupIter.next(); - jsc.add("substitutionGroupes.add(\""); + jsc.add("substitutionGroups.add(\""); jsc.append(substitutionGroup); jsc.append("\");"); } - jsc.add("setSubstitutes(substitutionGroupes);"); + jsc.add("setSubstitutes(substitutionGroups);"); } //-- To prevent compiler warnings...make sure