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

 


Help: OASIS Mailing Lists Help | MarkMail Help

tamie-comment message

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


Subject: RE: [tamie-comment] XTemp v0.84 - questions


Thanks Stephen:

Your help is welcome - just don't forget to post all your contributions to this list so the TC can reuse them (due to IPR clearing).

Yes there are minor variations from the original schema - some renaming as well.
e.g.
start/@async --> start/@concurrent
start/@datetime --> start/@vptset

Regards,
Jacques


-----Original Message-----
From: Stephen Green [mailto:stephengreenubl@gmail.com]
Sent: Tuesday, October 05, 2010 11:13 AM
To: Jacques R. Durand
Cc: tamie-comment@lists.oasis-open.org
Subject: Re: [tamie-comment] XTemp v0.84 - questions

Greetings TaMIE TC

Good to see the progress on XTemp.

I was looking at the examples posted on the TC list lately and noticed some diversions from the schema at the location referenced in these examples.
Having been a participant in creating the schema previously I thought I'd update it to cater for these examples and I came up with the attached / below.
I think the TC, if it wishes to use the schema, will need to add a version id (and match this in the examples own schema-version-id attribute value).

Note: one of the examples (function.xtemp.xml) will only be valid to this schema if a namespace is added (and prefix) to the foreign 'report' element inside the start/with-param.

Also note I included the event model in the same schema.

Best regards

Stephen D Green

(JLTSL and DES)

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema";
elementFormDefault="qualified"
  targetNamespace="http://docs.oasis-open.org/tamie/xtemp/draft/20090909";
  xmlns="http://docs.oasis-open.org/tamie/xtemp/draft/20090909"; version="">
  <xs:element name="script-package" type="script-package_type"/>
  <xs:element name="call-adapter" type="call-adapter_type"/>
  <xs:element name="catch" type="catch_type"/>
  <xs:element name="decide" type="decide_type"/>
  <xs:element name="eval" type="eval_type"/>
  <xs:element name="exit" type="exit_type"/>
  <xs:element name="function" type="function_type"/>
  <xs:element name="if" type="if_type"/>
  <xs:element name="loop" type="loop_type"/>
  <xs:element name="message" type="message_type"/>
  <xs:element name="post" type="post_type"/>
  <xs:element name="scriplet" type="scriplet_type"/>
  <xs:element name="sleep" type="sleep_type"/>
  <xs:element name="start" type="start_type"/>
  <xs:element name="var" type="var_type"/>
  <xs:complexType name="call-adapter_type">
    <xs:sequence>
      <xs:element name="with-param" minOccurs="0" maxOccurs="unbounded">
        <xs:complexType>
          <xs:attribute name="expr" use="required" type="xs:normalizedString"/>
          <xs:attribute name="name" use="required" type="xs:normalizedString"/>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="name" use="required" type="xs:normalizedString"/>
    <xs:attribute name="type" type="xs:normalizedString"/>
  </xs:complexType>
  <xs:complexType name="catch_type">
    <xs:sequence>
      <xs:element name="match" maxOccurs="unbounded" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="condition" minOccurs="0" type="condition_type"/>
          </xs:sequence>
          <xs:attribute name="event" type="xs:normalizedString"/>
          <xs:attribute name="min" type="xs:integer"/>
          <xs:attribute name="after" type="xs:normalizedString"/>
          <xs:attribute name="view" type="xs:normalizedString"/>
        </xs:complexType>
      </xs:element>
      <xs:element minOccurs="0" name="date-time">
        <xs:complexType>
          <xs:attribute name="date" type="xs:normalizedString"/>
          <xs:attribute name="time" type="xs:normalizedString"/>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="following" type="xs:normalizedString"/>
    <xs:attribute name="start" type="xs:dateTime"/>
    <xs:attribute name="tryfor" type="xs:integer"/>
    <xs:attribute name="eb" type="xs:normalizedString"/>
    <xs:attribute name="event-set" type="xs:normalizedString"/>
    <xs:attribute name="event-batch" type="xs:normalizedString"/>
    <xs:attribute name="key" type="xs:normalizedString"/>
  </xs:complexType>
  <xs:complexType name="condition_type">
    <xs:simpleContent>
      <xs:extension base="xs:normalizedString">
        <xs:attribute name="complete" type="xs:dateTime"/>
        <xs:attribute name="key" type="xs:normalizedString"/>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="decide_type">
    <xs:sequence>
      <xs:element name="if" type="if_type"/>
      <xs:element name="else-if" type="if_type" maxOccurs="unbounded"
