descriptor.getInheritancePolicy().setClassIndicatorField(new XMLField("@xsi:type"));
descriptor.getInheritancePolicy().addClassIndicator(DatabaseField.class, getSecondaryNamespaceXPath() + "column");
descriptor.getInheritancePolicy().addClassIndicator(XMLField.class, getPrimaryNamespaceXPath() + "node");
descriptor.getInheritancePolicy().addClassIndicator(XMLUnionField.class, getPrimaryNamespaceXPath() + "union-node");
XMLSchemaReference reference = new XMLSchemaClassPathReference();
reference.setSchemaContext("/"+ getSecondaryNamespaceXPath() + "column");
descriptor.setSchemaReference(reference);
XMLDirectMapping tableMapping = new XMLDirectMapping();
tableMapping.setAttributeName("table");
tableMapping.setGetMethodName("getTableName");