5XML Integration Objects and the XSD Wizard

XML Integration Objects and the XSD Wizard

This chapter discusses the XSD wizard, the supported XSD elements and attributes, and the structure of the XSD XML integration object, such as user properties. It includes the following topics:

Creating XML Integration Objects with the XSD Wizard

Siebel EAI provides two different wizards to create XML integration objects. An XML integration object is essentially an integration object with a base object type of XML. This wizard parses the XML Schema Definition (XSD) file to create an XML integration object.

To create an integration object

  1. Launch Siebel Tools.

  2. Select File, then New Object.

  3. In the New Object Wizards window, select the EAI tab.

  4. Double-click the Integration Object icon.

  5. Complete the Integration Object Builder initial page:

    1. Select the project from the first drop-down list.

    2. Select EAI XSD Wizard as the Business Service.

    3. Navigate to the location of the XSD or XML file that you want to use as the basis of the XSD and click Next.

      Note: The Simplify Integration Object Hierarchy option creates a simpler and flatter internal representation of the XML integration object; however, this does not change the external representation. Having a simpler internal representation makes declarative data mapping easier.
  6. Select the source object, give it a unique name, and then click Next.

  7. Click on the plus sign to expand the list and select or clear the fields you need from the component.

  8. Click Next to get to the final page to review the messages generated during the process and take necessary action as required.

  9. Click Finish to complete the process.

    The integration object is displayed in the Integration Objects list.

