Mapping XSD to BPM Components

This sections explains how XML Schema Definition (XSD) types map to BPM components and PBL types when cataloging XSD components.

The document structures defined in the XSD are converted to regular BPM components.

For each complex XSD type, a new BPM Component is generated. XML elements and XML attributes become attributes of the BPM components. All generated XSD components inherit from the standard Fuego.Xml.XMLObject component (refer to the Oracle BPM Components Reference).

If the type of an XML element is complex, then the type of the associated component attribute will be of that of the component created for that complex type. For example, if a complex <customer> element includes a complex <address> element, you get two BPM components (Customer and Address) and the Customer component contains an attribute named address of type Address.

Renamed elements and attributes

The naming conventions on Java and PBL dictate that component names should start with uppercase letters and attribute names should start with lowercase letters. All names should use "camel-case" to separate words and not use underscores ("_").

When cataloging XSDs, the generated components' attributes will follow Java conventions and the original XML element and attribute names will be converted if necessary.

For example, if an XSD defines an type named purchase_order, the corresponding BPM component is named PurchaseOrder.

Simple XSD to PBL types

Simple XML types are mapped to simple PBL as defined in the following table:
XSD Type PBL Type
base64Binary Binary
hexBinary Binary
anyURI String
anguage String
normalizedString String
string String
token String
byte Int(8)
decimal Decimal
double Real
float Real(32)
int Int
integer int(64)
long int(64)
negativeInteger Int(64)
nonNegativeInteger Int(64)
nonPositiveInteger Int(64)
positiveInteger Int(64)
short Int(16)
unsignedByte Int(8)
unsignedInt Int
unsignedLong Int(64)
unsignedShort Int(16)
date Time
dateTime Time
duration Interval
gDay Int
gMonth Int
gMonthDay Time
gYear Int(16)
gYearMonth Time
time Time
anyType Fuego.Xml.XMLObject
anySimpleType String
Name String
NCName String
NOTATION String
QName String
ENTITY String
ENTITIES String[]
ID String
IDREF String
IDREFS String[]
NMTOKEN String
NMTOKENS String[]

Related concepts
Important Considerations