public void unionSimpleType(XSUnionSimpleType type) {
final int len = type.getMemberSize();
StringBuffer ref = new StringBuffer();
for (int i = 0; i < len; i++) {
XSSimpleType member = type.getMember(i);
if (member.isGlobal()) {
ref.append(MessageFormat.format(" '{'{0}'}'{1}",
new Object[]{
member.getTargetNamespace(),
member.getName()}));
}
}
String name = (ref.length() == 0) ? "Union" : ("Union memberTypes=\""
+ ref + "\"");
SchemaTreeNode newNode = new SchemaTreeNode(name, type.getLocator());
this.currNode.add(newNode);
this.currNode = newNode;
for (int i = 0; i < len; i++) {
XSSimpleType member = type.getMember(i);
if (member.isLocal()) {
simpleType(member);
}
}
this.currNode = (SchemaTreeNode) this.currNode.getParent();
}