private void addGlobalElement(final XmlSchemaElement element) { // Nested anonymous type QName xmlType = element.getSchemaTypeName(); if (xmlType == null) { // Rule 1.b: Anonymous type inside an element ">E" xmlType = new QName(element.getQName().getNamespaceURI(), ">" + element.getQName().getLocalPart()); addType(xmlType, element.getSchemaType()); } // create the XmlElementInfo final XmlElementInfo elementInfo = createXmlElementInfo(element.getQName(), xmlType, element); xmlElements.put(element.getQName(), elementInfo); }
private static void addToElement(CommonParams cparams, XmlSchemaElement parentElement, XmlSchemaElement element, boolean elementRef, boolean isArrayElement, boolean optional) { /* check if new element's namespace and parent's namespace is the same, * if it's different, this has to be forced to be element references */ if (!parentElement.getQName().getNamespaceURI().equals( element.getQName().getNamespaceURI())) { elementRef = true; } XmlSchemaType type = extractElementSchemaType(cparams, parentElement); if (isArrayElement) { addElementToComplexTypeSequence(cparams, (XmlSchemaComplexType) type, parentElement.getQName().getNamespaceURI(), element, elementRef, true, optional); } else { addElementToComplexTypeSequence(cparams, (XmlSchemaComplexType) type, parentElement.getQName().getNamespaceURI(), element, elementRef, false, optional); } }
/** * By convention, an element that is named in its schema's TNS can have a 'name' but * no QName. This can get inconvenient for consumers who want to think about qualified names. * Unfortunately, XmlSchema elements, unlike types, don't store a reference to their containing * schema. * @param element * @param schema */ public static QName getElementQualifiedName(XmlSchemaElement element, XmlSchema schema) { if (element.getQName() != null) { return element.getQName(); } else if (element.getName() != null) { return new QName(schema.getTargetNamespace(), element.getName()); } else { return null; } }
/** * By convention, an element that is named in its schema's TNS can have a 'name' but * no QName. This can get inconvenient for consumers who want to think about qualified names. * Unfortunately, XmlSchema elements, unlike types, don't store a reference to their containing * schema. * @param element * @param schema */ public static QName getElementQualifiedName(XmlSchemaElement element, XmlSchema schema) { if (element.getQName() != null) { return element.getQName(); } else if (element.getName() != null) { return new QName(schema.getTargetNamespace(), element.getName()); } else { return null; } }
/** * By convention, an element that is named in its schema's TNS can have a 'name' but * no QName. This can get inconvenient for consumers who want to think about qualified names. * Unfortunately, XmlSchema elements, unlike types, don't store a reference to their containing * schema. * @param element * @param schema * @return */ public static QName getElementQualifiedName(XmlSchemaElement element, XmlSchema schema) { if (element.getQName() != null) { return element.getQName(); } else if (element.getName() != null) { return new QName(schema.getTargetNamespace(), element.getName()); } else { return null; } }
/** * By convention, an element that is named in its schema's TNS can have a 'name' but * no QName. This can get inconvenient for consumers who want to think about qualified names. * Unfortunately, XmlSchema elements, unlike types, don't store a reference to their containing * schema. * @param element * @param schema */ public static QName getElementQualifiedName(XmlSchemaElement element, XmlSchema schema) { if (element.getQName() != null) { return element.getQName(); } else if (element.getName() != null) { return new QName(schema.getTargetNamespace(), element.getName()); } else { return null; } }
/** * Wrapper around XmlSchemaElement.setRefName that checks for inconsistency with * name and QName. * @param element * @param name */ public static void setElementRefName(XmlSchemaElement element, QName name) { if (name != null && ((element.getQName() != null && !element.getQName().equals(name)) || (element.getName() != null && !element.getName().equals(name.getLocalPart())))) { LOG.severe("Attempt to set the refName of an element with a name or QName"); throw new XmlSchemaInvalidOperation("Attempt to set the refName of an element " + "with a name or QName."); } element.getRef().setTargetQName(name); // cxf conventionally keeps something in the name slot. }
/** * Wrapper around XmlSchemaElement.setRefName that checks for inconsistency with * name and QName. * @param element * @param name */ public static void setElementRefName(XmlSchemaElement element, QName name) { if (name != null && ((element.getQName() != null && !element.getQName().equals(name)) || (element.getName() != null && !element.getName().equals(name.getLocalPart())))) { LOG.severe("Attempt to set the refName of an element with a name or QName"); throw new XmlSchemaInvalidOperation("Attempt to set the refName of an element " + "with a name or QName."); } element.getRef().setTargetQName(name); // cxf conventionally keeps something in the name slot. }
/** * Wrapper around XmlSchemaElement.setName that checks for inconsistency with * refName. * @param element * @param name */ public static void setElementName(XmlSchemaElement element, String name) { if (name != null && element.isRef() && !element.getRef().getTargetQName().getLocalPart().equals(name) && (element.getQName() == null || element.getQName().getLocalPart().equals(name))) { LOG.severe("Attempt to set the name of an element with a reference name."); throw new XmlSchemaInvalidOperation("Attempt to set the name of an element " + "with a reference name."); } element.setName(name); }
/** * Wrapper around XmlSchemaElement.setRefName that checks for inconsistency with * name and QName. * @param element * @param name */ public static void setElementRefName(XmlSchemaElement element, QName name) { if (name != null && ((element.getQName() != null && !element.getQName().equals(name)) || (element.getName() != null && !element.getName().equals(name.getLocalPart())))) { LOG.severe("Attempt to set the refName of an element with a name or QName"); throw new XmlSchemaInvalidOperation("Attempt to set the refName of an element " + "with a name or QName."); } element.getRef().setTargetQName(name); // cxf conventionally keeps something in the name slot. }
/** * Wrapper around XmlSchemaElement.setRefName that checks for inconsistency with * name and QName. * @param element * @param name */ public static void setElementRefName(XmlSchemaElement element, QName name) { if (name != null && ((element.getQName() != null && !element.getQName().equals(name)) || (element.getName() != null && !element.getName().equals(name.getLocalPart())))) { LOG.severe("Attempt to set the refName of an element with a name or QName"); throw new XmlSchemaInvalidOperation("Attempt to set the refName of an element " + "with a name or QName."); } element.getRef().setTargetQName(name); // cxf conventionally keeps something in the name slot. }
private boolean getElementQualification(XmlSchemaElement element, String uri) { QName schemaName = element.getQName(); if (element.isRef()) { schemaName = element.getRef().getTargetQName(); } if (schemaName.getNamespaceURI().isEmpty()) { schemaName = new QName(uri, schemaName.getLocalPart()); } boolean qualified = false; if (element.getForm() == XmlSchemaForm.QUALIFIED) { qualified = true; } else { qualified = WSDLUtils.isElementFormQualified(xmlSchemaList, schemaName); } return qualified; }
protected XmlSchemaComplexType getComplexTypeForElement(XmlSchema xmlSchema, QName name) { for (XmlSchemaObject object : xmlSchema.getItems()) { if (object instanceof XmlSchemaElement && ((XmlSchemaElement) object).getQName().equals(name)) { XmlSchemaComplexType xmlSchemaComplexType = (XmlSchemaComplexType) ((XmlSchemaElement) object).getSchemaType(); if ((xmlSchemaComplexType == null) && (((XmlSchemaElement) object).getSchemaTypeName() != null)) { xmlSchemaComplexType = (XmlSchemaComplexType) xmlSchema.getTypeByName(((XmlSchemaElement) object).getSchemaTypeName()); } return xmlSchemaComplexType; } } return null; }
private Part generateInputPart(Message inputMessage, XmlSchemaElement element) { // message - part Part part = definition.createPart(); part.setName(IN_PARAMETER); part.setElementName(element.getQName()); inputMessage.addPart(part); return part; }
private Part generateOutputPart(Message outputMessage, XmlSchemaElement element) { // message - part Part part = definition.createPart(); part.setName(OUT_PARAMETER); part.setElementName(element.getQName()); outputMessage.addPart(part); return part; }
protected XmlSchemaComplexType getComplexTypeForElement(XmlSchema xmlSchema, QName name) { for (XmlSchemaObject object : xmlSchema.getItems()) { if (object instanceof XmlSchemaElement && ((XmlSchemaElement) object).getQName().equals(name)) { XmlSchemaComplexType xmlSchemaComplexType = (XmlSchemaComplexType) ((XmlSchemaElement) object).getSchemaType(); if ((xmlSchemaComplexType == null) && (((XmlSchemaElement) object).getSchemaTypeName() != null)) { xmlSchemaComplexType = (XmlSchemaComplexType) xmlSchema.getTypeByName(((XmlSchemaElement) object).getSchemaTypeName()); } return xmlSchemaComplexType; } } return null; }
private static List<WrapperElement> createWrappedElements(XmlSchemaSequence seq) { List<WrapperElement> qnames = new ArrayList<>(); if (seq != null) { List<XmlSchemaSequenceMember> items = seq.getItems(); for (XmlSchemaSequenceMember seqMember : items) { XmlSchemaElement subElement = (XmlSchemaElement)seqMember; if (subElement.getQName() != null) { qnames.add(new WrapperElement(subElement.getWireName(), subElement.getSchemaTypeName())); } else { qnames.add(new WrapperElement(subElement.getRef().getTargetQName(), subElement.getSchemaTypeName())); } } } return qnames; }
private Message generateMessage(XmlSchemaElement element, String name) { Part part = definition.createPart(); part.setName(PART_NAME); part.setElementName(element.getQName()); Message result = definition.createMessage(); QName qName = new QName(definition.getTargetNamespace(), name); if (definition.getMessage(qName) != null) { String newName = getScope().toString() + "." + name; qName = new QName(definition.getTargetNamespace(), newName); } result.setQName(qName); result.addPart(part); result.setUndefined(false); definition.addMessage(result); return result; }
private static ElementInfo getElementInfo(XmlSchemaElement element) { if (element == null) { return null; } ElementInfo elementInfo = new ElementInfo(element.getQName(), getTypeInfo(element.getSchemaType())); elementInfo.setMany(element.getMaxOccurs() > 1); elementInfo.setNillable(element.isNillable()); elementInfo.setOmissible(element.getMinOccurs()==0); return elementInfo; }
private static ElementInfo getElementInfo(XmlSchemaElement element) { if (element == null) { return null; } ElementInfo elementInfo = new ElementInfo(element.getQName(), getTypeInfo(element.getSchemaType())); elementInfo.setMany(element.getMaxOccurs() > 1); elementInfo.setNillable(element.isNillable()); elementInfo.setOmissible(element.getMinOccurs()==0); return elementInfo; }