<?xml version="1.0" encoding="UTF-8"?>











<rss version="2.0">
  <channel>
    <title>Amsetwiki: Amset4createnode</title>
    <link>http://socket3.leeds.ac.uk:8080/amsetwiki/</link>
    <description>Wiki for JISC AMSeT Project</description>
    <language>en-us</language>
    <generator>JSPWiki 2.8.1</generator>
    <item>
      <link>http://socket3.leeds.ac.uk:8080/amsetwiki/Wiki.jsp?page=Amset4createnode&amp;version=-1</link>
      <title>Amset4createnode, version -1</title>
      <description>clayton created this page on Sun Sep 06 13:34:50 BST 2009:&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;&lt;h4 id="section-Amset4createnode-WorkflowNameAmset4createnode"&gt;Workflow Name: amset4createnode&lt;a class="hashlink" href="#section-Amset4createnode-WorkflowNameAmset4createnode"&gt;#&lt;/a&gt;&lt;/h4&gt;
&lt;h4 id="section-Amset4createnode-ConstituentServicesAuthenticationServiceRepositoryServiceInitCreateContentWSDateTimeWS"&gt;Constituent Services: AuthenticationService, RepositoryService, InitCreateContentWS, DateTimeWS&lt;a class="hashlink" href="#section-Amset4createnode-ConstituentServicesAuthenticationServiceRepositoryServiceInitCreateContentWSDateTimeWS"&gt;#&lt;/a&gt;&lt;/h4&gt;
&lt;h4 id="section-Amset4createnode-TechnicalNotes"&gt;Technical Notes&lt;a class="hashlink" href="#section-Amset4createnode-TechnicalNotes"&gt;#&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;Platform: GlassFishESB V2.1, NetBeans IDE 6.5 (including BPEL Designer, implementing WS-BPEL 2.0)&lt;br /&gt;
Java: 1.6.0_10; Java HotSpot(TM) Client VM 11.0-b15&lt;br /&gt;
System: Windows XP version 5.1 running on x86; Cp1252; en_GB (nb).
&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;Alfresco Labs 3.1 Final running on remote server, 64-bit Java 1.6.0_13, Tomcat 6 on Red Hat Enterprise Linux 5.
&lt;/p&gt;
&lt;p /&gt;
&lt;h4 id="section-Amset4createnode-WorkflowDescription"&gt;Workflow Description&lt;a class="hashlink" href="#section-Amset4createnode-WorkflowDescription"&gt;#&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;&lt;b&gt;CML: workflow within workflow&lt;/b&gt;
&lt;/p&gt;
&lt;p&gt;Alfresco uses XML in the form of the Content Manipulation Language (CML) to create statements that can be translated into executable form to perform repository tasks and workflows.  The &lt;tt&gt;update&lt;/tt&gt; operation of the &lt;tt&gt;Repository Service&lt;/tt&gt; accepts a sequence of CML statements for execution.  Hence, by stealth, &lt;tt&gt;RepositoryService.update()&lt;/tt&gt; can do just about anything.
&lt;/p&gt;
&lt;p&gt;There is documentation for creating CML statements programmatically for a range of client technologies such as plain Java, Java Web services, PHP and JavaScript, for example.  However, how the WSDL operation datatypes map to the Java API is not crystal clear and a bit of suck-it-and-see is required in terms of the SOAP request messages. 
&lt;/p&gt;
&lt;p&gt;Creating content in Alfresco is a two-stage process.  First a &lt;tt&gt;node &lt;/tt&gt; is created in the repository, then content is written to it.  To do the writing one can add a CML write statement to the one that creates the node, or else one can use the &lt;tt&gt;ContentService.write()&lt;/tt&gt; operation.  These options will be illustrated in the next couple of workflows.  Here, the &lt;tt&gt;node &lt;/tt&gt; is created only.
&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;Because of the operation-for-all-seasons role played by &lt;tt&gt;RepositoryService.update()&lt;/tt&gt;, the automatically generated input XML template is not brief, as shown below. 
&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Code snippet 4.1. Generated SOAP Body for initialisation of CreateNode workflow&lt;/b&gt;
&lt;/p&gt;
&lt;div class="prettify"&gt;
&lt;pre&gt;
&amp;lt;soapenv:Envelope xsi:schemaLocation=&amp;quot;http://schemas.xmlsoap.org/soap/envelope/ http://schemas.xmlsoap.org/soap/envelope/&amp;quot; xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot; xmlns:xsd=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot; xmlns:soapenv=&amp;quot;http://schemas.xmlsoap.org/soap/envelope/&amp;quot; xmlns:init=&amp;quot;http://j2ee.netbeans.org/wsdl/amset5createcontent1/InitCreateContentWS&amp;quot; xmlns:ns=&amp;quot;http://www.alfresco.org/ws/cml/1.0&amp;quot; xmlns:ns1=&amp;quot;http://www.alfresco.org/ws/model/content/1.0&amp;quot;&amp;gt;
  &amp;lt;soapenv:Body&amp;gt;
    &amp;lt;init:InitCreateContentWSOperation&amp;gt;
      &amp;lt;username&amp;gt;&amp;lt;/username&amp;gt;
      &amp;lt;password&amp;gt;&amp;lt;/password&amp;gt;
      &amp;lt;updateRequest&amp;gt;
        &amp;lt;!--Zero or more repetitions:--&amp;gt;
        &amp;lt;ns:create&amp;gt;
          &amp;lt;!--Optional:--&amp;gt;
          &amp;lt;ns:id&amp;gt;CreateNode&amp;lt;/ns:id&amp;gt;
          &amp;lt;!--Optional:--&amp;gt;
          &amp;lt;ns:parent&amp;gt;
            &amp;lt;!--Optional:--&amp;gt;
            &amp;lt;ns1:store&amp;gt;
              &amp;lt;!--Optional:--&amp;gt;
              &amp;lt;ns1:scheme&amp;gt;&amp;lt;/ns1:scheme&amp;gt;
              &amp;lt;!--Optional:--&amp;gt;
              &amp;lt;ns1:address&amp;gt;&amp;lt;/ns1:address&amp;gt;
            &amp;lt;/ns1:store&amp;gt;
            &amp;lt;!--Optional:--&amp;gt;
            &amp;lt;ns1:uuid&amp;gt;&amp;lt;/ns1:uuid&amp;gt;
            &amp;lt;!--Optional:--&amp;gt;
            &amp;lt;ns1:path&amp;gt;&amp;lt;/ns1:path&amp;gt;
            &amp;lt;!--Optional:--&amp;gt;
            &amp;lt;ns1:associationType&amp;gt;&amp;lt;/ns1:associationType&amp;gt;
            &amp;lt;!--Optional:--&amp;gt;
            &amp;lt;ns1:childName&amp;gt;&amp;lt;/ns1:childName&amp;gt;
          &amp;lt;/ns:parent&amp;gt;
          &amp;lt;!--Optional:--&amp;gt;
          &amp;lt;ns:parent_id&amp;gt;&amp;lt;/ns:parent_id&amp;gt;
          &amp;lt;!--Optional:--&amp;gt;
          &amp;lt;ns1:associationType&amp;gt;&amp;lt;/ns1:associationType&amp;gt;
          &amp;lt;!--Optional:--&amp;gt;
          &amp;lt;ns1:childName&amp;gt;&amp;lt;/ns1:childName&amp;gt;
          &amp;lt;!--Optional:--&amp;gt;
          &amp;lt;ns:type&amp;gt;&amp;lt;/ns:type&amp;gt;
          &amp;lt;!--Zero or more repetitions:--&amp;gt;
          &amp;lt;ns:property&amp;gt;
            &amp;lt;ns1:name&amp;gt;&amp;lt;/ns1:name&amp;gt;
            &amp;lt;ns1:isMultiValue&amp;gt;&amp;lt;/ns1:isMultiValue&amp;gt;
            &amp;lt;ns1:value&amp;gt;&amp;lt;/ns1:value&amp;gt;
            &amp;lt;!--Zero or more repetitions:--&amp;gt;
            &amp;lt;ns1:values&amp;gt;&amp;lt;/ns1:values&amp;gt;
          &amp;lt;/ns:property&amp;gt;
        &amp;lt;/ns:create&amp;gt;
        &amp;lt;!--Zero or more repetitions:--&amp;gt;
        &amp;lt;ns:addAspect&amp;gt;
          &amp;lt;ns:aspect&amp;gt;&amp;lt;/ns:aspect&amp;gt;
          &amp;lt;!--Zero or more repetitions:--&amp;gt;
          &amp;lt;ns:property&amp;gt;
            &amp;lt;ns1:name&amp;gt;&amp;lt;/ns1:name&amp;gt;
            &amp;lt;ns1:isMultiValue&amp;gt;&amp;lt;/ns1:isMultiValue&amp;gt;
            &amp;lt;ns1:value&amp;gt;&amp;lt;/ns1:value&amp;gt;
            &amp;lt;!--Zero or more repetitions:--&amp;gt;
            &amp;lt;ns1:values&amp;gt;&amp;lt;/ns1:values&amp;gt;
          &amp;lt;/ns:property&amp;gt;
          &amp;lt;!--You have a CHOICE of the next 2 items at this level--&amp;gt;
          &amp;lt;!--Optional:--&amp;gt;
          &amp;lt;ns:where&amp;gt;
            &amp;lt;!--You have a CHOICE of the next 2 items at this level--&amp;gt;
            &amp;lt;!--Zero or more repetitions:--&amp;gt;
            &amp;lt;ns1:nodes&amp;gt;
              &amp;lt;!--Optional:--&amp;gt;
              &amp;lt;ns1:store&amp;gt;
                &amp;lt;!--Optional:--&amp;gt;
                &amp;lt;ns1:scheme&amp;gt;&amp;lt;/ns1:scheme&amp;gt;
                &amp;lt;!--Optional:--&amp;gt;
                &amp;lt;ns1:address&amp;gt;&amp;lt;/ns1:address&amp;gt;
              &amp;lt;/ns1:store&amp;gt;
              &amp;lt;!--Optional:--&amp;gt;
              &amp;lt;ns1:uuid&amp;gt;&amp;lt;/ns1:uuid&amp;gt;
              &amp;lt;!--Optional:--&amp;gt;
              &amp;lt;ns1:path&amp;gt;&amp;lt;/ns1:path&amp;gt;
            &amp;lt;/ns1:nodes&amp;gt;
            &amp;lt;!--Optional:--&amp;gt;
            &amp;lt;ns1:store&amp;gt;
              &amp;lt;!--Optional:--&amp;gt;
              &amp;lt;ns1:scheme&amp;gt;&amp;lt;/ns1:scheme&amp;gt;
              &amp;lt;!--Optional:--&amp;gt;
              &amp;lt;ns1:address&amp;gt;&amp;lt;/ns1:address&amp;gt;
            &amp;lt;/ns1:store&amp;gt;
            &amp;lt;!--Optional:--&amp;gt;
            &amp;lt;ns1:query&amp;gt;
              &amp;lt;ns1:language&amp;gt;&amp;lt;/ns1:language&amp;gt;
              &amp;lt;ns1:statement&amp;gt;&amp;lt;/ns1:statement&amp;gt;
            &amp;lt;/ns1:query&amp;gt;
          &amp;lt;/ns:where&amp;gt;
          &amp;lt;!--Optional:--&amp;gt;
          &amp;lt;ns:where_id&amp;gt;&amp;lt;/ns:where_id&amp;gt;
        &amp;lt;/ns:addAspect&amp;gt;
        &amp;lt;!--Zero or more repetitions:--&amp;gt;
        &amp;lt;ns:removeAspect&amp;gt;
          &amp;lt;ns:aspect&amp;gt;&amp;lt;/ns:aspect&amp;gt;
          &amp;lt;!--You have a CHOICE of the next 2 items at this level--&amp;gt;
          &amp;lt;!--Optional:--&amp;gt;
          &amp;lt;ns:where&amp;gt;
            &amp;lt;!--You have a CHOICE of the next 2 items at this level--&amp;gt;
            &amp;lt;!--Zero or more repetitions:--&amp;gt;
            &amp;lt;ns1:nodes&amp;gt;
              &amp;lt;!--Optional:--&amp;gt;
              &amp;lt;ns1:store&amp;gt;
                &amp;lt;!--Optional:--&amp;gt;
                &amp;lt;ns1:scheme&amp;gt;&amp;lt;/ns1:scheme&amp;gt;
                &amp;lt;!--Optional:--&amp;gt;
                &amp;lt;ns1:address&amp;gt;&amp;lt;/ns1:address&amp;gt;
              &amp;lt;/ns1:store&amp;gt;
              &amp;lt;!--Optional:--&amp;gt;
              &amp;lt;ns1:uuid&amp;gt;&amp;lt;/ns1:uuid&amp;gt;
              &amp;lt;!--Optional:--&amp;gt;
              &amp;lt;ns1:path&amp;gt;&amp;lt;/ns1:path&amp;gt;
            &amp;lt;/ns1:nodes&amp;gt;
            &amp;lt;!--Optional:--&amp;gt;
            &amp;lt;ns1:store&amp;gt;
              &amp;lt;!--Optional:--&amp;gt;
              &amp;lt;ns1:scheme&amp;gt;&amp;lt;/ns1:scheme&amp;gt;
              &amp;lt;!--Optional:--&amp;gt;
              &amp;lt;ns1:address&amp;gt;&amp;lt;/ns1:address&amp;gt;
            &amp;lt;/ns1:store&amp;gt;
            &amp;lt;!--Optional:--&amp;gt;
            &amp;lt;ns1:query&amp;gt;
              &amp;lt;ns1:language&amp;gt;&amp;lt;/ns1:language&amp;gt;
              &amp;lt;ns1:statement&amp;gt;&amp;lt;/ns1:statement&amp;gt;
            &amp;lt;/ns1:query&amp;gt;
          &amp;lt;/ns:where&amp;gt;
          &amp;lt;!--Optional:--&amp;gt;
          &amp;lt;ns:where_id&amp;gt;&amp;lt;/ns:where_id&amp;gt;
        &amp;lt;/ns:removeAspect&amp;gt;
        &amp;lt;!--Zero or more repetitions:--&amp;gt;
        &amp;lt;ns:update&amp;gt;
          &amp;lt;!--1 or more repetitions:--&amp;gt;
          &amp;lt;ns:property&amp;gt;
            &amp;lt;ns1:name&amp;gt;&amp;lt;/ns1:name&amp;gt;
            &amp;lt;ns1:isMultiValue&amp;gt;&amp;lt;/ns1:isMultiValue&amp;gt;
            &amp;lt;ns1:value&amp;gt;&amp;lt;/ns1:value&amp;gt;
            &amp;lt;!--Zero or more repetitions:--&amp;gt;
            &amp;lt;ns1:values&amp;gt;&amp;lt;/ns1:values&amp;gt;
          &amp;lt;/ns:property&amp;gt;
          &amp;lt;!--You have a CHOICE of the next 2 items at this level--&amp;gt;
          &amp;lt;!--Optional:--&amp;gt;
          &amp;lt;ns:where&amp;gt;
            &amp;lt;!--You have a CHOICE of the next 2 items at this level--&amp;gt;
            &amp;lt;!--Zero or more repetitions:--&amp;gt;
            &amp;lt;ns1:nodes&amp;gt;
              &amp;lt;!--Optional:--&amp;gt;
              &amp;lt;ns1:store&amp;gt;
                &amp;lt;!--Optional:--&amp;gt;
                &amp;lt;ns1:scheme&amp;gt;&amp;lt;/ns1:scheme&amp;gt;
                &amp;lt;!--Optional:--&amp;gt;
                &amp;lt;ns1:address&amp;gt;&amp;lt;/ns1:address&amp;gt;
              &amp;lt;/ns1:store&amp;gt;
              &amp;lt;!--Optional:--&amp;gt;
              &amp;lt;ns1:uuid&amp;gt;&amp;lt;/ns1:uuid&amp;gt;
              &amp;lt;!--Optional:--&amp;gt;
              &amp;lt;ns1:path&amp;gt;&amp;lt;/ns1:path&amp;gt;
            &amp;lt;/ns1:nodes&amp;gt;
            &amp;lt;!--Optional:--&amp;gt;
            &amp;lt;ns1:store&amp;gt;
              &amp;lt;!--Optional:--&amp;gt;
              &amp;lt;ns1:scheme&amp;gt;&amp;lt;/ns1:scheme&amp;gt;
              &amp;lt;!--Optional:--&amp;gt;
              &amp;lt;ns1:address&amp;gt;&amp;lt;/ns1:address&amp;gt;
            &amp;lt;/ns1:store&amp;gt;
            &amp;lt;!--Optional:--&amp;gt;
            &amp;lt;ns1:query&amp;gt;
              &amp;lt;ns1:language&amp;gt;&amp;lt;/ns1:language&amp;gt;
              &amp;lt;ns1:statement&amp;gt;&amp;lt;/ns1:statement&amp;gt;
            &amp;lt;/ns1:query&amp;gt;
          &amp;lt;/ns:where&amp;gt;
          &amp;lt;!--Optional:--&amp;gt;
          &amp;lt;ns:where_id&amp;gt;&amp;lt;/ns:where_id&amp;gt;
        &amp;lt;/ns:update&amp;gt;
        &amp;lt;!--Zero or more repetitions:--&amp;gt;
        &amp;lt;ns:writeContent&amp;gt;
          &amp;lt;ns:property&amp;gt;&amp;lt;/ns:property&amp;gt;
          &amp;lt;ns:content&amp;gt;&amp;lt;/ns:content&amp;gt;
          &amp;lt;ns:format&amp;gt;
            &amp;lt;ns1:mimetype&amp;gt;&amp;lt;/ns1:mimetype&amp;gt;
            &amp;lt;!--Optional:--&amp;gt;
            &amp;lt;ns1:encoding&amp;gt;&amp;lt;/ns1:encoding&amp;gt;
          &amp;lt;/ns:format&amp;gt;
          &amp;lt;!--You have a CHOICE of the next 2 items at this level--&amp;gt;
          &amp;lt;!--Optional:--&amp;gt;
          &amp;lt;ns:where&amp;gt;
            &amp;lt;!--You have a CHOICE of the next 2 items at this level--&amp;gt;
            &amp;lt;!--Zero or more repetitions:--&amp;gt;
            &amp;lt;ns1:nodes&amp;gt;
              &amp;lt;!--Optional:--&amp;gt;
              &amp;lt;ns1:store&amp;gt;
                &amp;lt;!--Optional:--&amp;gt;
                &amp;lt;ns1:scheme&amp;gt;&amp;lt;/ns1:scheme&amp;gt;
                &amp;lt;!--Optional:--&amp;gt;
                &amp;lt;ns1:address&amp;gt;&amp;lt;/ns1:address&amp;gt;
              &amp;lt;/ns1:store&amp;gt;
              &amp;lt;!--Optional:--&amp;gt;
              &amp;lt;ns1:uuid&amp;gt;&amp;lt;/ns1:uuid&amp;gt;
              &amp;lt;!--Optional:--&amp;gt;
              &amp;lt;ns1:path&amp;gt;&amp;lt;/ns1:path&amp;gt;
            &amp;lt;/ns1:nodes&amp;gt;
            &amp;lt;!--Optional:--&amp;gt;
            &amp;lt;ns1:store&amp;gt;
              &amp;lt;!--Optional:--&amp;gt;
              &amp;lt;ns1:scheme&amp;gt;&amp;lt;/ns1:scheme&amp;gt;
              &amp;lt;!--Optional:--&amp;gt;
              &amp;lt;ns1:address&amp;gt;&amp;lt;/ns1:address&amp;gt;
            &amp;lt;/ns1:store&amp;gt;
            &amp;lt;!--Optional:--&amp;gt;
            &amp;lt;ns1:query&amp;gt;
              &amp;lt;ns1:language&amp;gt;&amp;lt;/ns1:language&amp;gt;
              &amp;lt;ns1:statement&amp;gt;&amp;lt;/ns1:statement&amp;gt;
            &amp;lt;/ns1:query&amp;gt;
          &amp;lt;/ns:where&amp;gt;
          &amp;lt;!--Optional:--&amp;gt;
          &amp;lt;ns:where_id&amp;gt;&amp;lt;/ns:where_id&amp;gt;
        &amp;lt;/ns:writeContent&amp;gt;
        &amp;lt;!--Zero or more repetitions:--&amp;gt;
        &amp;lt;ns:delete&amp;gt;
          &amp;lt;ns:where&amp;gt;
            &amp;lt;!--You have a CHOICE of the next 2 items at this level--&amp;gt;
            &amp;lt;!--Zero or more repetitions:--&amp;gt;
            &amp;lt;ns1:nodes&amp;gt;
              &amp;lt;!--Optional:--&amp;gt;
              &amp;lt;ns1:store&amp;gt;
                &amp;lt;!--Optional:--&amp;gt;
                &amp;lt;ns1:scheme&amp;gt;&amp;lt;/ns1:scheme&amp;gt;
                &amp;lt;!--Optional:--&amp;gt;
                &amp;lt;ns1:address&amp;gt;&amp;lt;/ns1:address&amp;gt;
              &amp;lt;/ns1:store&amp;gt;
              &amp;lt;!--Optional:--&amp;gt;
              &amp;lt;ns1:uuid&amp;gt;&amp;lt;/ns1:uuid&amp;gt;
              &amp;lt;!--Optional:--&amp;gt;
              &amp;lt;ns1:path&amp;gt;&amp;lt;/ns1:path&amp;gt;
            &amp;lt;/ns1:nodes&amp;gt;
            &amp;lt;!--Optional:--&amp;gt;
            &amp;lt;ns1:store&amp;gt;
              &amp;lt;!--Optional:--&amp;gt;
              &amp;lt;ns1:scheme&amp;gt;&amp;lt;/ns1:scheme&amp;gt;
              &amp;lt;!--Optional:--&amp;gt;
              &amp;lt;ns1:address&amp;gt;&amp;lt;/ns1:address&amp;gt;
            &amp;lt;/ns1:store&amp;gt;
            &amp;lt;!--Optional:--&amp;gt;
            &amp;lt;ns1:query&amp;gt;
              &amp;lt;ns1:language&amp;gt;&amp;lt;/ns1:language&amp;gt;
              &amp;lt;ns1:statement&amp;gt;&amp;lt;/ns1:statement&amp;gt;
            &amp;lt;/ns1:query&amp;gt;
          &amp;lt;/ns:where&amp;gt;
        &amp;lt;/ns:delete&amp;gt;
        &amp;lt;!--Zero or more repetitions:--&amp;gt;
        &amp;lt;ns:move&amp;gt;
          &amp;lt;!--You have a CHOICE of the next 2 items at this level--&amp;gt;
          &amp;lt;!--Optional:--&amp;gt;
          &amp;lt;ns:to&amp;gt;
            &amp;lt;!--Optional:--&amp;gt;
            &amp;lt;ns1:store&amp;gt;
              &amp;lt;!--Optional:--&amp;gt;
              &amp;lt;ns1:scheme&amp;gt;&amp;lt;/ns1:scheme&amp;gt;
              &amp;lt;!--Optional:--&amp;gt;
              &amp;lt;ns1:address&amp;gt;&amp;lt;/ns1:address&amp;gt;
            &amp;lt;/ns1:store&amp;gt;
            &amp;lt;!--Optional:--&amp;gt;
            &amp;lt;ns1:uuid&amp;gt;&amp;lt;/ns1:uuid&amp;gt;
            &amp;lt;!--Optional:--&amp;gt;
            &amp;lt;ns1:path&amp;gt;&amp;lt;/ns1:path&amp;gt;
            &amp;lt;!--Optional:--&amp;gt;
            &amp;lt;ns1:associationType&amp;gt;&amp;lt;/ns1:associationType&amp;gt;
            &amp;lt;!--Optional:--&amp;gt;
            &amp;lt;ns1:childName&amp;gt;&amp;lt;/ns1:childName&amp;gt;
          &amp;lt;/ns:to&amp;gt;
          &amp;lt;!--Optional:--&amp;gt;
          &amp;lt;ns:to_id&amp;gt;&amp;lt;/ns:to_id&amp;gt;
          &amp;lt;!--Optional:--&amp;gt;
          &amp;lt;ns1:associationType&amp;gt;&amp;lt;/ns1:associationType&amp;gt;
          &amp;lt;!--Optional:--&amp;gt;
          &amp;lt;ns1:childName&amp;gt;&amp;lt;/ns1:childName&amp;gt;
          &amp;lt;!--You have a CHOICE of the next 2 items at this level--&amp;gt;
          &amp;lt;!--Optional:--&amp;gt;
          &amp;lt;ns:where&amp;gt;
            &amp;lt;!--You have a CHOICE of the next 2 items at this level--&amp;gt;
            &amp;lt;!--Zero or more repetitions:--&amp;gt;
            &amp;lt;ns1:nodes&amp;gt;
              &amp;lt;!--Optional:--&amp;gt;
              &amp;lt;ns1:store&amp;gt;
                &amp;lt;!--Optional:--&amp;gt;
                &amp;lt;ns1:scheme&amp;gt;&amp;lt;/ns1:scheme&amp;gt;
                &amp;lt;!--Optional:--&amp;gt;
                &amp;lt;ns1:address&amp;gt;&amp;lt;/ns1:address&amp;gt;
              &amp;lt;/ns1:store&amp;gt;
              &amp;lt;!--Optional:--&amp;gt;
              &amp;lt;ns1:uuid&amp;gt;&amp;lt;/ns1:uuid&amp;gt;
              &amp;lt;!--Optional:--&amp;gt;
              &amp;lt;ns1:path&amp;gt;&amp;lt;/ns1:path&amp;gt;
            &amp;lt;/ns1:nodes&amp;gt;
            &amp;lt;!--Optional:--&amp;gt;
            &amp;lt;ns1:store&amp;gt;
              &amp;lt;!--Optional:--&amp;gt;
              &amp;lt;ns1:scheme&amp;gt;&amp;lt;/ns1:scheme&amp;gt;
              &amp;lt;!--Optional:--&amp;gt;
              &amp;lt;ns1:address&amp;gt;&amp;lt;/ns1:address&amp;gt;
            &amp;lt;/ns1:store&amp;gt;
            &amp;lt;!--Optional:--&amp;gt;
            &amp;lt;ns1:query&amp;gt;
              &amp;lt;ns1:language&amp;gt;&amp;lt;/ns1:language&amp;gt;
              &amp;lt;ns1:statement&amp;gt;&amp;lt;/ns1:statement&amp;gt;
            &amp;lt;/ns1:query&amp;gt;
          &amp;lt;/ns:where&amp;gt;
          &amp;lt;!--Optional:--&amp;gt;
          &amp;lt;ns:where_id&amp;gt;&amp;lt;/ns:where_id&amp;gt;
        &amp;lt;/ns:move&amp;gt;
        &amp;lt;!--Zero or more repetitions:--&amp;gt;
        &amp;lt;ns:copy&amp;gt;
          &amp;lt;!--You have a CHOICE of the next 2 items at this level--&amp;gt;
          &amp;lt;!--Optional:--&amp;gt;
          &amp;lt;ns:to&amp;gt;
            &amp;lt;!--Optional:--&amp;gt;
            &amp;lt;ns1:store&amp;gt;
              &amp;lt;!--Optional:--&amp;gt;
              &amp;lt;ns1:scheme&amp;gt;&amp;lt;/ns1:scheme&amp;gt;
              &amp;lt;!--Optional:--&amp;gt;
              &amp;lt;ns1:address&amp;gt;&amp;lt;/ns1:address&amp;gt;
            &amp;lt;/ns1:store&amp;gt;
            &amp;lt;!--Optional:--&amp;gt;
            &amp;lt;ns1:uuid&amp;gt;&amp;lt;/ns1:uuid&amp;gt;
            &amp;lt;!--Optional:--&amp;gt;
            &amp;lt;ns1:path&amp;gt;&amp;lt;/ns1:path&amp;gt;
            &amp;lt;!--Optional:--&amp;gt;
            &amp;lt;ns1:associationType&amp;gt;&amp;lt;/ns1:associationType&amp;gt;
            &amp;lt;!--Optional:--&amp;gt;
            &amp;lt;ns1:childName&amp;gt;&amp;lt;/ns1:childName&amp;gt;
          &amp;lt;/ns:to&amp;gt;
          &amp;lt;!--Optional:--&amp;gt;
          &amp;lt;ns:to_id&amp;gt;&amp;lt;/ns:to_id&amp;gt;
          &amp;lt;!--Optional:--&amp;gt;
          &amp;lt;ns1:associationType&amp;gt;&amp;lt;/ns1:associationType&amp;gt;
          &amp;lt;!--Optional:--&amp;gt;
          &amp;lt;ns1:childName&amp;gt;&amp;lt;/ns1:childName&amp;gt;
          &amp;lt;!--You have a CHOICE of the next 2 items at this level--&amp;gt;
          &amp;lt;!--Optional:--&amp;gt;
          &amp;lt;ns:where&amp;gt;
            &amp;lt;!--You have a CHOICE of the next 2 items at this level--&amp;gt;
            &amp;lt;!--Zero or more repetitions:--&amp;gt;
            &amp;lt;ns1:nodes&amp;gt;
              &amp;lt;!--Optional:--&amp;gt;
              &amp;lt;ns1:store&amp;gt;
                &amp;lt;!--Optional:--&amp;gt;
                &amp;lt;ns1:scheme&amp;gt;&amp;lt;/ns1:scheme&amp;gt;
                &amp;lt;!--Optional:--&amp;gt;
                &amp;lt;ns1:address&amp;gt;&amp;lt;/ns1:address&amp;gt;
              &amp;lt;/ns1:store&amp;gt;
              &amp;lt;!--Optional:--&amp;gt;
              &amp;lt;ns1:uuid&amp;gt;&amp;lt;/ns1:uuid&amp;gt;
              &amp;lt;!--Optional:--&amp;gt;
              &amp;lt;ns1:path&amp;gt;&amp;lt;/ns1:path&amp;gt;
            &amp;lt;/ns1:nodes&amp;gt;
            &amp;lt;!--Optional:--&amp;gt;
            &amp;lt;ns1:store&amp;gt;
              &amp;lt;!--Optional:--&amp;gt;
              &amp;lt;ns1:scheme&amp;gt;&amp;lt;/ns1:scheme&amp;gt;
              &amp;lt;!--Optional:--&amp;gt;
              &amp;lt;ns1:address&amp;gt;&amp;lt;/ns1:address&amp;gt;
            &amp;lt;/ns1:store&amp;gt;
            &amp;lt;!--Optional:--&amp;gt;
            &amp;lt;ns1:query&amp;gt;
              &amp;lt;ns1:language&amp;gt;&amp;lt;/ns1:language&amp;gt;
              &amp;lt;ns1:statement&amp;gt;&amp;lt;/ns1:statement&amp;gt;
            &amp;lt;/ns1:query&amp;gt;
          &amp;lt;/ns:where&amp;gt;
          &amp;lt;!--Optional:--&amp;gt;
          &amp;lt;ns:where_id&amp;gt;&amp;lt;/ns:where_id&amp;gt;
          &amp;lt;!--Optional:--&amp;gt;
          &amp;lt;ns:children&amp;gt;&amp;lt;/ns:children&amp;gt;
        &amp;lt;/ns:copy&amp;gt;
        &amp;lt;!--Zero or more repetitions:--&amp;gt;
        &amp;lt;ns:addChild&amp;gt;
          &amp;lt;!--You have a CHOICE of the next 2 items at this level--&amp;gt;
          &amp;lt;!--Optional:--&amp;gt;
          &amp;lt;ns:to&amp;gt;
            &amp;lt;!--Optional:--&amp;gt;
            &amp;lt;ns1:store&amp;gt;
              &amp;lt;!--Optional:--&amp;gt;
              &amp;lt;ns1:scheme&amp;gt;&amp;lt;/ns1:scheme&amp;gt;
              &amp;lt;!--Optional:--&amp;gt;
              &amp;lt;ns1:address&amp;gt;&amp;lt;/ns1:address&amp;gt;
            &amp;lt;/ns1:store&amp;gt;
            &amp;lt;!--Optional:--&amp;gt;
            &amp;lt;ns1:uuid&amp;gt;&amp;lt;/ns1:uuid&amp;gt;
            &amp;lt;!--Optional:--&amp;gt;
            &amp;lt;ns1:path&amp;gt;&amp;lt;/ns1:path&amp;gt;
            &amp;lt;!--Optional:--&amp;gt;
            &amp;lt;ns1:associationType&amp;gt;&amp;lt;/ns1:associationType&amp;gt;
            &amp;lt;!--Optional:--&amp;gt;
            &amp;lt;ns1:childName&amp;gt;&amp;lt;/ns1:childName&amp;gt;
          &amp;lt;/ns:to&amp;gt;
          &amp;lt;!--Optional:--&amp;gt;
          &amp;lt;ns:to_id&amp;gt;&amp;lt;/ns:to_id&amp;gt;
          &amp;lt;!--Optional:--&amp;gt;
          &amp;lt;ns1:associationType&amp;gt;&amp;lt;/ns1:associationType&amp;gt;
          &amp;lt;!--Optional:--&amp;gt;
          &amp;lt;ns1:childName&amp;gt;&amp;lt;/ns1:childName&amp;gt;
          &amp;lt;!--You have a CHOICE of the next 2 items at this level--&amp;gt;
          &amp;lt;!--Optional:--&amp;gt;
          &amp;lt;ns:where&amp;gt;
            &amp;lt;!--You have a CHOICE of the next 2 items at this level--&amp;gt;
            &amp;lt;!--Zero or more repetitions:--&amp;gt;
            &amp;lt;ns1:nodes&amp;gt;
              &amp;lt;!--Optional:--&amp;gt;
              &amp;lt;ns1:store&amp;gt;
                &amp;lt;!--Optional:--&amp;gt;
                &amp;lt;ns1:scheme&amp;gt;&amp;lt;/ns1:scheme&amp;gt;
                &amp;lt;!--Optional:--&amp;gt;
                &amp;lt;ns1:address&amp;gt;&amp;lt;/ns1:address&amp;gt;
              &amp;lt;/ns1:store&amp;gt;
              &amp;lt;!--Optional:--&amp;gt;
              &amp;lt;ns1:uuid&amp;gt;&amp;lt;/ns1:uuid&amp;gt;
              &amp;lt;!--Optional:--&amp;gt;
              &amp;lt;ns1:path&amp;gt;&amp;lt;/ns1:path&amp;gt;
            &amp;lt;/ns1:nodes&amp;gt;
            &amp;lt;!--Optional:--&amp;gt;
            &amp;lt;ns1:store&amp;gt;
              &amp;lt;!--Optional:--&amp;gt;
              &amp;lt;ns1:scheme&amp;gt;&amp;lt;/ns1:scheme&amp;gt;
              &amp;lt;!--Optional:--&amp;gt;
              &amp;lt;ns1:address&amp;gt;&amp;lt;/ns1:address&amp;gt;
            &amp;lt;/ns1:store&amp;gt;
            &amp;lt;!--Optional:--&amp;gt;
            &amp;lt;ns1:query&amp;gt;
              &amp;lt;ns1:language&amp;gt;&amp;lt;/ns1:language&amp;gt;
              &amp;lt;ns1:statement&amp;gt;&amp;lt;/ns1:statement&amp;gt;
            &amp;lt;/ns1:query&amp;gt;
          &amp;lt;/ns:where&amp;gt;
          &amp;lt;!--Optional:--&amp;gt;
          &amp;lt;ns:where_id&amp;gt;&amp;lt;/ns:where_id&amp;gt;
        &amp;lt;/ns:addChild&amp;gt;
        &amp;lt;!--Zero or more repetitions:--&amp;gt;
        &amp;lt;ns:removeChild&amp;gt;
          &amp;lt;!--You have a CHOICE of the next 2 items at this level--&amp;gt;
          &amp;lt;!--Optional:--&amp;gt;
          &amp;lt;ns:from&amp;gt;
            &amp;lt;!--Optional:--&amp;gt;
            &amp;lt;ns1:store&amp;gt;
              &amp;lt;!--Optional:--&amp;gt;
              &amp;lt;ns1:scheme&amp;gt;&amp;lt;/ns1:scheme&amp;gt;
              &amp;lt;!--Optional:--&amp;gt;
              &amp;lt;ns1:address&amp;gt;&amp;lt;/ns1:address&amp;gt;
            &amp;lt;/ns1:store&amp;gt;
            &amp;lt;!--Optional:--&amp;gt;
            &amp;lt;ns1:uuid&amp;gt;&amp;lt;/ns1:uuid&amp;gt;
            &amp;lt;!--Optional:--&amp;gt;
            &amp;lt;ns1:path&amp;gt;&amp;lt;/ns1:path&amp;gt;
          &amp;lt;/ns:from&amp;gt;
          &amp;lt;!--Optional:--&amp;gt;
          &amp;lt;ns:from_id&amp;gt;&amp;lt;/ns:from_id&amp;gt;
          &amp;lt;!--You have a CHOICE of the next 2 items at this level--&amp;gt;
          &amp;lt;!--Optional:--&amp;gt;
          &amp;lt;ns:where&amp;gt;
            &amp;lt;!--You have a CHOICE of the next 2 items at this level--&amp;gt;
            &amp;lt;!--Zero or more repetitions:--&amp;gt;
            &amp;lt;ns1:nodes&amp;gt;
              &amp;lt;!--Optional:--&amp;gt;
              &amp;lt;ns1:store&amp;gt;
                &amp;lt;!--Optional:--&amp;gt;
                &amp;lt;ns1:scheme&amp;gt;&amp;lt;/ns1:scheme&amp;gt;
                &amp;lt;!--Optional:--&amp;gt;
                &amp;lt;ns1:address&amp;gt;&amp;lt;/ns1:address&amp;gt;
              &amp;lt;/ns1:store&amp;gt;
              &amp;lt;!--Optional:--&amp;gt;
              &amp;lt;ns1:uuid&amp;gt;&amp;lt;/ns1:uuid&amp;gt;
              &amp;lt;!--Optional:--&amp;gt;
              &amp;lt;ns1:path&amp;gt;&amp;lt;/ns1:path&amp;gt;
            &amp;lt;/ns1:nodes&amp;gt;
            &amp;lt;!--Optional:--&amp;gt;
            &amp;lt;ns1:store&amp;gt;
              &amp;lt;!--Optional:--&amp;gt;
              &amp;lt;ns1:scheme&amp;gt;&amp;lt;/ns1:scheme&amp;gt;
              &amp;lt;!--Optional:--&amp;gt;
              &amp;lt;ns1:address&amp;gt;&amp;lt;/ns1:address&amp;gt;
            &amp;lt;/ns1:store&amp;gt;
            &amp;lt;!--Optional:--&amp;gt;
            &amp;lt;ns1:query&amp;gt;
              &amp;lt;ns1:language&amp;gt;&amp;lt;/ns1:language&amp;gt;
              &amp;lt;ns1:statement&amp;gt;&amp;lt;/ns1:statement&amp;gt;
            &amp;lt;/ns1:query&amp;gt;
          &amp;lt;/ns:where&amp;gt;
          &amp;lt;!--Optional:--&amp;gt;
          &amp;lt;ns:where_id&amp;gt;&amp;lt;/ns:where_id&amp;gt;
        &amp;lt;/ns:removeChild&amp;gt;
        &amp;lt;!--Zero or more repetitions:--&amp;gt;
        &amp;lt;ns:createAssociation&amp;gt;
          &amp;lt;!--You have a CHOICE of the next 2 items at this level--&amp;gt;
          &amp;lt;!--Optional:--&amp;gt;
          &amp;lt;ns:from&amp;gt;
            &amp;lt;!--You have a CHOICE of the next 2 items at this level--&amp;gt;
            &amp;lt;!--Zero or more repetitions:--&amp;gt;
            &amp;lt;ns1:nodes&amp;gt;
              &amp;lt;!--Optional:--&amp;gt;
              &amp;lt;ns1:store&amp;gt;
                &amp;lt;!--Optional:--&amp;gt;
                &amp;lt;ns1:scheme&amp;gt;&amp;lt;/ns1:scheme&amp;gt;
                &amp;lt;!--Optional:--&amp;gt;
                &amp;lt;ns1:address&amp;gt;&amp;lt;/ns1:address&amp;gt;
              &amp;lt;/ns1:store&amp;gt;
              &amp;lt;!--Optional:--&amp;gt;
              &amp;lt;ns1:uuid&amp;gt;&amp;lt;/ns1:uuid&amp;gt;
              &amp;lt;!--Optional:--&amp;gt;
              &amp;lt;ns1:path&amp;gt;&amp;lt;/ns1:path&amp;gt;
            &amp;lt;/ns1:nodes&amp;gt;
            &amp;lt;!--Optional:--&amp;gt;
            &amp;lt;ns1:store&amp;gt;
              &amp;lt;!--Optional:--&amp;gt;
              &amp;lt;ns1:scheme&amp;gt;&amp;lt;/ns1:scheme&amp;gt;
              &amp;lt;!--Optional:--&amp;gt;
              &amp;lt;ns1:address&amp;gt;&amp;lt;/ns1:address&amp;gt;
            &amp;lt;/ns1:store&amp;gt;
            &amp;lt;!--Optional:--&amp;gt;
            &amp;lt;ns1:query&amp;gt;
              &amp;lt;ns1:language&amp;gt;&amp;lt;/ns1:language&amp;gt;
              &amp;lt;ns1:statement&amp;gt;&amp;lt;/ns1:statement&amp;gt;
            &amp;lt;/ns1:query&amp;gt;
          &amp;lt;/ns:from&amp;gt;
          &amp;lt;!--Optional:--&amp;gt;
          &amp;lt;ns:from_id&amp;gt;&amp;lt;/ns:from_id&amp;gt;
          &amp;lt;!--You have a CHOICE of the next 2 items at this level--&amp;gt;
          &amp;lt;!--Optional:--&amp;gt;
          &amp;lt;ns:to&amp;gt;
            &amp;lt;!--You have a CHOICE of the next 2 items at this level--&amp;gt;
            &amp;lt;!--Zero or more repetitions:--&amp;gt;
            &amp;lt;ns1:nodes&amp;gt;
              &amp;lt;!--Optional:--&amp;gt;
              &amp;lt;ns1:store&amp;gt;
                &amp;lt;!--Optional:--&amp;gt;
                &amp;lt;ns1:scheme&amp;gt;&amp;lt;/ns1:scheme&amp;gt;
                &amp;lt;!--Optional:--&amp;gt;
                &amp;lt;ns1:address&amp;gt;&amp;lt;/ns1:address&amp;gt;
              &amp;lt;/ns1:store&amp;gt;
              &amp;lt;!--Optional:--&amp;gt;
              &amp;lt;ns1:uuid&amp;gt;&amp;lt;/ns1:uuid&amp;gt;
              &amp;lt;!--Optional:--&amp;gt;
              &amp;lt;ns1:path&amp;gt;&amp;lt;/ns1:path&amp;gt;
            &amp;lt;/ns1:nodes&amp;gt;
            &amp;lt;!--Optional:--&amp;gt;
            &amp;lt;ns1:store&amp;gt;
              &amp;lt;!--Optional:--&amp;gt;
              &amp;lt;ns1:scheme&amp;gt;&amp;lt;/ns1:scheme&amp;gt;
              &amp;lt;!--Optional:--&amp;gt;
              &amp;lt;ns1:address&amp;gt;&amp;lt;/ns1:address&amp;gt;
            &amp;lt;/ns1:store&amp;gt;
            &amp;lt;!--Optional:--&amp;gt;
            &amp;lt;ns1:query&amp;gt;
              &amp;lt;ns1:language&amp;gt;&amp;lt;/ns1:language&amp;gt;
              &amp;lt;ns1:statement&amp;gt;&amp;lt;/ns1:statement&amp;gt;
            &amp;lt;/ns1:query&amp;gt;
          &amp;lt;/ns:to&amp;gt;
          &amp;lt;!--Optional:--&amp;gt;
          &amp;lt;ns:to_id&amp;gt;&amp;lt;/ns:to_id&amp;gt;
          &amp;lt;ns:association&amp;gt;&amp;lt;/ns:association&amp;gt;
        &amp;lt;/ns:createAssociation&amp;gt;
        &amp;lt;!--Zero or more repetitions:--&amp;gt;
        &amp;lt;ns:removeAssociation&amp;gt;
          &amp;lt;!--You have a CHOICE of the next 2 items at this level--&amp;gt;
          &amp;lt;!--Optional:--&amp;gt;
          &amp;lt;ns:from&amp;gt;
            &amp;lt;!--You have a CHOICE of the next 2 items at this level--&amp;gt;
            &amp;lt;!--Zero or more repetitions:--&amp;gt;
            &amp;lt;ns1:nodes&amp;gt;
              &amp;lt;!--Optional:--&amp;gt;
              &amp;lt;ns1:store&amp;gt;
                &amp;lt;!--Optional:--&amp;gt;
                &amp;lt;ns1:scheme&amp;gt;&amp;lt;/ns1:scheme&amp;gt;
                &amp;lt;!--Optional:--&amp;gt;
                &amp;lt;ns1:address&amp;gt;&amp;lt;/ns1:address&amp;gt;
              &amp;lt;/ns1:store&amp;gt;
              &amp;lt;!--Optional:--&amp;gt;
              &amp;lt;ns1:uuid&amp;gt;&amp;lt;/ns1:uuid&amp;gt;
              &amp;lt;!--Optional:--&amp;gt;
              &amp;lt;ns1:path&amp;gt;&amp;lt;/ns1:path&amp;gt;
            &amp;lt;/ns1:nodes&amp;gt;
            &amp;lt;!--Optional:--&amp;gt;
            &amp;lt;ns1:store&amp;gt;
              &amp;lt;!--Optional:--&amp;gt;
              &amp;lt;ns1:scheme&amp;gt;&amp;lt;/ns1:scheme&amp;gt;
              &amp;lt;!--Optional:--&amp;gt;
              &amp;lt;ns1:address&amp;gt;&amp;lt;/ns1:address&amp;gt;
            &amp;lt;/ns1:store&amp;gt;
            &amp;lt;!--Optional:--&amp;gt;
            &amp;lt;ns1:query&amp;gt;
              &amp;lt;ns1:language&amp;gt;&amp;lt;/ns1:language&amp;gt;
              &amp;lt;ns1:statement&amp;gt;&amp;lt;/ns1:statement&amp;gt;
            &amp;lt;/ns1:query&amp;gt;
          &amp;lt;/ns:from&amp;gt;
          &amp;lt;!--Optional:--&amp;gt;
          &amp;lt;ns:from_id&amp;gt;&amp;lt;/ns:from_id&amp;gt;
          &amp;lt;!--You have a CHOICE of the next 2 items at this level--&amp;gt;
          &amp;lt;!--Optional:--&amp;gt;
          &amp;lt;ns:to&amp;gt;
            &amp;lt;!--You have a CHOICE of the next 2 items at this level--&amp;gt;
            &amp;lt;!--Zero or more repetitions:--&amp;gt;
            &amp;lt;ns1:nodes&amp;gt;
              &amp;lt;!--Optional:--&amp;gt;
              &amp;lt;ns1:store&amp;gt;
                &amp;lt;!--Optional:--&amp;gt;
                &amp;lt;ns1:scheme&amp;gt;&amp;lt;/ns1:scheme&amp;gt;
                &amp;lt;!--Optional:--&amp;gt;
                &amp;lt;ns1:address&amp;gt;&amp;lt;/ns1:address&amp;gt;
              &amp;lt;/ns1:store&amp;gt;
              &amp;lt;!--Optional:--&amp;gt;
              &amp;lt;ns1:uuid&amp;gt;&amp;lt;/ns1:uuid&amp;gt;
              &amp;lt;!--Optional:--&amp;gt;
              &amp;lt;ns1:path&amp;gt;&amp;lt;/ns1:path&amp;gt;
            &amp;lt;/ns1:nodes&amp;gt;
            &amp;lt;!--Optional:--&amp;gt;
            &amp;lt;ns1:store&amp;gt;
              &amp;lt;!--Optional:--&amp;gt;
              &amp;lt;ns1:scheme&amp;gt;&amp;lt;/ns1:scheme&amp;gt;
              &amp;lt;!--Optional:--&amp;gt;
              &amp;lt;ns1:address&amp;gt;&amp;lt;/ns1:address&amp;gt;
            &amp;lt;/ns1:store&amp;gt;
            &amp;lt;!--Optional:--&amp;gt;
            &amp;lt;ns1:query&amp;gt;
              &amp;lt;ns1:language&amp;gt;&amp;lt;/ns1:language&amp;gt;
              &amp;lt;ns1:statement&amp;gt;&amp;lt;/ns1:statement&amp;gt;
            &amp;lt;/ns1:query&amp;gt;
          &amp;lt;/ns:to&amp;gt;
          &amp;lt;!--Optional:--&amp;gt;
          &amp;lt;ns:to_id&amp;gt;&amp;lt;/ns:to_id&amp;gt;
          &amp;lt;ns:association&amp;gt;&amp;lt;/ns:association&amp;gt;
        &amp;lt;/ns:removeAssociation&amp;gt;
      &amp;lt;/updateRequest&amp;gt;
    &amp;lt;/init:InitCreateContentWSOperation&amp;gt;
  &amp;lt;/soapenv:Body&amp;gt;
