private static MappingNode createXMLPlanSOAP() {
Namespace namespace = new Namespace("ORG", "http://www.mm.org/dummy"); //$NON-NLS-1$ //$NON-NLS-2$
MappingDocument doc = new MappingDocument(true);
MappingElement root = doc.addChildElement(new MappingElement("TaxReports", namespace)); //$NON-NLS-1$
root.setNamespaces(new Namespace[] {namespace});
MappingElement report = root.addChildElement(new MappingElement("TaxReport", namespace)); //$NON-NLS-1$
report.setNamespaces(new Namespace[] {namespace});
Namespace xsiNamespace = new Namespace("xsi", "http://www.w3.org/2001/XMLSchema-instance"); //$NON-NLS-1$ //$NON-NLS-2$
Namespace soapNamespace = new Namespace("SOAP-ENC", "http://schemas.xmlsoap.org/soap/encoding/"); //$NON-NLS-1$ //$NON-NLS-2$
MappingElement taxIds = report.addChildElement(new MappingElement("ArrayOfTaxID", namespace)); //$NON-NLS-1$
taxIds.setMinOccurrs(0);
taxIds.setNamespaces(new Namespace[] {xsiNamespace, soapNamespace});
MappingAttribute xsiType = new MappingAttribute("type", xsiNamespace); //$NON-NLS-1$
xsiType.setValue(namespace.getPrefix()+":ArrayOfTaxIDType"); //$NON-NLS-1$
xsiType.setOptional(true);
taxIds.addAttribute(xsiType);
MappingAttribute arrayType = new MappingAttribute("arrayType", soapNamespace); //$NON-NLS-1$
arrayType.setValue( namespace.getPrefix()+":TaxIDType[]"); //$NON-NLS-1$
arrayType.setOptional(true);
taxIds.addAttribute(arrayType);
MappingElement taxId = taxIds.addChildElement(new MappingElement("TaxID", namespace)); //$NON-NLS-1$
taxId.setSource("xmltest.group.TaxIDs"); //$NON-NLS-1$
taxId.setMaxOccurrs(-1);
MappingAttribute xsiType2 = new MappingAttribute("type", xsiNamespace); //$NON-NLS-1$
xsiType2.setValue(namespace.getPrefix()+":TaxIDType"); //$NON-NLS-1$
xsiType2.setOptional(true);
taxId.addAttribute(xsiType2);
taxId.addChildElement(new MappingElement("ID", "xmltest.group.TaxIDs.ID")); //$NON-NLS-1$ //$NON-NLS-2$
return doc;
}