minOccurs="0"/>
      <xs:element name="else" type="if-else_type"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="decide_function_type">
    <xs:sequence>
      <xs:element name="if" type="if_function_type"/>
      <xs:element name="else-if" type="if_function_type"
maxOccurs="unbounded" minOccurs="0"/>
      <xs:element name="else" type="if-else_function_type"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="eval_type">
    <xs:attribute name="expr" use="required" type="xs:normalizedString"/>
  </xs:complexType>
  <xs:complexType name="execution-context_type">
    <xs:sequence>
      <xs:element name="nms-binding" maxOccurs="unbounded" minOccurs="0">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:anyURI">
              <xs:attribute name="prefix" use="required"
type="xs:normalizedString"/>
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="start-with">
        <xs:complexType>
          <xs:attribute name="scriplet" use="required"
type="xs:normalizedString"/>
        </xs:complexType>
      </xs:element>
      <xs:element maxOccurs="unbounded" name="var" minOccurs="0">
        <xs:complexType mixed="true">
          <xs:simpleContent>
            <xs:extension base="xs:normalizedString">
              <xs:attribute name="name" type="xs:normalizedString"
use="required"/>
              <xs:attribute name="type" type="xs:normalizedString"/>
              <xs:attribute name="expr" type="xs:normalizedString"/>
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="event-board" minOccurs="0" maxOccurs="unbounded">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="filter" maxOccurs="unbounded" minOccurs="0">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="condition" minOccurs="0"
type="condition_type"/>
                </xs:sequence>
                <xs:attribute name="name" type="xs:normalizedString"/>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
          <xs:attribute name="name" type="xs:normalizedString"/>
          <xs:attribute name="event-store" type="xs:normalizedString"/>
          <xs:attribute name="partitioned" type="xs:boolean"/>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="exit_function_type" mixed="true">
    <xs:sequence>
      <xs:group minOccurs="0" maxOccurs="unbounded" ref="mid-function_group"/>
    </xs:sequence>
    <xs:attribute name="message" type="xs:normalizedString"/>
    <xs:attribute name="result" type="xs:normalizedString"/>
  </xs:complexType>
  <xs:complexType name="exit_type" mixed="true">
    <xs:sequence>
      <xs:group minOccurs="0" maxOccurs="unbounded" ref="general_group"/>
    </xs:sequence>
    <xs:attribute name="message" type="xs:normalizedString"/>
    <xs:attribute name="result" type="xs:normalizedString"/>
  </xs:complexType>
  <xs:complexType name="function_type" mixed="true">
    <xs:sequence>
      <xs:element name="param" maxOccurs="unbounded" minOccurs="0">
        <xs:complexType>
          <xs:attribute name="name" use="required" type="xs:normalizedString"/>
          <xs:attribute name="type" type="xs:normalizedString"/>
        </xs:complexType>
      </xs:element>
      <xs:group minOccurs="0" maxOccurs="unbounded" ref="mid-function_group"/>
    </xs:sequence>
    <xs:attribute name="name" use="required" type="xs:normalizedString"/>
  </xs:complexType>
  <xs:complexType name="if_type" mixed="true">
    <xs:complexContent>
      <xs:extension base="if-else_type">
        <xs:attribute name="expr" use="required" type="xs:normalizedString"/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="if-else_type" mixed="true">
    <xs:choice>
      <xs:group maxOccurs="unbounded" minOccurs="0" ref="general_group"/>
    </xs:choice>
  </xs:complexType>
  <xs:complexType name="if_function_type" mixed="true">
    <xs:complexContent>
      <xs:extension base="if-else_function_type">
        <xs:attribute name="expr" use="required" type="xs:normalizedString"/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="if-else_function_type" mixed="true">
    <xs:choice>
      <xs:group maxOccurs="unbounded" minOccurs="0" ref="mid-function_group"/>
    </xs:choice>
  </xs:complexType>
  <xs:complexType name="loop_type">
    <xs:sequence>
      <xs:element name="on-start" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="loop-var" maxOccurs="unbounded" minOccurs="0">
              <xs:complexType mixed="true">
                <xs:simpleContent>
                  <xs:extension base="xs:normalizedString">
                    <xs:attribute name="expr" type="xs:normalizedString"/>
                    <xs:attribute name="name" use="required"
