public void addType(XmlSchemaType type) { QName qname = type.getQName(); if (schemaTypes.contains(qname)) { throw new RuntimeException("Schema for namespace '" + syntacticalTargetNamespace + "' already contains type '" + qname.getLocalPart()); } schemaTypes.add(qname, type); }
public void addType(XmlSchemaType type) { QName qname = type.getQName(); if (schemaTypes.contains(qname)) { throw new XmlSchemaException(" Schema for namespace '" + syntacticalTargetNamespace + "' already contains type '" + qname.getLocalPart() + "'"); } schemaTypes.add(qname, type); }
public void addType(XmlSchemaType type) { QName qname = type.getQName(); if (schemaTypes.contains(qname)) { throw new XmlSchemaException(" Schema for namespace '" + syntacticalTargetNamespace + "' already contains type '" + qname.getLocalPart() + "'"); } schemaTypes.add(qname, type); }
/** * Creates XML schema complex type with the given namespace and the name. * @param cparams The common parameters used in the schema generator * @param namespace The namespace of the complex type * @param name The name of the complex type * @param global Signal if the newly created type is global or not * @return The newly create XML schema complex type */ private static XmlSchemaComplexType createComplexType(CommonParams cparams, String namespace, String name, boolean global) { XmlSchema schema = retrieveSchema(cparams, namespace); XmlSchemaComplexType type = new XmlSchemaComplexType(schema); Map<QName, XmlSchemaComplexType> typeMap = cparams.getTypeMap(); if (global) { QName qname = new QName(namespace, name); if (typeMap.containsKey(qname)) { int suffix = 1; // start with 2, if T is there, the next one would be T2 while (typeMap.containsKey(new QName(namespace, name + (++suffix)))); name = name + suffix; qname = new QName(namespace, name); } type.setName(name); cparams.getTypeMap().put(qname, type); schema.getItems().add(type); schema.getSchemaTypes().add(qname, type); } return type; }
XmlSchema schema = retrieveSchema(cparams, namespace); schema.getItems().add(element); schema.getElements().add(qname, element);
/** * Create a nex XML schema element. * <p/> * We use the source URI to mark these injected elements. * * @param typeQName the element type * @param elementQName the element name * @param schema the XML schema */ public static void addXmlSchemaElement(final QName typeQName, final QName elementQName, final XmlSchema schema) { XmlSchemaElement el = new XmlSchemaElement(); el.setQName(elementQName); el.setName(elementQName.getLocalPart()); el.setSchemaTypeName(typeQName); el.setSchemaType(schema.getTypeByName(typeQName)); el.setSourceURI(XsdConstants.INJECTED_ELEMENT); schema.getElements().add(elementQName, el); schema.getItems().add(el); }