Supported schema constructs and web service limitations


The AR System server supports most common schema constructs, but not all. The server does not perform XML validation, so developers must check the lists in this section to make sure the application uses only supported schema constructs.

Supported XML schema constructs

The following XML schema constructs are supported in AR System.

Elements

  • global element declaration
  • local element declaration
  • nillable for an element
  • minOccurs =0 for an element
  • default for an element
  • an element that has a ref to another element

Attributes

  • attribute
  • default for attributes
  • attributeGroup

Types

  • named simpleType
  • inlined simpleType
  • named complexType
  • inlined complexType

Derivation

  • complexType derived from complexContent by extension
  • complexType derived from complexContent by restriction
  • complexType derived from simpleContent by extension
  • simpleType derived from simpleContent by restriction
  • simpleType derived from simpleType by restriction (The restriction is ignored)

Model group

  • sequence directly under a complexType with maxOccurs =1 and minOccurs =1 (if maxOccurs and minOccurs are unspecified, they default to 1)
  • choice directly under a complexType with maxOccurs =1 and minOccurs =1
  • all directly under a complexType with maxOccurs =1 and minOccurs =1
  • sequence directly inside a sequence with maxOccurs =1 and minOccurs =1
  • choice directly inside a choice with maxOccurs =1 and minOccurs =1
  • choice directly inside a sequence with maxOccurs =1 and minOccurs =1
  • group
  • maxOccurs=unbounded for an element that is the sole child of a sequence. In all other situations, maxOccurs must be 1 or not be specified. Instead of maxOccurs=unbounded, it could also be maxOccurs=20 (or some other number greater than 1) in which case any XML generated by AR System would have 20 or fewer elements. This element must be of a complexType.
  • Namespaces
    • targetNamespace
    • chameleon namespaces
  • Multiple documents
    • include
    • import
  • Miscellaneous
    • annotation

The choice element

The choice element in the XML schema gives the flexibility of listing a set of elements. The XML instance document using this schema can specify only one of the elements mentioned for choice. But when you generate an output XML document from AR System forms, it is not obvious that you need to select only one of the choice elements. To resolve this, a choice node in the XML schema can be mapped to a character field. When an input XML document is received, the name of the element given for choice is stored in this character field. The value in this character field is used in generating the output XML document for choice.

In addition, consider these guidelines:

  • Direct or indirect children of choice cannot be mapped to another form.
  • Choice can have only elements. It cannot have an immediate choice, sequence, group, and so on.
  • A choice can appear in a sequence or in a complex type.
  • Recursion in choice is not allowed.
  • minOccurs attribute of choice can be 0 or 1. Any number greater than 1 or unbounded is not supported.
  • maxOccurs attribute of choice must be 1. Any number greater than 1 or unbounded is not supported.
  • Choice does not reset other items during a Set or Create operation. It sets only the item that is sent.

Unsupported XML schema constructs

The following XML schema constructs are not supported in AR System:

  • Recursive definitions
  • list
  • union
  • Type substitution
  • An element of a simpleType having maxOccurs >1
  • sequence with two elements having the same name
  • sequence with maxOccurs >1 or minOccurs =0
  • choice with maxOccurs >1 or minOccurs =0
  • all with maxOccurs >1 or minOccurs =0
  • sequence directly inside a choice
  • Multiple choices under a sequence
  • An element under a choice having maxOccurs >1
  • Multiple elements under a sequence with one or more of them having maxOccurs >1 (if there is only one element that could have maxOccurs >1)
  • substitutionGroup
  • redefine
  • noNamespaceSchemaLocation
  • any
  • anyAttribute
  • abstract
  • mixed="true"
  • IDIDREFNOTATIONnormalizedStringNCNameENTITYtokenlanguage (treated as strings, ignoring any restrictions)
  • Name (not supported)
  • IDREFSENTITIESNMTOKENS (not supported)
  • keyuniquekeyref (ignored)
  • Element level form attribute is not supported. Use the elementFormDefault attribute, defined in the <xsd:schema> tag.


 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*