&amp;lt;/soapenv:Envelope&amp;gt;
&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;To make it a bit easier to sort out the binding it was useful to introduce a schema with a reduced datatype for the &lt;tt&gt;RepositoryService.update()&lt;/tt&gt; operation.
&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Code snippet 4.2. Reduced Datatype for RepositoryService Update Request&lt;/b&gt;
&lt;/p&gt;
&lt;div class="prettify"&gt;
&lt;pre&gt;
&amp;lt;schema elementFormDefault=&amp;quot;qualified&amp;quot;
targetNamespace=&amp;quot;http://j2ee.netbeans.org/wsdl/amset5createcontent1/InitCreateContentWS/repodata&amp;quot;
xmlns:tns=&amp;quot;http://j2ee.netbeans.org/wsdl/amset5createcontent1/InitCreateContentWS/repodata&amp;quot;
xmlns:cml=&amp;quot;http://www.alfresco.org/ws/cml/1.0&amp;quot;
xmlns:cms=&amp;quot;http://www.alfresco.org/ws/model/content/1.0&amp;quot;
xmlns=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;
xmlns:xsd=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;

            &amp;lt;xsd:import namespace=&amp;quot;http://www.alfresco.org/ws/headers/1.0&amp;quot; schemaLocation=&amp;quot;headers.xsd&amp;quot;/&amp;gt;
            &amp;lt;xsd:import namespace=&amp;quot;http://www.alfresco.org/ws/cml/1.0&amp;quot; schemaLocation=&amp;quot;cml.xsd&amp;quot;/&amp;gt;
            &amp;lt;xsd:import namespace=&amp;quot;http://www.alfresco.org/ws/model/content/1.0&amp;quot; schemaLocation=&amp;quot;types.xsd&amp;quot;/&amp;gt;
            
            &amp;lt;element name=&amp;quot;update&amp;quot;&amp;gt;
                &amp;lt;complexType&amp;gt;
                    &amp;lt;sequence&amp;gt;
                        &amp;lt;element name=&amp;quot;statements&amp;quot; type=&amp;quot;cml:CML&amp;quot;/&amp;gt;
                    &amp;lt;/sequence&amp;gt;
                &amp;lt;/complexType&amp;gt;
            &amp;lt;/element&amp;gt;
         
            &amp;lt;element name=&amp;quot;updateResponse&amp;quot;&amp;gt;
                &amp;lt;complexType&amp;gt;
                    &amp;lt;sequence&amp;gt;
                        &amp;lt;element maxOccurs=&amp;quot;unbounded&amp;quot; minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;updateReturn&amp;quot; type=&amp;quot;tns:UpdateResult&amp;quot;/&amp;gt;
                    &amp;lt;/sequence&amp;gt;
                &amp;lt;/complexType&amp;gt;
            &amp;lt;/element&amp;gt;
         
            &amp;lt;complexType name=&amp;quot;UpdateResult&amp;quot;&amp;gt;
                &amp;lt;sequence&amp;gt;
                    &amp;lt;element name=&amp;quot;statement&amp;quot; type=&amp;quot;xsd:string&amp;quot;/&amp;gt;
                    &amp;lt;element name=&amp;quot;updateCount&amp;quot; nillable=&amp;quot;true&amp;quot; type=&amp;quot;cms:ResultSet&amp;quot;/&amp;gt;
                    &amp;lt;element name=&amp;quot;sourceId&amp;quot; nillable=&amp;quot;true&amp;quot; type=&amp;quot;xsd:string&amp;quot;/&amp;gt;
                    &amp;lt;element name=&amp;quot;source&amp;quot; nillable=&amp;quot;true&amp;quot; type=&amp;quot;cms:Reference&amp;quot;/&amp;gt;
                    &amp;lt;element name=&amp;quot;destination&amp;quot; nillable=&amp;quot;true&amp;quot; type=&amp;quot;cms:Reference&amp;quot;/&amp;gt;
                &amp;lt;/sequence&amp;gt;
            &amp;lt;/complexType&amp;gt;

            &amp;lt;element name=&amp;quot;UpdateResult&amp;quot; type=&amp;quot;tns:UpdateResult&amp;quot;/&amp;gt;

        &amp;lt;/schema&amp;gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;This provides a more sympathetic SOAP input.  The BPEL workflow is initiated using the following SOAP message.
