protected void checkIfElementReferenceIsNeeded(Element child,
String parentNamespace,
TypeSystemHolder typeSystemHolder,
Inst2XsdOptions options) {
// always add element references
Element referencedElem = new Element();
referencedElem.setGlobal(true);
referencedElem.setName(child.getName());
referencedElem.setType(child.getType());
if (child.isNillable())
{
referencedElem.setNillable(true);
child.setNillable(false);
}
referencedElem = addGlobalElement(referencedElem, typeSystemHolder, options);
child.setRef(referencedElem); // clears child's type
}
|