type="xs:normalizedString"/>
                    <xs:attribute name="type" type="xs:normalizedString"/>
                  </xs:extension>
                </xs:simpleContent>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:group maxOccurs="unbounded" minOccurs="0" ref="loop_group"/>
      <xs:element name="next-val" minOccurs="0" maxOccurs="unbounded">
        <xs:complexType mixed="true">
          <xs:simpleContent>
            <xs:extension base="xs:normalizedString">
              <xs:attribute name="expr" type="xs:normalizedString"/>
              <xs:attribute name="name" use="required"
type="xs:normalizedString"/>
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="on-final" minOccurs="0">
        <xs:complexType mixed="true">
          <xs:choice>
            <xs:group minOccurs="0" maxOccurs="unbounded" ref="on-final_group"/>
          </xs:choice>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="message_type" mixed="true">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" ref="eval"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="post_type" mixed="true">
    <xs:sequence>
      <xs:group minOccurs="0" maxOccurs="unbounded" ref="post_group"/>
    </xs:sequence>
    <xs:attribute name="event" type="xs:normalizedString"/>
    <xs:attribute name="message" type="xs:string"/>
  </xs:complexType>
  <xs:complexType name="scriplet_type" mixed="true">
    <xs:sequence>
      <xs:element name="param" maxOccurs="unbounded" minOccurs="0">
        <xs:complexType>
          <xs:attribute name="name" use="required" type="xs:normalizedString"/>
          <xs:attribute name="type" type="xs:normalizedString"/>
        </xs:complexType>
      </xs:element>
      <xs:group minOccurs="0" maxOccurs="unbounded" ref="general_group"/>
    </xs:sequence>
    <xs:attribute name="name" use="required" type="xs:normalizedString"/>
  </xs:complexType>
  <xs:complexType name="script-package_type">
    <xs:sequence>
      <xs:element name="execution-context"
