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
Launch Siebel Tools.
Select File, then New Object.
In the New Object Wizards window, select the EAI tab.
Double-click the Integration Object icon.
Complete the Integration Object Builder initial page:
Select the project from the first drop-down list.
Select EAI XSD Wizard as the Business Service.
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.
Select the source object, give it a unique name, and then click Next.
Click on the plus sign to expand the list and select or clear the fields you need from the component.
Click Next to get to the final page to review the messages generated during the process and take necessary action as required.
Click Finish to complete the process.
The integration object is displayed in the Integration Objects list.
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 Children can be mapped only if parent of annotation is mapped to a component or field. |
any |
Mapped |
Mapped as a XML Hierarchy if Otherwise, all global elements logically replace the 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 |
Mapped |
Mapped if global Also mapped when |
documentation |
Mapped |
Mapped if |
element |
Mapped |
Mapped as a component or field. If element is of |
enumeration |
Ignored |
Not applicable |
extension |
Mapped |
Mapped if merging base type and children into the parent. Extension element affects the parent for |
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: 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 Name of the schema component. |
namespace: any, anyAttribute |
Mapped |
Namespace for the replacement elements and attributes. |
namespace: import |
Mapped |
Maps to 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 to Schema targetNamespace to which all schema components definitions in a particular schema belong (children of schema element). |
type |
Mapped |
Maps to |
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.
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. |