← Prev in month ← Prev in thread
Next in thread → Next in month →

context structure and mustUnderstand/mustPropagate

From
Mark Little <>
Date
2004-03-22T10:14:04+00:00
ID
027e01c40ff8$63f23420$850a090a@exhp
Thread
context structure and mustUnderstand/mustPropagate
If we look at the current context:

 

<xs:complexType 
name="ContextType">
 <xs:sequence>
  <xs:element 
name="context-identifier" type="xs:anyURI"/>
  <xs:element 
name="activity-service" type="xs:anyURI" 
minOccurs="0"/>
  <xs:element name="type" type="xs:anyURI" 
minOccurs="0"/>
  <xs:element name="activity-list" 
minOccurs="0">
   <xs:complexType>
    <xs:sequence>
     <xs:element 
name="service" type="xs:anyURI" minOccurs="0" 
maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:attribute 
name="mustUnderstand" type="xs:boolean" use="optional" 
default="false"/>
    <xs:attribute 
name="mustPropagate" type="xs:boolean" use="optional" 
default="false"/>
   </xs:complexType>
  </xs:element>
  <xs:element 
name="child-contexts" 
minOccurs="0">
  <xs:complexType>
   <xs:sequence>
    <xs:element 
name="child-context" type="tns:ContextType" 
maxOccurs="unbounded"/>
   </xs:sequence>
   </xs:complexType>
  </xs:element>
  <xs:any 
namespace="##other" processContents="lax" minOccurs="0" 
maxOccurs="unbounded"/>
 </xs:sequence>
 <xs:attribute 
name="timeout" type="xs:int" 
use="optional"/>
</xs:complexType>

 

the   idea  was  
that   the  ##other   would  be  the  
ALSs  extension
element.   However, this and other   
things  about the current context
structure   
are    broken (possibly   cut-and-paste  
errors  in   some
cases). For example, the mustUnderstand 
attribute is meant to apply to
a specific ALSs data, and not to the 
activity-list.

 

With that in mind, the context should probably look 
like:

 

<xs:complexType 
name="ContextType">
 <xs:sequence>
  <xs:element 
name="context-identifier" type="xs:anyURI"/>
  <xs:element 
name="activity-service" type="xs:anyURI" 
minOccurs="0"/>
  <xs:element name="type" type="xs:anyURI" 
minOccurs="0"/>
  <xs:attribute name="timeout" type="xs:int" 
use="optional"/>
  <xs:element name="activity-list" 
minOccurs="0">
   <xs:complexType>
    <xs:sequence>
     <xs:element 
name="service" type="xs:anyURI" minOccurs="0" 
maxOccurs="unbounded"/>
    </xs:sequence>
   </xs:complexType>
  </xs:element>
  <xs:element 
name="als-data" minOccurs="0">
   <xs:any 
namespace="##other" processContents="lax" minOccurs="0" 
maxOccurs="unbounded"/>
   <xs:attribute 
name="mustUnderstand" type="xs:boolean" use="optional" 
default="false"/>
   <xs:attribute name="mustPropagate" 
type="xs:boolean" use="optional" 
default="false"/>
  </xs:element>
  <xs:element 
name="child-contexts" 
minOccurs="0">
   <xs:complexType>
    <xs:sequence>
     <xs:element 
name="child-context" type="tns:ContextType" 
maxOccurs="unbounded"/>
    </xs:sequence>
   </xs:complexType>
  </xs:element>
 </xs:sequence>
</xs:complexType>

 

Mark.

 

----
Mark Little,
Chief Architect, 
Transactions,
Arjuna Technologies Ltd.
 
www.arjuna.com
← Prev in month ← Prev in thread
Next in thread → Next in month →