Hi Romina,

here attached is the schema with the base64 attribute added.

I haven't not added yet the XmlAttribute as currently OpenWFE simply
appends the XML fragment it contains inside of a <raw-xml/>. That's
quite handy, but of course we could change this and do something like :

<raw-xml>
  <![CDATA[
    ...the xml...
  ]]>
</raw-xml>

What do you think ?


Best regards,

-- 
john.mettraux @ openwfe.org  -///-  http://www.openwfe.org
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!--W3C Schema generated by XMLSpy v2006 U (http://www.altova.com)-->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"; 
elementFormDefault="qualified">
   <xs:element name="workitem">
      <xs:complexType>
         <xs:sequence>
            <xs:element name="attributes">
               <xs:complexType>
                  <xs:sequence>
                     <xs:element name="smap" type="smapType"/>
                  </xs:sequence>
               </xs:complexType>
            </xs:element>
            <xs:element name="last-expression-id">
               <xs:complexType>
                  <xs:sequence>
                     <xs:element name="flow-expression-id">
                        <xs:complexType>
                           <xs:attribute name="engine-id" type="xs:string" 
use="required"/>
                           <xs:attribute name="initial-engine-id" 
type="xs:string" use="required"/>
                           <xs:attribute name="workflow-definition-url" 
type="xs:anyURI" use="required"/>
                           <xs:attribute name="workflow-definition-name" 
type="xs:string" use="required"/>
                           <xs:attribute name="workflow-definition-revision" 
type="xs:string" use="required"/>
                           <xs:attribute name="workflow-instance-id" 
type="xs:string" use="required"/>
                           <xs:attribute name="expression-name" 
type="xs:string" use="required"/>
                           <xs:attribute name="expression-id" type="xs:string" 
use="required"/>
                        </xs:complexType>
                     </xs:element>
                  </xs:sequence>
               </xs:complexType>
            </xs:element>
            <xs:element name="history">
               <xs:complexType>
                  <xs:sequence>
                     <xs:element name="history-item" maxOccurs="unbounded">
                        <xs:complexType mixed="true">
                           <xs:attribute name="date" type="xs:string" 
use="required"/>
                           <xs:attribute name="author" type="xs:string" 
use="required"/>
                           <xs:attribute name="host" type="xs:string" 
use="required"/>
                           <xs:attribute name="workflow-definition-name" 
type="xs:string" use="required"/>
                           <xs:attribute name="workflow-definition-revision" 
type="xs:string" use="required"/>
                           <xs:attribute name="workflow-instance-id" 
type="xs:string" use="required"/>
                           <xs:attribute name="expression-id" type="xs:string" 
use="required"/>
                        </xs:complexType>
                     </xs:element>
                  </xs:sequence>
               </xs:complexType>
            </xs:element>
         </xs:sequence>
         <xs:attribute name="last-modified" type="xs:string" use="required"/>
         <xs:attribute name="participant-name" type="xs:string" use="required"/>
         <xs:attribute name="dispatch-time" type="xs:string" use="required"/>
      </xs:complexType>
   </xs:element>
   <xs:complexType name="valueType">
      <xs:choice minOccurs="0" maxOccurs="unbounded">
         <xs:element name="string" type="xs:string"/>
         <xs:element name="integer" type="xs:integer"/>
         <xs:element name="long" type="xs:long"/>
         <xs:element name="boolean" type="xs:boolean"/>
         <xs:element name="double" type="xs:double"/>
         <xs:element name="base64" type="xs:string"/>
         <!--<xs:element name="raw-xml" type="xs:string"/>-->

         <xs:element name="list" type="valueType"/>
         <xs:element name="smap" type="smapType"/>
         <xs:element name="map" type="mapType"/>
      </xs:choice>
   </xs:complexType>
   <xs:complexType name="smapType">
      <xs:sequence>
         <xs:element name="entry" type="entrySmapType" maxOccurs="unbounded"/>
      </xs:sequence>
   </xs:complexType>
   <!--
   <xs:complexType name="keySmapType">
      <xs:sequence>
         <xs:element name="string" type="xs:string"/>
      </xs:sequence>
   </xs:complexType>
   -->
   <xs:complexType name="entrySmapType">
      <xs:sequence>
         <!--<xs:element name="key" type="keySmapType"/>-->
         <xs:element name="key" type="xs:string"/>
         <xs:element name="value" type="valueType"/>
      </xs:sequence>
   </xs:complexType>
   <xs:complexType name="mapType">
      <xs:sequence>
         <xs:element name="entry" type="entryMapType" minOccurs="0" 
maxOccurs="unbounded"/>
      </xs:sequence>
   </xs:complexType>
   <xs:complexType name="entryMapType">
      <xs:sequence>
         <xs:element name="key" type="valueType"/>
         <xs:element name="value" type="valueType"/>
      </xs:sequence>
   </xs:complexType>
</xs:schema>

Reply via email to