Schema vdl-1.15.xsd


schema location:  E:\GriPhyN\VDL\vdl-1.15.xsd
targetNamespace:  http://www.griphyn.org/working_groups/VDS/vdl-1.15.xsd
 
Elements  Complex types  Simple types  Attr. groups 
definitions  ConstLFNType  ContainerType  DescriptionAG 
derivation  DVListType  LinkageType 
transformation  DVScalarType  ProfileNamespace 
ExecutionType  UniverseType 
LFNType 
UseType 


element definitions
diagram
namespace http://www.griphyn.org/working_groups/VDS/vdl-1.15.xsd
children transformation derivation
attributes
Name  Type  Use  Default  Fixed  Annotation
version  xs:string  required      
vdlns  xs:string  optional      
annotation
documentation 
The virtual data modification language.
source
<xs:element name="definitions">
  <xs:annotation>
    <xs:documentation>The virtual data modification language.</xs:documentation>
  </xs:annotation>
  <xs:complexType>
    <xs:choice minOccurs="0" maxOccurs="unbounded">
      <xs:annotation>
        <xs:documentation>A VDL document consists of any number of "transformation" and "derivation" elements in arbitrary order.</xs:documentation>
      </xs:annotation>
      <xs:element ref="transformation"/>
      <xs:element ref="derivation"/>
    </xs:choice>
    <xs:attribute name="version" type="xs:string" use="required"/>
    <xs:attribute name="vdlns" type="xs:string" use="optional"/>
  </xs:complexType>
</xs:element>

element derivation
diagram
namespace http://www.griphyn.org/working_groups/VDS/vdl-1.15.xsd
children pass
used by
element definitions
attributes
Name  Type  Use  Default  Fixed  Annotation
uses  xs:NMTOKEN  required      
maxIncludeVersion  xs:string  optional      
minIncludeVersion  xs:string  optional      
name  xs:NMTOKEN  optional      
vdlns  xs:string  optional      
description  xs:string  optional      
title  xs:string  optional      
keyword  xs:string  optional      
url  xs:anyURI  optional      
annotation
documentation 
A "derivation" contains actual parameters. This element must occur, even if the list is empty.
source
<xs:element name="derivation">
  <xs:annotation>
    <xs:documentation>A "derivation" contains actual parameters. This element must occur, even if the list is empty.</xs:documentation>
  </xs:annotation>
  <xs:complexType name="DerivationType">
    <xs:annotation>
      <xs:documentation>A "derivation" makes use of previous or outside transformations, and fills the placeholders with specific values.</xs:documentation>
    </xs:annotation>
    <xs:sequence minOccurs="0" maxOccurs="unbounded">
      <xs:element name="pass">
        <xs:annotation>
          <xs:documentation>The "pass" element established the binding between an actual parameter with its named formal counterpart.</xs:documentation>
        </xs:annotation>
        <xs:complexType>
          <xs:annotation>
            <xs:documentation>For default values in transformations and derivation passed values.</xs:documentation>
          </xs:annotation>
          <xs:choice>
            <xs:element name="scalar">
              <xs:complexType mixed="true">
                <xs:complexContent mixed="true">
                  <xs:extension base="DVScalarType">
                    <xs:attribute name="name" type="xs:NMTOKEN" use="optional"/>
                  </xs:extension>
                </xs:complexContent>
              </xs:complexType>
            </xs:element>
            <xs:element name="list">
              <xs:complexType>
                <xs:complexContent>
                  <xs:extension base="DVListType">
                    <xs:attribute name="name" type="xs:NMTOKEN" use="optional"/>
                  </xs:extension>
                </xs:complexContent>
              </xs:complexType>
            </xs:element>
          </xs:choice>
          <xs:attribute name="bind" type="xs:NMTOKEN" use="required"/>
          <xs:attribute name="name" type="xs:NMTOKEN" use="optional"/>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="uses" type="xs:NMTOKEN" use="required"/>
    <xs:attribute name="maxIncludeVersion" type="xs:string" use="optional"/>
    <xs:attribute name="minIncludeVersion" type="xs:string" use="optional"/>
    <xs:attribute name="name" type="xs:NMTOKEN" use="optional"/>
    <xs:attribute name="vdlns" type="xs:string" use="optional"/>
    <xs:attributeGroup ref="DescriptionAG"/>
  </xs:complexType>