&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Code snippet 4.3. Input SOAP Message for InitCreateContentWS&lt;/b&gt;
&lt;/p&gt;
&lt;div class="prettify"&gt;
&lt;pre&gt;
&amp;lt;soapenv:Envelope xsi:schemaLocation=&amp;quot;http://schemas.xmlsoap.org/soap/envelope/ http://schemas.xmlsoap.org/soap/envelope/&amp;quot; xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot; xmlns:xsd=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot; xmlns:soapenv=&amp;quot;http://schemas.xmlsoap.org/soap/envelope/&amp;quot; xmlns:init=&amp;quot;http://j2ee.netbeans.org/wsdl/amset5createcontent1/InitCreateContentWS&amp;quot; xmlns:ns=&amp;quot;http://www.alfresco.org/ws/cml/1.0&amp;quot; xmlns:ns1=&amp;quot;http://www.alfresco.org/ws/model/content/1.0&amp;quot;&amp;gt;
  &amp;lt;soapenv:Body&amp;gt;
    &amp;lt;init:InitCreateContentWSOperation&amp;gt;
      &amp;lt;username&amp;gt;admin&amp;lt;/username&amp;gt;
      &amp;lt;password&amp;gt;adminPassword&amp;lt;/password&amp;gt;
      &amp;lt;updateRequest&amp;gt;
        &amp;lt;!--Zero or more repetitions:--&amp;gt;
        &amp;lt;ns:create&amp;gt;
          &amp;lt;!--Optional:--&amp;gt;
          &amp;lt;ns:id&amp;gt;CreateNode&amp;lt;/ns:id&amp;gt;
          &amp;lt;!--Optional:--&amp;gt;
          &amp;lt;ns:parent&amp;gt;
            &amp;lt;!--Optional:--&amp;gt;
            &amp;lt;ns1:store&amp;gt;
              &amp;lt;!--Optional:--&amp;gt;
              &amp;lt;ns1:scheme&amp;gt;workspace&amp;lt;/ns1:scheme&amp;gt;
              &amp;lt;!--Optional:--&amp;gt;
              &amp;lt;ns1:address&amp;gt;SpacesStore&amp;lt;/ns1:address&amp;gt;
            &amp;lt;/ns1:store&amp;gt;
            &amp;lt;!--Optional:--&amp;gt;
            &amp;lt;ns1:uuid&amp;gt;a390583c-1704-4fb5-955f-826d5a9f8563&amp;lt;/ns1:uuid&amp;gt;
            &amp;lt;!--Optional:--&amp;gt;
            &amp;lt;ns1:path&amp;gt;&amp;lt;/ns1:path&amp;gt;
            &amp;lt;!--Optional:--&amp;gt;
            &amp;lt;ns1:associationType&amp;gt;{http://www.alfresco.org/model/content/1.0}contains&amp;lt;/ns1:associationType&amp;gt;
            &amp;lt;!--Optional:--&amp;gt;
            &amp;lt;ns1:childName&amp;gt;{http://www.alfresco.org/model/content/1.0}contains&amp;lt;/ns1:childName&amp;gt;
          &amp;lt;/ns:parent&amp;gt;
          &amp;lt;ns:type&amp;gt;{http://www.alfresco.org/model/content/1.0}content&amp;lt;/ns:type&amp;gt;
          &amp;lt;!--Zero or more repetitions:--&amp;gt;
          &amp;lt;ns:property&amp;gt;
            &amp;lt;ns1:name&amp;gt;{http://www.alfresco.org/model/content/1.0}name&amp;lt;/ns1:name&amp;gt;
            &amp;lt;ns1:isMultiValue&amp;gt;false&amp;lt;/ns1:isMultiValue&amp;gt;
            &amp;lt;ns1:value&amp;gt;BPSOCT10DOCNODE&amp;lt;/ns1:value&amp;gt;
            &amp;lt;!--Zero or more repetitions:--&amp;gt;
            &amp;lt;ns1:values&amp;gt;&amp;lt;/ns1:values&amp;gt;
          &amp;lt;/ns:property&amp;gt;
        &amp;lt;/ns:create&amp;gt;    
      &amp;lt;/updateRequest&amp;gt;
    &amp;lt;/init:InitCreateContentWSOperation&amp;gt;
  &amp;lt;/soapenv:Body&amp;gt;
&amp;lt;/soapenv:Envelope&amp;gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;This results in the following SOAP message going to the &lt;tt&gt;RepositoryService.update() &lt;/tt&gt;operation.
&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;According to the schema, it looks like the unique identifier for the parent folder would be sufficient to identify it, but the schema and addess are required also.
&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Code snippet 4.4. Input SOAP Message for RepositoryService.update()&lt;/b&gt;
&lt;/p&gt;
&lt;div class="prettify"&gt;
&lt;pre&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;
&amp;lt;SOAP-ENV:Envelope xmlns:SOAP-ENV=&amp;quot;http://schemas.xmlsoap.org/soap/envelope/&amp;quot;&amp;gt;
    &amp;lt;SOAP-ENV:Header&amp;gt;
        &amp;lt;Security xmlns=&amp;quot;http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd&amp;quot;&amp;gt;
            &amp;lt;wsu:Timestamp xmlns:wsu=&amp;quot;http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd&amp;quot;&amp;gt;
                &amp;lt;wsu:Created&amp;gt;2009-08-07T10:39:07.88+00:00&amp;lt;/wsu:Created&amp;gt;
                &amp;lt;wsu:Expires&amp;gt;2009-08-07T10:43:07.00+00:00&amp;lt;/wsu:Expires&amp;gt;
            &amp;lt;/wsu:Timestamp&amp;gt;
            &amp;lt;UsernameToken&amp;gt;
                &amp;lt;Username&amp;gt;admin&amp;lt;/Username&amp;gt;
                &amp;lt;Password Id=&amp;quot;&amp;quot; Type=&amp;quot;http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText&amp;quot;&amp;gt;TICKET_ffbe9abe434075e30034515ade00ff6038ad4b7a&amp;lt;/Password&amp;gt;
            &amp;lt;/UsernameToken&amp;gt;
        &amp;lt;/Security&amp;gt;
    &amp;lt;/SOAP-ENV:Header&amp;gt;
    &amp;lt;SOAP-ENV:Body&amp;gt;
        &amp;lt;update
            xmlns=&amp;quot;http://www.alfresco.org/ws/service/repository/1.0&amp;quot; xmlns:msgns=&amp;quot;http://www.alfresco.org/ws/service/repository/1.0&amp;quot;&amp;gt;
            &amp;lt;ns0:statements
                xmlns:init=&amp;quot;http://j2ee.netbeans.org/wsdl/amset5createcontent1/InitCreateContentWS&amp;quot;
                xmlns:msgns=&amp;quot;http://j2ee.netbeans.org/wsdl/amset5createcontent1/InitCreateContentWS&amp;quot;
                xmlns:ns=&amp;quot;http://www.alfresco.org/ws/cml/1.0&amp;quot;
                xmlns:ns0=&amp;quot;http://www.alfresco.org/ws/service/repository/1.0&amp;quot; xmlns:ns1=&amp;quot;http://www.alfresco.org/ws/model/content/1.0&amp;quot;&amp;gt;
                &amp;lt;ns:create&amp;gt;
                    &amp;lt;ns:id&amp;gt;CreateNode&amp;lt;/ns:id&amp;gt;
                    &amp;lt;ns:parent&amp;gt;
                        &amp;lt;ns1:store&amp;gt;
                            &amp;lt;ns1:scheme&amp;gt;workspace&amp;lt;/ns1:scheme&amp;gt;
                            &amp;lt;ns1:address&amp;gt;SpacesStore&amp;lt;/ns1:address&amp;gt;
                        &amp;lt;/ns1:store&amp;gt;
                        &amp;lt;ns1:uuid&amp;gt;a390583c-1704-4fb5-955f-826d5a9f8563&amp;lt;/ns1:uuid&amp;gt;
                        &amp;lt;ns1:path/&amp;gt;
                        &amp;lt;ns1:associationType&amp;gt;{http://www.alfresco.org/model/content/1.0}contains&amp;lt;/ns1:associationType&amp;gt;
                        &amp;lt;ns1:childName&amp;gt;{http://www.alfresco.org/model/content/1.0}contains&amp;lt;/ns1:childName&amp;gt;
                    &amp;lt;/ns:parent&amp;gt;
                    &amp;lt;ns:type&amp;gt;{http://www.alfresco.org/model/content/1.0}content&amp;lt;/ns:type&amp;gt;
                    &amp;lt;ns:property&amp;gt;
                        &amp;lt;ns1:name&amp;gt;{http://www.alfresco.org/model/content/1.0}name&amp;lt;/ns1:name&amp;gt;
                        &amp;lt;ns1:isMultiValue&amp;gt;false&amp;lt;/ns1:isMultiValue&amp;gt;
                        &amp;lt;ns1:value&amp;gt;BPSOCT10DOCNODE&amp;lt;/ns1:value&amp;gt;
                        &amp;lt;ns1:values/&amp;gt;
                    &amp;lt;/ns:property&amp;gt;
                &amp;lt;/ns:create&amp;gt;
            &amp;lt;/ns0:statements&amp;gt;
        &amp;lt;/update&amp;gt;
    &amp;lt;/SOAP-ENV:Body&amp;gt;
&amp;lt;/SOAP-ENV:Envelope&amp;gt;
&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;This creates a node of name BPSOCT10DOCNODE in the parent folder identified by &lt;tt&gt;workspace://SpacesStore/a390583c-1704-4fb5-955f-826d5a9f8563&lt;/tt&gt; which is in the &lt;tt&gt;What is the Protein Folding Problem Folder&lt;/tt&gt;.  The identifier for the new node is returned in the SOAP response.
&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Code snippet 4.5. RepositoryService.update() SOAP response&lt;/b&gt;
&lt;/p&gt;
&lt;div class="prettify"&gt;
&lt;pre&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;
&amp;lt;soapenv:Envelope
    xmlns:soapenv=&amp;quot;http://schemas.xmlsoap.org/soap/envelope/&amp;quot;
    xmlns:xsd=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot; xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot;&amp;gt;
    &amp;lt;soapenv:Body&amp;gt;
        &amp;lt;updateResponse xmlns=&amp;quot;http://www.alfresco.org/ws/service/repository/1.0&amp;quot;&amp;gt;
            &amp;lt;updateReturn&amp;gt;
                &amp;lt;statement&amp;gt;create&amp;lt;/statement&amp;gt;
                &amp;lt;updateCount xsi:nil=&amp;quot;true&amp;quot;/&amp;gt;
                &amp;lt;sourceId&amp;gt;CreateNode&amp;lt;/sourceId&amp;gt;
                &amp;lt;source xsi:nil=&amp;quot;true&amp;quot;/&amp;gt;
                &amp;lt;destination&amp;gt;
                    &amp;lt;ns1:store xmlns:ns1=&amp;quot;http://www.alfresco.org/ws/model/content/1.0&amp;quot;&amp;gt;
                        &amp;lt;ns1:scheme&amp;gt;workspace&amp;lt;/ns1:scheme&amp;gt;
                        &amp;lt;ns1:address&amp;gt;SpacesStore&amp;lt;/ns1:address&amp;gt;
                    &amp;lt;/ns1:store&amp;gt;
                    &amp;lt;ns2:uuid xmlns:ns2=&amp;quot;http://www.alfresco.org/ws/model/content/1.0&amp;quot;&amp;gt;5444c165-8395-42a4-8579-13f4caef5cf4&amp;lt;/ns2:uuid&amp;gt;
                    &amp;lt;ns3:path xmlns:ns3=&amp;quot;http://www.alfresco.org/ws/model/content/1.0&amp;quot;&amp;gt;/app:company_home/cm:Waffle_x0020_Bus_x0020_Workflows/cm:What_x0020_is_x0020_the_x0020_Protein_x0020_Folding_x0020_Problem/cm:contains&amp;lt;/ns3:path&amp;gt;
                &amp;lt;/destination&amp;gt;
            &amp;lt;/updateReturn&amp;gt;
        &amp;lt;/updateResponse&amp;gt;
    &amp;lt;/soapenv:Body&amp;gt;
&amp;lt;/soapenv:Envelope&amp;gt;
&lt;/pre&gt;
&lt;/div&gt;
&lt;p /&gt;
&lt;p&gt;This node will appear in the Alfresco web application:
&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Figure 4.1.  New node represented in Alfresco Web application&lt;/b&gt;
&lt;/p&gt;
&lt;p&gt;&lt;table border="0" class="imageplugin" align="left"&gt;
&lt;tr&gt;&lt;td&gt;&lt;img src="/amsetwiki/attach/Amset4createnode/createnode.png" height="331" width="1029" /&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;Note that if the node is named using a filename format that Alfresco recognises like &lt;tt&gt;file.txt &lt;/tt&gt;or &lt;tt&gt;file.html&lt;/tt&gt;, then the appropriate icon is displayed.  The Web application isn't happy with an empty content node, though, and if the associated link is clicked then the following message is returned.
&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Figure 4.2.  No content node error message
&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;table border="0" class="imageplugin" align="left"&gt;
&lt;tr&gt;&lt;td&gt;&lt;img src="/amsetwiki/attach/Amset4createnode/nocontentmessage.png" height="104" width="593" /&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;  
&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;b /&gt;&lt;/p&gt;</description>
      <enclosure url="http://socket3.leeds.ac.uk:8080/amsetwiki/attach/Amset4createnode/createnode.png" length="13185" type="image/png" />
      <enclosure url="http://socket3.leeds.ac.uk:8080/amsetwiki/attach/Amset4createnode/nocontentmessage.png" length="3278" type="image/png" />
      <pubDate>Sun, 06 Sep 2009 12:34:50 GMT</pubDate>
    </item>
  </channel>
</rss>

