Web Service CML XML Schema

Document created by resplin Employee on Jun 6, 2015
Version 1Show Document
  • View in full screen mode

{{Obsolete}}

Please note that this API has been superceded by CMIS (specifically, the CMIS SOAP binding).  It's use is no longer recommended. This functionality was removed from Alfresco in 5.0.b.




<xsd:schema targetNamespace='http://www.alfresco.org/cml' xmlns:xsd='http://www.w3.org/2001/XMLSchema' xmlns:cml='http://www.alfresco.org/cml' xmlns:alf='http://www.alfresco.org/cms' version='0.1'>

    <xsd:annotation>
     <xsd:documentation>
      Alfresco Web Services for Content Management. CML - Content Manipulation Language - Draft.
     </xsd:documentation>
    </xsd:annotation>

<xsd:import namespace='http://www.alfresco.org/cms' schemaLocation='types.xsd'></xsd:import>

<xsd:element name='cml'>
  <xsd:complexType>
   <xsd:sequence>
  
                <xsd:annotation>
                 <xsd:documentation>The CML statements.</xsd:documentation>
                </xsd:annotation>
               
                <xsd:element name='create' maxOccurs='unbounded' minOccurs='0'>
     <xsd:complexType>
      <xsd:sequence>
          <xsd:element name='id' type='xsd:string' maxOccurs='1' minOccurs='0'></xsd:element>
       <xsd:element name='parent' type='alf:ParentReference'></xsd:element>
       <xsd:element name='type' type='alf:Name' maxOccurs='1' minOccurs='0'></xsd:element>
       <xsd:element name='property' type='alf:Property' maxOccurs='unbounded' minOccurs='0'></xsd:element>
      </xsd:sequence>
     </xsd:complexType>
    </xsd:element>
   
    <xsd:element name='addAspect' maxOccurs='unbounded' minOccurs='0'>
     <xsd:complexType>
      <xsd:sequence>
       <xsd:element name='aspect' type='alf:Name'></xsd:element>
       <xsd:element name='property' type='alf:Property' maxOccurs='unbounded' minOccurs='0'></xsd:element>
       <xsd:group ref='cml:Where'></xsd:group>
      </xsd:sequence>
     </xsd:complexType>
    </xsd:element>
   
    <xsd:element name='update' maxOccurs='unbounded' minOccurs='0'>
     <xsd:complexType>
      <xsd:sequence>
       <xsd:element name='property' type='alf:Property' maxOccurs='unbounded' minOccurs='1'></xsd:element>
       <xsd:group ref='cml:Where'></xsd:group>
      </xsd:sequence>
     </xsd:complexType>
    </xsd:element>
   
    <xsd:element name='delete' maxOccurs='unbounded' minOccurs='0'>
     <xsd:complexType>
      <xsd:sequence>
       <xsd:element name='where' type='alf:Predicate'></xsd:element>
      </xsd:sequence>
     </xsd:complexType>
    </xsd:element>
   
    <xsd:element name='move' maxOccurs='unbounded' minOccurs='0'>
     <xsd:complexType>
      <xsd:sequence>
       <xsd:group ref='cml:ToParent'></xsd:group>
       <xsd:group ref='cml:Where'></xsd:group>
      </xsd:sequence>
     </xsd:complexType>
    </xsd:element>
   
    <xsd:element name='copy' maxOccurs='unbounded' minOccurs='0'>
     <xsd:complexType>
      <xsd:sequence>
       <xsd:group ref='cml:ToParent'></xsd:group>
       <xsd:group ref='cml:Where'></xsd:group>
       <xsd:element name='children' type='xsd:boolean' default='false' maxOccurs='1' minOccurs='0'></xsd:element>
      </xsd:sequence>
     </xsd:complexType>
    </xsd:element>
   
    <xsd:element name='addChild' maxOccurs='unbounded' minOccurs='0'>
     <xsd:complexType>
      <xsd:sequence>
       <xsd:group ref='cml:ToParent'></xsd:group>
       <xsd:group ref='cml:Where'></xsd:group>
      </xsd:sequence>
     </xsd:complexType>
    </xsd:element>
   
    <xsd:element name='removeChild' maxOccurs='unbounded' minOccurs='0'>
     <xsd:complexType>
      <xsd:sequence>
       <xsd:choice>
        <xsd:element name='from' type='alf:Reference'></xsd:element>
        <xsd:element name='from_id' type='xsd:string'></xsd:element>
       </xsd:choice>
       <xsd:group ref='cml:Where'></xsd:group>
      </xsd:sequence>
     </xsd:complexType>
    </xsd:element>
   
    <xsd:element name='createAssociation' maxOccurs='unbounded' minOccurs='0'>
     <xsd:complexType>
      <xsd:sequence>
       <xsd:group ref='cml:From'></xsd:group>
       <xsd:group ref='cml:To'></xsd:group>
       <xsd:element name='association' type='alf:Name'></xsd:element>
      </xsd:sequence>
     </xsd:complexType>
    </xsd:element>
   
    <xsd:element name='removeAssociation' maxOccurs='unbounded' minOccurs='0'>
     <xsd:complexType>
      <xsd:sequence>
       <xsd:group ref='cml:From'></xsd:group>
       <xsd:group ref='cml:To'></xsd:group>
       <xsd:element name='association' type='alf:Name'></xsd:element>
      </xsd:sequence>
     </xsd:complexType>
    </xsd:element>
   
   </xsd:sequence>
  </xsd:complexType>
 
 
 
 

  <xsd:unique name='NodeKey'>
   <xsd:selector xpath='create'/>
   <xsd:field xpath='id'/>
  </xsd:unique>

  <xsd:keyref name='WhereReference' refer='cml:NodeKey'>
   <xsd:selector xpath='*/.'/>
   <xsd:field xpath='where_id'/>
  </xsd:keyref>

  <xsd:keyref name='ToReference' refer='cml:NodeKey'>
   <xsd:selector xpath='*/.'/>
   <xsd:field xpath='to_id'/>
  </xsd:keyref>

  <xsd:keyref name='FromReference' refer='cml:NodeKey'>
   <xsd:selector xpath='*/.'/>
   <xsd:field xpath='from_id'/>
  </xsd:keyref>
 
</xsd:element>





<xsd:group name='Where'>
  <xsd:choice>
   <xsd:element name='where' type='alf:Predicate'></xsd:element>
   <xsd:element name='where_id' type='xsd:string'></xsd:element>
  </xsd:choice>
</xsd:group>

<xsd:group name='From'>
  <xsd:choice>
   <xsd:element name='from' type='alf:Predicate'></xsd:element>
   <xsd:element name='from_id' type='xsd:string'></xsd:element>
  </xsd:choice>
</xsd:group>

<xsd:group name='To'>
  <xsd:choice>
   <xsd:element name='to' type='alf:Predicate'></xsd:element>
   <xsd:element name='to_id' type='xsd:string'></xsd:element>
  </xsd:choice>
</xsd:group>

<xsd:group name='ToParent'>
  <xsd:choice>
   <xsd:element name='to' type='alf:ParentReference'></xsd:element>
   <xsd:sequence>
    <xsd:element name='to_id' type='xsd:string'></xsd:element>
    <xsd:group ref='alf:ChildAssociation'></xsd:group>
   </xsd:sequence>
  </xsd:choice>
</xsd:group>      

</xsd:schema>

Attachments

    Outcomes