</xs:element>

element derivation/pass
diagram
namespace http://www.griphyn.org/working_groups/VDS/vdl-1.15.xsd
children scalar list
attributes
Name  Type  Use  Default  Fixed  Annotation
bind  xs:NMTOKEN  required      
name  xs:NMTOKEN  optional      
annotation
documentation 
The "pass" element established the binding between an actual parameter with its named formal counterpart.
source
<xs:element name="pass">
  <xs:annotation>
    <xs:documentation>The "pass" element established the binding between an actual parameter with its named formal counterpart.</xs:documentation>
  </xs:annotation>
  <xs:complexType>
    <xs:annotation>
      <xs:documentation>For default values in transformations and derivation passed values.</xs:documentation>
    </xs:annotation>
    <xs:choice>
      <xs:element name="scalar">
        <xs:complexType mixed="true">
          <xs:complexContent mixed="true">
            <xs:extension base="DVScalarType">
              <xs:attribute name="name" type="xs:NMTOKEN" use="optional"/>
            </xs:extension>
          </xs:complexContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="list">
        <xs:complexType>
          <xs:complexContent>
            <xs:extension base="DVListType">
              <xs:attribute name="name" type="xs:NMTOKEN" use="optional"/>
            </xs:extension>
          </xs:complexContent>
        </xs:complexType>
      </xs:element>
    </xs:choice>
    <xs:attribute name="bind" type="xs:NMTOKEN" use="required"/>
    <xs:attribute name="name" type="xs:NMTOKEN" use="optional"/>
  </xs:complexType>
</xs:element>

element derivation/pass/scalar
diagram
namespace http://www.griphyn.org/working_groups/VDS/vdl-1.15.xsd
type extension of DVScalarType
children lfn
attributes
Name  Type  Use  Default  Fixed  Annotation
name  xs:NMTOKEN  optional      
source
<xs:element name="scalar">
  <xs:complexType mixed="true">
    <xs:complexContent mixed="true">
      <xs:extension base="DVScalarType">
        <xs:attribute name="name" type="xs:NMTOKEN" use="optional"/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
</xs:element>

element derivation/pass/list
diagram
namespace http://www.griphyn.org/working_groups/VDS/vdl-1.15.xsd
type extension of DVListType
children item
attributes
Name  Type  Use  Default  Fixed  Annotation
name  xs:NMTOKEN  optional      
source
<xs:element name="list">
  <xs:complexType>
    <xs:complexContent>
      <xs:extension base="DVListType">
        <xs:attribute name="name" type="xs:NMTOKEN" use="optional"/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
</xs:element>