Note: You must review the integration objects and the integration components created by the Wizard and complete their definitions based on your requirements.

    Selecting the Source Object in the XSD Wizard

    Each XML document has exactly one root or document element. The root element corresponds to the integration object. However, because an XSD or DTD file can be used by a vendor to specify the XML documents that it can generate, the root element cannot be inferred from the XSD or DTD file. For example, Ariba can generate XML for contracts, order requests, subscriptions, and so on. A single file describes the possible XML documents.

    As a reference when determining the root element, use an XML document that best represents the XML documents you are integrating. The root element is the root of the XML hierarchy tree. No part of the root element appears within the content of any other element. For all other elements, the <Start></Start> tag appears within the content of another element.

    To view any XML hierarchy, with collapsible and expandable elements, use an XML editor, an XML reader, or an XML-capable browser such as Microsoft Internet Explorer.

      Supported XSD Elements and Attributes

      Not all XSD schema elements and attributes are supported by Siebel Business Applications. The following tables list all the XSD elements and attributes with Siebel CRM support levels for them. The following terminology is used in these tables:

      • Ignored. This level of support means that processing will continue, and an error is not generated. However, the information given for the specified element or attribute is ignored.

      • Mapped. This level of support means that the information specified in a given element or attribute is used in the integration object representation.

      • Not mapped. This level of support means that the given element or attribute information is not used. However, children of the element will be processed.

      • Note: The Siebel application does not perform any formatting or processing for any of the schema types. All the scalar types such as string, ID, or integer are treated as strings. When converted to an integration object and integration component field, DataType is set to DTYPE_TEXT.

      The following lists XSD schema elements and the level of support for them in Siebel Business Applications.

      Table XSD Schema Elements and Siebel CRM Support Level

      Element Siebel CRM Support Level Details

      all

      Not mapped. Treated as sequence.

      Not applicable

      annotation

      Mapped

      Mapped as a parent's comment property.

      Children can be mapped only if parent of annotation is mapped to a component or field.

      any

      Mapped

      Mapped as a XML Hierarchy if namespace attribute cannot be resolved to a schema import definition.

      Otherwise, all global elements logically replace the any element that are then mapped to an integration object using rules for elements.

      Acts as a placeholder for any element.

      For more information about this element, see Integration Platform Technologies: Siebel Enterprise Application Integration.

      anyAttribute

      Mapped

      Same as the any element.

      Act as a placeholder for any attribute.

      For more information about this element, see Integration Platform Technologies: Siebel Enterprise Application Integration.

      appinfo

      Ignored

      Not applicable

      attribute

      Mapped

      Mapped as a field.

      Storing type information is useful when generating schema either after importing one or manually creating one. Also, useful for type specific formatting, such as xsd:datetime.

      attributeGroup

      Mapped

      Mapped as children attributes that are added as fields to the parent element's component.

      choice

      Not mapped. Treated as sequence.

      Not applicable

      complexContent

      Mapped

      Mapped to add properties and children to the parent element's component.

      Attributes can affect parent (complexType) and children when restriction and extension are processed.

      complexType

      Mapped

      Mapped if global complexType is starting point for integration object that maps to root component.

      Also mapped when XSDTypeName and XSDTypeNamespace user properties are set on the root or elements component.

      documentation

      Mapped

      Mapped if Comment property is on a field, component, or object.

      element

      Mapped

      Mapped as a component or field.

      If element is of simpleType and maxOccurs is at most 1, then map to field, otherwise map to component (complexType).

      enumeration

      Ignored

      Not applicable

      extension

      Mapped

      Mapped if merging base type and children into the parent.

      Extension element affects the parent for complexContent and simpleContent.

      field

      Ignored

      Not applicable

      group

      Mapped

      Mapped if adding children to the parent element's component.

      import

      Mapped

      Preprocessed to receive the additional schema.

      Resolve a schemaLocation reference by URI or Local (File).

      Whatever is defined in imported schema will belong to a different namespace.

      include

      Mapped

      Preprocessed to receive the additional schema.

      Resolve a schemaLocation reference by URL or Local (File).

      Whatever is defined in imported schema can belong to the same namespace.

      key

      Ignored

      Defines a unique key.

      keyref

      Ignored

      Defines fields for key.

      Keyref refers to a key that must exist in the document.

      length

      Mapped. Does not support lists.

      Mapped for field external length and length.

      Fixed length of string-based content. Also might mean length of a list (number of items).

      list

      Ignored

      Not applicable

      maxLength

      Mapped

      Mapped for field length.

      minExclusive, maxExclusive

      Ignored

      Not applicable

      minInclusive, maxInclusive

      Ignored

      Not applicable

      minLength

      Not mapped

      You can use minlength = 0 to indicate that a field can have zero characters, that is, it is optional. You must manually edit the XSD to specify the minLength value.

      notation

      Ignored

      Not applicable

      pattern

      Ignored

      Not applicable

      redefine

      Ignored

      Not applicable

      restriction

      Mapped

      Mapped when adding children to the parent component or field.

      Affects its parent: complexContent, simpleContent, simpleType.

      Remove the elements and attributes that are not specified as the restriction ones.

      Validate that the elements and attributes used in the restriction are present in the base type.

      schema

      Mapped

      Namespace information used for object, component, and field.

      selector

      Ignored

      Not applicable

      sequence

      Not mapped

      Not applicable

      simpleContent

      Mapped

      Mapped when adding properties and children to the parent element's component.

      simpleType

      Mapped

      XSDTypeName and XSDTypeNamespace user properties on parent element's field or component, or attribute's field.

      union

      Ignored

      Not applicable

      unique

      Ignored

      Not applicable

      The following lists XSD schema attributes and the level of support for them in Siebel Business Applications.

      Table XSD Schema Attributes and Siebel CRM Support Level

      Attribute Siebel CRM Support Level Details

      abstract

      Ignored

      Not applicable

      attributeFormDefault

      Ignored

      Not applicable

      base

      Mapped

      Mapped if base type is used to create component or field.

      block

      Ignored

      Not applicable

      blockDefault

      Ignored

      Not applicable

      default: attribute

      Mapped

      Mapped to XML Literal value property only.

      Provides default value for an attribute when an attribute is missing.

      default: element

      Mapped

      Mapped to XML Literal value property only.

      Provides default value for an element when an element is empty.

      elementFormDefault

      Ignored

      Not applicable

      final

      Ignored

      Not applicable

      finalDefault

      Ignored

      Not applicable

      fixed: attribute or element

      Ignored

      Not applicable

      fixed: simpleType

      Ignored

      Not applicable

      form

      Ignored

      Not applicable

      itemType

      Ignored

      Not applicable

      maxOccurs

      Mapped

      Maps to the cardinality upper bound on parent element's component. Maps to One or More (unbounded).

      If you want to preserve the maximum number of occurrences, then new column is needed.

      memberTypes

      Ignored

      Not applicable

      minOccurs

      Mapped

      Maps to the cardinality lower bound on parent element's component. Maps to Zero or One.

      If you want to preserve the minimum number of occurrences, then new column is needed.

      mixed

      Ignored

      Not applicable

      name

      Mapped

      Maps to the XML Tag of parent element (component, field) or attribute field or to the XSD Type Name on object, component, or field.

      Name of the schema component.

      namespace: any, anyAttribute

      Mapped

      Namespace for the replacement elements and attributes.

      namespace: import

      Mapped

      Maps to Namespace and XSDNamespace user property on components and fields that are being imported.

      Namespace for the imported elements and attributes.

      nillable

      Ignored

      Not applicable

      processContents

      Ignored

      Not applicable

      public

      Ignored

      Not applicable

      ref

      Mapped

      Mapped if metadata starting from global element or attribute that is being referred to is copied to the referring element (component, field) or attribute field.

      schemaLocation

      Mapped

      Mapped if used for preprocessing of import or include

      substitutionGroup

      Ignored

      Not applicable

      targetNamespace

      Mapped

      Maps toXSD Type Namespace andXML Tag Namespace user properties on the integration object, imported component, or field.

      Schema targetNamespace to which all schema components definitions in a particular schema belong (children of schema element).

      type

      Mapped

      Maps to XSDTypeName user property on element's component or field, or attribute's field.

      use

      Ignored

      Not applicable

      version

      Ignored

      Not applicable

      whitespace

      Ignored

      Not applicable

      xpath

      Ignored

      Not applicable

      Structure of XSD XML Integration Objects

      The structure of an XSD XML integration object is same as any other integration object. This topic discusses properties specific to XSD XML integration objects.

      Note: For details on integration objects, see Integration Platform Technologies: Siebel Enterprise Application Integration.

        XSD-Specific Integration Object Properties

        The following information lists the integration object property that is used to represent XSD as an XML integration Object.

        Table Integration Object Properties for Representing XSD

        Name Project Base Object Type XML Tag

        Name of the integration object. The value is provided through the wizard.

        The project that the integration object is built in. The value is provided through the wizard.

        XML

        XML Tag used to represent the integration object.

          XSD-Specific Integration Object User Properties

          The following information lists integration object user properties for representing XSD as an XML integration object.

          Table Integration Object User Properties for Representing XSD

          Name Value Description

          XMLTagNamespace

          targetNamespace

          Namespace for the Element XML tags.

          XSDTypeName

          Name of the root complexType

          Name of the root complexType used to create the integration object. This is only used through WSDL Import.

          XSDTypeNamespace

          targetNamespace

          The namespace URI of the root complex type. This is only used through WSDL Import.

            XSD-Specific Integration Component Properties

            The following information lists the integration component property for representing XSD as an XML integration component.

            Table Integration Component Properties for Representing XSD

            External Name Context Name External Name External Sequence Cardinality XML Tag XML Sequence

            XPath to the schema component starting with the global element

            XML Tag plus a sequence number to make component name unique within the integration object

            Element name

            XML Sequence

            Based on minOccurs or maxOccurs

            Element Name

            Sequence within parent element

              XSD-Specific Integration Component User Properties

              The following information lists integration component user properties for representing XSD as an XML integration component.

              Table Integration Component User Properties for Representing XSD

              Name Value Description

              XMLTagNamespace

              targetNamespace

              Namespace for the Element XML tags.

              XSDTypeName

              Component element type attribute

              Type of the element. For instance, for element type="xyz", XSDTypeName=xyz.

              XSDTypeNamespace

              NamespaceURI for element type

              Namespace for the element type. This is the Namespace URI for the element's type name.

                XSD-Specific Integration Component Field Properties

                The following information lists the integration component field property for representing XSD as an XML integration component.

                Table Integration Component Field Properties for Representing XSD

                Name Data Type Length External Name External Length XML Literal Value

                XML Tag

                DTYPE_TEXT

                maxLength or length

                Attribute or element name

                Length

                fixed or default

                  XSD-Specific Integration Component Field User Properties

                  The following information lists integration component field user properties for representing XSD as an XML integration component.

                  Table Integration Component Field User Properties for Representing XSD

                  Name Value Description

                  XMLTagNamespace

                  targetNamespace

                  Namespace for element or attribute XML tags.

                  XSDTypeName

                  Field element or attribute XML Schema type name

                  Type of the element or attribute. For instance, for element type ="xyz", XSDTypeName=xyz.

                  XSDTypeNamespace

                  NamespaceURI for element or attribute type

                  Namespace for the element or attribute type. In effect, this is the Namespace URI for the element's or attribute’s type name.