[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
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]