element transformation
diagram
namespace http://www.griphyn.org/working_groups/VDS/vdl-1.15.xsd
children declare declare-temp call pre-script executable post-script argument profile
used by
element definitions
attributes
Name  Type  Use  Default  Fixed  Annotation
name  xs:NMTOKEN  required      
version  xs:string  optional      
vdlns  xs:string  optional      
description  xs:string  optional      
title  xs:string  optional      
keyword  xs:string  optional      
url  xs:anyURI  optional      
annotation
documentation 
A "transformation" describes the specification of process environment with placeholders
source
<xs:element name="transformation">
  <xs:annotation>
    <xs:documentation>A "transformation" describes the specification of process environment with placeholders</xs:documentation>
  </xs:annotation>
  <xs:complexType name="TransformationType">
    <xs:annotation>
      <xs:documentation>A "transformation" describes the specification of process environment with placeholders</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:sequence minOccurs="0" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation>The parameter list to the "transformation" can contain any number of parameter declarations, which are placeholder for parameter passing.</xs:documentation>
        </xs:annotation>
        <xs:element name="declare">
          <xs:annotation>
            <xs:documentation>Each parameter is declared using the "declare" element, specifying the name and container type.</xs:documentation>
          </xs:annotation>
          <xs:complexType>
            <xs:annotation>
              <xs:documentation>For default values in transformations and derivation passed values.</xs:documentation>
            </xs:annotation>
            <xs:choice minOccurs="0">
              <xs:element name="scalar">
                <xs:complexType mixed="true">
                  <xs:complexContent mixed="true">
                    <xs:extension base="DVScalarType">
                      <xs:attribute name="name" type="xs:NMTOKEN" use="optional"/>
                    </xs:extension>
                  </xs:complexContent>
                </xs:complexType>
              </xs:element>
              <xs:element name="list">
                <xs:complexType>
                  <xs:complexContent>
                    <xs:extension base="DVListType">
                      <xs:attribute name="name" type="xs:NMTOKEN" use="optional"/>
                    </xs:extension>
                  </xs:complexContent>
                </xs:complexType>
              </xs:element>
            </xs:choice>
            <xs:attribute name="name" type="xs:NMTOKEN" use="required"/>
            <xs:attribute name="link" type="LinkageType" use="required"/>
            <xs:attribute name="container" type="ContainerType" default="scalar"/>
            <xs:attribute name="vdlns" type="xs:string" use="optional"/>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
      <xs:sequence>
        <xs:annotation>
          <xs:documentation>The only mandatory part is the spec of an executable, or another transformation to invoke.</xs:documentation>
        </xs:annotation>
        <xs:element name="declare-temp" minOccurs="0" maxOccurs="unbounded">
          <xs:annotation>
            <xs:documentation>Temporary declarations only provide bindings between parameter and temp. lfns. No other container types are allowed.</xs:documentation>
          </xs:annotation>
          <xs:complexType mixed="true">
            <xs:annotation>
              <xs:documentation>Mixed content allowing only "use" in transformations.</xs:documentation>
            </xs:annotation>
            <xs:sequence minOccurs="0" maxOccurs="unbounded">
              <xs:element name="use" type="UseType"/>
            </xs:sequence>
            <xs:attribute name="name" type="xs:NMTOKEN" use="required"/>
            <xs:attribute name="link" type="LinkageType"/>
            <xs:attribute name="container" type="ContainerType" use="optional" fixed="scalar"/>
            <xs:attribute name="vdlns" type="xs:string" use="optional"/>
          </xs:complexType>
        </xs:element>
        <xs:choice>
          <xs:annotation>
            <xs:documentation>A transformation is either simple or a compound transformation.</xs:documentation>
          </xs:annotation>
          <xs:element name="call" maxOccurs="unbounded">
            <xs:annotation>
              <xs:documentation>A compound transformation consists of one or more calls to other transformations.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:sequence minOccurs="0" maxOccurs="unbounded">
                <xs:annotation>
                  <xs:documentation>Each invoked transformation will be passed the required argument list.</xs:documentation>
                </xs:annotation>
                <xs:element name="pass">
                  <xs:annotation>
                    <xs:documentation>The "pass" element established the binding between an actual parameter with its named formal counterpart.</xs:documentation>
                  </xs:annotation>
                  <xs:complexType>
                    <xs:choice>
                      <xs:annotation>
                        <xs:documentation>The container type of the formal arg must match the chosen content container.</xs:documentation>
                      </xs:annotation>
                      <xs:element name="scalar">
                        <xs:complexType mixed="true">
                          <xs:annotation>
                            <xs:documentation>Mixed content allowing only "use" in transformations.</xs:documentation>
                          </xs:annotation>
                          <xs:sequence minOccurs="0" maxOccurs="unbounded">
                            <xs:element name="use" type="UseType"/>
                          </xs:sequence>
                          <xs:attribute name="name" type="xs:NMTOKEN" use="optional"/>
                        </xs:complexType>
                      </xs:element>
                      <xs:element name="list">
                        <xs:annotation>
                          <xs:documentation>A lists consists of zero or more "i" items.</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                          <xs:sequence minOccurs="0" maxOccurs="unbounded">
                            <xs:element name="item">
                              <xs:annotation>
                                <xs:documentation>Each element in a list may have an optional index for sparse vectors.</xs:documentation>
                              </xs:annotation>
                              <xs:complexType mixed="true">
                                <xs:annotation>
                                  <xs:documentation>Mixed content allowing only "use" in transformations.</xs:documentation>
                                </xs:annotation>
                                <xs:sequence minOccurs="0" maxOccurs="unbounded">
                                  <xs:element name="use" type="UseType"/>
                                </xs:sequence>
                                <xs:attribute name="index" type="xs:nonNegativeInteger" use="optional"/>
                              </xs:complexType>
                            </xs:element>
                          </xs:sequence>
                          <xs:attribute name="name" type="xs:NMTOKEN" use="optional"/>
                        </xs:complexType>
                      </xs:element>
                    </xs:choice>
                    <xs:attribute name="bind" type="xs:NMTOKEN" use="required"/>
                    <xs:attribute name="name" type="xs:NMTOKEN" use="optional"/>
                  </xs:complexType>
                </xs:element>
              </xs:sequence>
              <xs:attribute name="uses" type="xs:NMTOKEN" use="required"/>
              <xs:attribute name="name" type="xs:NMTOKEN" use="optional"/>
              <xs:attribute name="vdlns" type="xs:string" use="optional"/>
              <xs:attribute name="minIncludeVersion" type="xs:string" default='"unbounded"'/>
              <xs:attribute name="maxIncludeVersion" type="xs:string" default='"unbounded"'/>
            </xs:complexType>
          </xs:element>
          <xs:sequence>
            <xs:element name="pre-script" minOccurs="0">
              <xs:annotation>
                <xs:documentation>An optional DAGMan prescript to run in scheduler universe.</xs:documentation>
              </xs:annotation>
              <xs:complexType mixed="true">
                <xs:complexContent mixed="true">
                  <xs:extension base="ExecutionType">
                    <xs:attribute name="universe" type="UniverseType" use="optional" default="scheduler"/>
                  </xs:extension>
                </xs:complexContent>
              </xs:complexType>
            </xs:element>
            <xs:element name="executable">
              <xs:annotation>
                <xs:documentation>The name of the executable itself.</xs:documentation>
              </xs:annotation>
              <xs:complexType mixed="true">
                <xs:complexContent mixed="true">
                  <xs:extension base="ExecutionType">
                    <xs:attribute name="universe" type="UniverseType" use="optional" default="vanilla"/>
                  </xs:extension>
                </xs:complexContent>
              </xs:complexType>
            </xs:element>
            <xs:element name="post-script" minOccurs="0">
              <xs:annotation>
                <xs:documentation>An optional DAGMan postscript to run in scheduler universe.</xs:documentation>
              </xs:annotation>
              <xs:complexType mixed="true">
                <xs:complexContent mixed="true">
                  <xs:extension base="ExecutionType">
                    <xs:attribute name="universe" type="UniverseType" use="optional" default="scheduler"/>
                  </xs:extension>
                </xs:complexContent>
              </xs:complexType>
            </xs:element>
            <xs:element name="argument" minOccurs="0" maxOccurs="unbounded">
              <xs:annotation>
                <xs:documentation>A command line argument spec consists of an arbitrary number of namable chunks.</xs:documentation>
              </xs:annotation>
              <xs:complexType mixed="true">
                <xs:sequence minOccurs="0" maxOccurs="unbounded">
                  <xs:element name="use" type="UseType">
                    <xs:annotation>
                      <xs:documentation>"use" references a bound parameter.</xs:documentation>
                    </xs:annotation>
                  </xs:element>
                </xs:sequence>
                <xs:attribute name="name" type="xs:NMTOKEN"/>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:choice>
        <xs:element name="profile" minOccurs="0" maxOccurs="unbounded">
          <xs:annotation>
            <xs:documentation>Each "profile" element declares one DAGMan, Condor, or Unix envronment variable.</xs:documentation>
          </xs:annotation>
          <xs:complexType mixed="true">
            <xs:annotation>
              <xs:documentation>Mixed content allowing only "use" in transformations.</xs:documentation>
            </xs:annotation>
            <xs:sequence minOccurs=<