You are viewing the documentation for Blueriq 17. Documentation for other versions is available in our documentation directory.

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 5 Next »

This page lists the behaviour of the Runtime when creating or parsing XML messages based on XSD schemas (SOAP and REST with schema sets). 


The behaviour is broken down by:

  • whether the message is being sent or being received
  • whether attributes and relations are inside a sequence or a choice
  • whether an element is mapped to an attribute or a relation
  • whether the attribute or relation is single-valued or multi-valued

1. Sending an XML message 

TBD

1.1 Sequences

TBD

1.1.1 Single-Valued Attributes


ValueSourceminOccursnillableResult
unknownsystem0*element not present
unknownsystem> 0*error
unknownuser0falseempty element
unknownuser0truenil element
unknownuser1falseempty element
unknownuser1truenil element
unknownuser> 1falseas many empty elements as required by minOccurs
unknownuser> 1trueas many nil elements as required by minOccurs
known***an element containing the value


1.1.2 Multi-Valued Attributes


ValueSourceminOccursnillableResult
unknownsystem0*no elements present
unknownsystem> 0*error
unknownuser0falseempty element
unknownuser0truenil element
unknownuser> 0falseas many empty elements as required by minOccurs
unknownuser> 0trueas many nil elements as required by minOccurs
known, count < minOccurs**falsecount elements with values, padded with empty elements as required by minOccurs
known, count < minOccurs**truecount elements with values, padded with nil elements as required by minOccurs
known, minOccurs <= count <= maxOccurs***as many elements as there are values, each element containing the corresponding value
known, maxOccurs < count***error


1.1.3 Single-Valued Relations

The source of relations is not used when handing unknown relations. Empty or nil tags are never created for relations, as that would lead to extra, unwanted instances on the receiving side.


ValueminOccursnillableResult
unknown0*element not present
unknown> 0*error
known, attributes and relations do not generate sub-elements*falseempty element
known, attributes and relations do not generate sub-elements*truenil element
known, at least one attribute or relation generates a sub-element**an element with sub-elements according to the rules on this page


1.1.4 Multi-Valued Relations

TBD

ValueminOccursnillableResult
unknown0*no elements present
unknown> 0*error
known, count < minOccurs**error
known, minOccurs <= count <= maxOccurs*falsecount elements
known, minOccurs <= count <= maxOccurs*truecount elements. If any of the instances do not generate sub-elements, the element corresponding to that instance is nil
known, maxOccurs < count**error


1.2 Choices

The behaviour of choices depends on the min/maxOccurs on the choice, the min/maxOccurs of the elements inside the choice, as well as the value and source of the attributes or relations mapped to those elements. 

It is possible to choose multiple times, as required by minOccurs and restricted by maxOccurs on the choice. When choosing a second time, the same element that was chosen 


1.2.1 Single-Valued Attributes

TBD

Choice minOccursElement AElement BResultExplanation
ValueSourceminOccursnillableValueSourceminOccursnillable
0unknownsystem**unknownsystem**no element is presentchosen 0 times, or chosen element A 0 times, or chosen element B 0 times
0unknownsystem**unknownuser0false<B/>chosen element B 1 time
0unknownsystem**unknownuser0true<B xsi:nil="true"/>chosen element B 1 time
0unknownsystem**unknownuser1false<B/>chosen element B 1 time
0unknownsystem**unknownuser1true<B xsi:nil="true"/>chosen element B 1 time
0unknownsystem**unknownuser> 1false

<B />

<B/>

chosen as many empty B elements as required by element B minOccurs, chosen 1 time
0unknownsystem**unknownuser> 1true

<B xsi:nil="true"/>

<B xsi:nil="true"/>

chosen as many nil B elements as required by element B minOccurs, chosen 1 time
0unknownsystem**known<= 1**

<B>value</B>


0unknownsystem**known> 1*false

<B>value</B>

<B/>

chosen 1 B element and padded with as many empty elements as required by minOccurs of element B, chosen 1 time
0unknownsystem**known> 1*true

<B>value</B>

<B xsi:nil="true"/>

chosen 1 B element and padded with as many nil elements as required by minOccurs of element B, chosen 1 time
0unknownuser0falseunknownsystem**<A>chosen element A 1 time
TBD









0unknownuser0trueunknownsystem**<A xsi:nil="true"/>chosen element A 1 time
TBD









0unknownuser1falseunknownsystem**<A>chosen element A 1 time
TBD









0unknownuser1trueunknownsystem**<A xsi:nil="true"/>chosen element A 1 time
TBD









0unknownuser> 1falseunknownsystem**

<A>value</A>

<A/>

chosen 1 A element and padded with as many empty elements as required by minOccurs of element A, chosen 1 time
TBD









0unknownuser> 1trueunknownsystem**

<A>value</A>

<A xsi:nil="true"/>

chosen 1 A element and padded with as many nil elements as required by minOccurs of element A, chosen 1 time
TBD










1.2.2 Multi-Valued Attributes

TBD

1.2.3 Single-Valued Relations

TBD

1.2.4 Multi-Valued Relations

TBD

2. Receiving an XML message

TBD

2.1 Sequences

TBD

2.1.1 Single-Valued Attributes

TBD

2.1.2 Multi-Valued Attributes

TBD

2.1.3 Single-Valued Relations

TBD

2.1.4 Multi-Valued Relations

TBD


2.2 Choices

TBD

2.2.1 Single-Valued Attributes

TBD

2.2.2 Multi-Valued Attributes

TBD

2.2.3 Single-Valued Relations

TBD

2.2.4 Multi-Valued Relations

TBD

  • No labels