type="execution-context_type" minOccurs="0"/>
      <xs:group minOccurs="0" maxOccurs="unbounded" ref="script-package_group"/>
    </xs:sequence>
    <xs:attribute name="name" type="xs:normalizedString"/>
    <xs:attribute name="schema-version-id" type="xs:normalizedString"/>
  </xs:complexType>
  <xs:complexType name="sleep_type">
    <xs:attribute name="unit" type="xs:normalizedString"/>
    <xs:attribute name="until" type="xs:dateTime"/>
  </xs:complexType>
  <xs:complexType name="start_type">
    <xs:sequence>
      <xs:element name="with-param" minOccurs="0" maxOccurs="unbounded">
        <xs:complexType mixed="true">
          <xs:group maxOccurs="unbounded" minOccurs="0" ref="with-param_group"/>
          <xs:attribute name="expr" type="xs:normalizedString"/>
          <xs:attribute name="name" use="required" type="xs:normalizedString"/>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="bubble-exit" type="xs:boolean"/>
    <xs:attribute name="scriplet" use="required" type="xs:normalizedString"/>
    <xs:attribute name="vptset" type="xs:normalizedString"/>
    <xs:attribute name="concurrent" type="xs:boolean"/>
  </xs:complexType>
  <xs:complexType name="var_type" mixed="true">
    <xs:group maxOccurs="unbounded" minOccurs="0" ref="general_group"/>
    <xs:attribute name="name" use="required" type="xs:normalizedString"/>
    <xs:attribute name="type" type="xs:normalizedString"/>
    <xs:attribute name="expr" type="xs:normalizedString"/>
  </xs:complexType>
  <xs:complexType name="var_function_type" mixed="true">
    <xs:group maxOccurs="unbounded" minOccurs="0" ref="mid-function_group"/>
    <xs:attribute name="name" use="required" type="xs:normalizedString"/>
    <xs:attribute name="type" type="xs:normalizedString"/>
  </xs:complexType>
  <xs:group name="general_group">
    <xs:choice>
      <xs:element ref="call-adapter"/>
      <xs:element ref="catch"/>
      <xs:element ref="decide"/>
      <xs:element ref="eval"/>
      <xs:element ref="exit"/>
      <xs:element ref="if"/>
      <xs:element ref="loop"/>
      <xs:element ref="message"/>
      <xs:element ref="post"/>
      <xs:element ref="sleep"/>
      <xs:element ref="start"/>
      <xs:element ref="var"/>
      <xs:any namespace="##other" processContents="lax"/>
    </xs:choice>
  </xs:group>
  <xs:group name="loop_group">
    <xs:choice>
      <xs:element ref="catch"/>
      <xs:element ref="decide"/>
      <xs:element ref="eval"/>
      <xs:element ref="exit"/>
      <xs:element ref="if"/>
      <xs:element ref="loop"/>
      <xs:element ref="message"/>
      <xs:element ref="start"/>
      <xs:element name="until">
        <xs:complexType>
          <xs:attribute name="expr" use="required" type="xs:normalizedString"/>
        </xs:complexType>
      </xs:element>
      <xs:element ref="var"/>
      <xs:any namespace="##other" processContents="lax"/>
    </xs:choice>
  </xs:group>
  <xs:group name="mid-function_group">
    <xs:choice>
      <xs:element name="decide" type="decide_function_type"/>
      <xs:element ref="eval"/>
      <xs:element name="exit" type="exit_function_type"/>
      <xs:element name="if" type="if_function_type"/>
      <xs:element ref="message"/>
      <xs:element name="var" type="var_function_type"/>
      <xs:any namespace="##other" processContents="lax"/>
    </xs:choice>
  </xs:group>
  <xs:group name="on-final_group">
    <xs:choice>
      <xs:element ref="catch"/>
      <xs:element ref="decide"/>
      <xs:element ref="eval"/>
      <xs:element ref="if"/>
      <xs:element ref="loop"/>
      <xs:element ref="message"/>
      <xs:element ref="start"/>
      <xs:element ref="var"/>
      <xs:any namespace="##other" processContents="lax"/>
    </xs:choice>
  </xs:group>
  <xs:group name="post_group">
    <xs:choice>
      <xs:element ref="catch"/>
      <xs:element ref="decide"/>
      <xs:element ref="eval"/>
      <xs:element ref="exit"/>
      <xs:element ref="if"/>
      <xs:element ref="loop"/>
      <xs:element ref="message"/>
      <xs:element ref="sleep"/>
      <xs:element ref="start"/>
      <xs:element ref="var"/>
      <xs:any namespace="##other" processContents="lax"/>
    </xs:choice>
  </xs:group>
  <xs:group name="script-package_group">
    <xs:choice>
      <xs:element ref="function"/>
      <xs:element ref="scriplet"/>
    </xs:choice>
  </xs:group>
  <xs:group name="with-param_group">
    <xs:choice>
      <xs:any namespace="##other" processContents="lax"/>
    </xs:choice>
  </xs:group>
  <xs:element name="event-board" type="event-board_type"/>
  <xs:element name="event" type="event_type"/>
  <xs:complexType name="content_type" mixed="true">
    <xs:sequence>
      <xs:any namespace="##any" processContents="skip"
maxOccurs="unbounded" minOccurs="0"/>
    </xs:sequence>
    <xs:attribute name="id" type="xs:normalizedString"/>
    <xs:attribute name="schema" type="xs:normalizedString"/>
  </xs:complexType>
  <xs:complexType name="event-board_type">
    <xs:sequence>
      <xs:element name="events" type="events_type"/>
    </xs:sequence>
    <xs:attribute name="schema-version-id" type="xs:normalizedString"/>
    <xs:attribute name="id" type="xs:normalizedString"/>
    <xs:attribute name="timestamp" type="xs:dateTime"/>
  </xs:complexType>
  <xs:complexType name="event_type">
    <xs:sequence>
      <xs:element name="content" type="content_type" minOccurs="0"/>
      <xs:element name="event-properties" type="event-properties_type"
minOccurs="0"/>
    </xs:sequence>
    <xs:attribute name="id" type="xs:normalizedString"/>
    <xs:attribute name="post-time" type="xs:dateTime"/>
    <xs:attribute name="origin-time" type="xs:dateTime"/>
    <xs:attribute name="event-type" type="xs:normalizedString"/>
  </xs:complexType>
  <xs:complexType name="events_type">
    <xs:sequence>
      <xs:element maxOccurs="unbounded" ref="event"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="event-properties_type">
    <xs:sequence>
      <xs:element maxOccurs="unbounded" minOccurs="0" name="property"
type="property_type"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="property_type" mixed="true">
    <xs:sequence>
      <xs:any namespace="##any" processContents="skip"
maxOccurs="unbounded" minOccurs="0"/>
    </xs:sequence>
    <xs:attribute name="name" type="xs:normalizedString"/>
  </xs:complexType>
</xs:schema>


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