OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

ebxml-bp message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: Re: [ebxml-bp] [ebBP] 10/22/2004: Editors' Update and Reminder aboutTeam Call Today 8 a.m. PDT


Monica,

Here's what I've been working on the variable content model and aligning 
it to roles.

This is essential for multi-party collaborations - and in trying just a 
really plain
variable mechanism - it is not enough to support a basic implementation.

So we've added a couple more concepts - not much - to what's there 
already - but
that  buys much more flexibility and gets us out from under the rock of 
having to
pick an expression language - with a really neat and simple referencing use
of xs:IDs.  People can use XSD, XPath, XSLT, RELAX or CAM as they need.

Below is a sample instance of variables for an automotive scenario, and
attached is the XSD just for this part.

The critical thing is having enough function to support actual 
implementation
without making a burden to use.

I'm in the middle of documenting this all in Word doc too - just been really
hard getting this done and all project and other distractions this week.

We can discuss on the call.

Thanks, DW

==========================================
<Variables>
  <variableGroup name="default" nameIDREF="default01">
   <!-- the first variableGroup instance is automatically the default group
        that applies to all roles and partners.-->
   <Variable name="myvar1" definitionID="mydefn1" default="any"/>
   <Variable name="myvar2" definitionID="mydefn2"/>
   <Variable name="myvar3" definitionID="mydefn3"/>
  </variableGroup>
  <variableGroup name="for-GM-only" nameIDREF="gm01">
    <!-- subsequent variableGroup are referenced by name from ExternalRoles
         for specific participants / roles -->
   <Variable name="myvar1" definitionID="mydefn1" default="GM"/>
   <Variable name="myvar2" definitionID="mydefn2"/>
   <Variable name="myvar3" definitionID="mydefn3"/>
   <Variable name="gmvar1" definitionID="gmdefn1" default="Detroit"/>
   <Variable name="gmvar2" definitionID="mydefn4" default="Chevrolette"/>
  </variableGroup>
  <definitionSection>
   <!-- note - this could be referenced using an include also -->
   <definition definitionID="mydefn1" label="Value 1:" default="one">
     <detail expressionLanguage="XSD" returns="string">
       <!-- target syntax goes here -->
     </detail>
     <detail expressionLanguage="RELAX" returns="string">
       <!-- target syntax goes here -->
     </detail>
     <detail expressionLanguage="XSLT" returns="string">
       <!-- target syntax goes here -->
     </detail>
     <detail expressionLanguage="CAM" returns="string">
       <!-- target syntax goes here -->
     </detail>
   </definition>
   <definition definitionID="mydefn2" label="Value 2:" default="true" 
documentRef="purchaseOrder">
     <detail expressionLanguage="XPath" returns="boolean">
       <!-- target syntax goes here -->
     </detail>
     <detail expressionLanguage="XSLT" returns="boolean">
       <!-- target syntax goes here -->
     </detail>
     <detail expressionLanguage="CAM" returns="boolean">
       <!-- target syntax goes here -->
     </detail>
   </definition>
  </definitionSection>
</Variables>

<Variables>
  <variableGroup name="default" nameIDREF="default01">
   <!-- the first variableGroup instance is automatically the default group
        that applies to all roles and partners.-->
   <Variable name="myvar1" definitionID="mydefn1" default="any"/>
   <Variable name="myvar2" definitionID="mydefn2"/>
   <Variable name="myvar3" definitionID="mydefn3"/>
  </variableGroup>
  <variableGroup name="for-GM-only" nameIDREF="gm01">
    <!-- subsequent variableGroup are referenced by name from ExternalRoles
         for specific participants / roles -->
   <Variable name="myvar1" definitionID="mydefn1" default="GM"/>
   <Variable name="myvar2" definitionID="mydefn2"/>
   <Variable name="myvar3" definitionID="mydefn3"/>
   <Variable name="gmvar1" definitionID="gmdefn1" default="Detroit"/>
   <Variable name="gmvar2" definitionID="mydefn4" default="Chevrolette"/>
  </variableGroup>
  <definitionSection>
   <!-- note - this could be referenced using an include also -->
   <definition definitionID="mydefn1" label="Value 1:" default="one">
     <detail expressionLanguage="XSD" returns="string">
       <!-- target syntax goes here -->
     </detail>
     <detail expressionLanguage="RELAX" returns="string">
       <!-- target syntax goes here -->
     </detail>
     <detail expressionLanguage="XSLT" returns="string">
       <!-- target syntax goes here -->
     </detail>
     <detail expressionLanguage="CAM" returns="string">
       <!-- target syntax goes here -->
     </detail>
   </definition>
   <definition definitionID="mydefn2" label="Value 2:" default="true" documentRef="purchaseOrder">
     <detail expressionLanguage="XPath" returns="boolean">
       <!-- target syntax goes here -->
     </detail>
     <detail expressionLanguage="XSLT" returns="boolean">
       <!-- target syntax goes here -->
     </detail>
     <detail expressionLanguage="CAM" returns="boolean">
       <!-- target syntax goes here -->
     </detail>
   </definition>
  </definitionSection>
</Variables>
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"; elementFormDefault="qualified">
  <xs:element name="Variables">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="variableGroup" maxOccurs="unbounded">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="Variable" maxOccurs="unbounded">
                <xs:complexType>
                  <xs:attribute name="name" use="required" type="xs:string"/>
                  <xs:attribute name="definitionID" use="required" type="xs:ID"/>
                  <xs:attribute name="default" use="optional" type="xs:string"/>
                </xs:complexType>
              </xs:element>
            </xs:sequence>
            <xs:attribute name="name" use="required" type="xs:string"/>
            <xs:attribute name="nameIDREF" use="required" type="xs:ID"/>
          </xs:complexType>
        </xs:element>
        <xs:element name="definitionSection">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="definition" maxOccurs="unbounded">
                <xs:complexType mixed="true">
                  <xs:sequence>
                    <xs:element name="detail" maxOccurs="unbounded">
                      <xs:complexType>
                        <xs:choice>
                          <xs:any namespace="##any" processContents="lax"/>
                        </xs:choice>
                        <xs:attribute name="expressionLanguage" use="required">
                         <xs:simpleType>
                         <xs:restriction base="xs:NMTOKEN">
                         <xs:enumeration value="CAM"/>
                         <xs:enumeration value="RELAX"/>
                         <xs:enumeration value="XPath"/>
                         <xs:enumeration value="XSD"/>
                         <xs:enumeration value="XSLT"/>
                         </xs:restriction>
                         </xs:simpleType>
                        </xs:attribute>
                        <xs:attribute name="returns" use="required">
                         <xs:simpleType>
                         <xs:restriction base="xs:NMTOKEN">
                         <xs:enumeration value="xs:boolean"/>
                         <xs:enumeration value="xs:string"/>
                         <xs:enumeration value="xs:datetime"/>
                         <xs:enumeration value="xs:integer"/>
                         <xs:enumeration value="xs:decimal"/>
                         </xs:restriction>
                         </xs:simpleType>
                        </xs:attribute>
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                  <xs:attribute name="definitionID" use="required" type="xs:ID"/>
                  <xs:attribute name="label" type="xs:string" use="required"/>
                  <xs:attribute name="default" use="optional" type="xs:string"/>
                  <xs:attribute name="documentRef" type="xs:string"/>
                </xs:complexType>
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>

JPEG image



[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]