Using a custom XML structure in the UserArea

If your custom data is too complex to fit in the standardProperty structure, you must use a custom XML structure.

By default, the UserArea elements in BODs are of type 'AnyType', because they can contain any data: standard properties, your custom structure, or anything else. In these situations, you must define an XSD in the Data Catalog:

  • To select your properties in ION Connect, in content-based routing or filtering.
  • To select your properties in an event monitor or an activation policy.

After adding your XSD to the Data Catalog as described later, your custom elements are displayed in the attribute selection windows in ION.

For example, assume you must add this custom data in the BOD UserArea:

<UserArea>
    <AcmeCustomContacts>
        <Contact>
            <Name>Someone</Name>
            <Email>someone@acme.com</Email>
        </Contact >
        <Contact>
            <Name>Someone Else</Name>
            <Email>someone.else@somewhere.com</Email>
        </Contact >
    </AcmeCustomContacts >
</UserArea>

In this case, you must complete these steps:

  1. Customize the connection point that sends the BOD, to fill the UserArea as required. Customize the connection point that receives the BOD, to handle the data.
  2. Create an XML Schema Definition (XSD) file to describe the added XML.
    For example, the AcmeCustomContacts.xsd file can contain this code:
    <?xml version="1.0" encoding="UTF-8"?>
    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
     elementFormDefault="qualified" attributeFormDefault="unqualified">
        <xs:element name="AcmeCustomContacts" type="AcmeCustomContactsType"/>
        <xs:complexType name="AcmeCustomContactsType">
            <xs:sequence>
                <xs:element name="Contact" type="ContactType" maxOccurs="unbounded"/>
            </xs:sequence>
        </xs:complexType>
        <xs:complexType name="ContactType">
            <xs:sequence>
                <xs:element name="Name" type="xs:string"/>
                <xs:element name="Email" type="xs:string"/>
            </xs:sequence>
        </xs:complexType>
    </xs:schema>
    Note: The XSD for a user area extension must have a single top-level element. To add multiple elements, put them under a single parent element.
  3. In ION, select Configure > User Area Extensions > Schema Files and add the XSD file to the Data Catalog.
  4. In ION, select Configure > User Area Extensions > Extensions. Map the schema file to the UserArea elements of the nouns that use the User Area Extension.
Note: For details about the Configure > User Area Extensions pages, see the Infor ION User Guide.