Schema vdl-1.19.xsd


schema location:  E:\GriPhyN\VDL\vdl-1.19\vdl-1.19.xsd
targetNamespace:  http://www.griphyn.org/chimera/VDL
 
Elements  Complex types  Simple types  Attr. groups 
definitions  LFNType  ContainerType  DescriptionAG 
derivation  UseType  LinkageType 
list  NamespaceType 
scalar  ProfileNamespace 
text  VersionType 
transformation 


element definitions
diagram
children transformation derivation
attributes
Name  Type  Use  Default  Fixed  
version  VersionType  required      
vdlns  NamespaceType  required      
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="VersionType" use="required"/>
    <xs:attribute name="vdlns" type="NamespaceType" use="required"/>
  </xs:complexType>
</xs:element>

element derivation
diagram
children pass
used by
element definitions
attributes
Name  Type  Use  Default  Fixed  
uses  xs:NMTOKEN  required      
usesspace  NamespaceType  optional      
maxIncludeVersion  VersionType  optional      
minIncludeVersion  VersionType  optional      
name  xs:NMTOKEN  required      
namespace  NamespaceType  optional      
version  VersionType  optional      
description  xs:string  optional      
title  xs:string  optional      
keyword  xs:string  optional      
url  xs:anyURI  optional      
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>
    <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:choice>
            <xs:element ref="scalar"/>
            <xs:element ref="list"/>
          </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="usesspace" type="NamespaceType" use="optional"/>
    <xs:attribute name="maxIncludeVersion" type="VersionType" use="optional"/>
    <xs:attribute name="minIncludeVersion" type="VersionType" use="optional"/>
    <xs:attribute name="name" type="xs:NMTOKEN" use="required"/>
    <xs:attribute name="namespace" type="NamespaceType" use="optional"/>
    <xs:attribute name="version" type="VersionType" use="optional"/>
    <xs:attributeGroup ref="DescriptionAG"/>
  </xs:complexType>
</xs:element>

element derivation/pass
diagram
children scalar list
attributes
Name  Type  Use  Default  Fixed  
bind  xs:NMTOKEN  required      
name  xs:NMTOKEN  optional      
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:choice>
      <xs:element ref="scalar"/>
      <xs:element ref="list"/>
    </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 list
diagram
children scalar
used by
elements transformation/declare derivation/pass
attributes
Name  Type  Use  Default  Fixed  
name  xs:NMTOKEN  optional      
source
<xs:element name="list">
  <xs:annotation>
    <xs:documentation>A list element containing simple elements.</xs:documentation>
  </xs:annotation>
  <xs:complexType>
    <xs:annotation>
      <xs:documentation>List of mixed content allowing only "lfn" in derivations.</xs:documentation>
    </xs:annotation>
    <xs:sequence minOccurs="0" maxOccurs="unbounded">
      <xs:element ref="scalar"/>
    </xs:sequence>
    <xs:attribute name="name" type="xs:NMTOKEN" use="optional"/>
  </xs:complexType>
</xs:element>

element scalar
diagram
children lfn text
used by
elements transformation/declare list derivation/pass
attributes
Name  Type  Use  Default  Fixed  
name  xs:NMTOKEN  optional      
source
<xs:element name="scalar">
  <xs:annotation>
    <xs:documentation>A simple element for text or files.</xs:documentation>
  </xs:annotation>
  <xs:complexType>
    <xs:annotation>
      <xs:documentation>Mixed content allowing only "lfn" in derivations.</xs:documentation>
    </xs:annotation>
    <xs:choice>
      <xs:annotation>
        <xs:documentation>You can use either pure text or the "lfn" element. </xs:documentation>
      </xs:annotation>
      <xs:element name="lfn" type="LFNType"/>
      <xs:element ref="text"/>
    </xs:choice>
    <xs:attribute name="name" type="xs:NMTOKEN" use="optional"/>
  </xs:complexType>
</xs:element>

element scalar/lfn
diagram
type LFNType
attributes
Name  Type  Use  Default  Fixed  
file  xs:string  required      
link  LinkageType  required      
isTemporary  xs:boolean  optional  false    
temporaryHint  xs:string  optional      
source
<xs:element name="lfn" type="LFNType"/>

element text
diagram
type xs:string
used by
elements transformation/argument transformation/profile scalar
source
<xs:element name="text" type="xs:string">
  <xs:annotation>
    <xs:documentation>A textual representation of verbatim values.</xs:documentation>
  </xs:annotation>
</xs:element>

element transformation
diagram
children declare argument profile
used by
element definitions
attributes
Name  Type  Use  Default  Fixed  
name  xs:NMTOKEN  required      
version  VersionType  optional      
namespace  NamespaceType  optional      
argumentSeparator  xs:string  optional       
description  xs:string  optional      
title  xs:string  optional      
keyword  xs:string  optional      
url  xs:anyURI  optional      
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>
    <xs:annotation>
      <xs:documentation>A "transformation" describes the specification of process environment with placeholders</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="declare" minOccurs="0" maxOccurs="unbounded">
        <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:choice minOccurs="0">
            <xs:element ref="scalar"/>
            <xs:element ref="list"/>
          </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: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>
          <xs:choice maxOccurs="unbounded">
            <xs:element name="use" type="UseType">
              <xs:annotation>
                <xs:documentation>"use" references a bound parameter.</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element ref="text"/>
          </xs:choice>
          <xs:attribute name="name" type="xs:NMTOKEN"/>
        </xs:complexType>
      </xs:element>
      <xs:element name="profile" minOccurs="0" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation>Each "profile" element declares one DAGMan, Condor, VDS, or Unix environment variable.</xs:documentation>
        </xs:annotation>
        <xs:complexType>
          <xs:annotation>
            <xs:documentation>Mixed content allowing only "use" in transformations.</xs:documentation>
          </xs:annotation>
          <xs:choice maxOccurs="unbounded">
            <xs:annotation>
              <xs:documentation>Mixed content allowing only "use" in transformations.</xs:documentation>
            </xs:annotation>
            <xs:element name="use" type="UseType"/>
            <xs:element ref="text"/>
          </xs:choice>
          <xs:attribute name="key" type="xs:string" use="required"/>
          <xs:attribute name="namespace" type="ProfileNamespace" use="required"/>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="name" type="xs:NMTOKEN" use="required"/>
    <xs:attribute name="version" type="VersionType" use="optional"/>
    <xs:attribute name="namespace" type="NamespaceType" use="optional"/>
    <xs:attribute name="argumentSeparator" type="xs:string" use="optional" default=" ">
      <xs:annotation>
        <xs:documentation>Please note that the default is a single space.</xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attributeGroup ref="DescriptionAG"/>
  </xs:complexType>
</xs:element>

element transformation/declare
diagram
children scalar list
attributes
Name  Type  Use  Default  Fixed  
name  xs:NMTOKEN  required      
link  LinkageType  required      
container  ContainerType    scalar    
source
<xs:element name="declare" minOccurs="0" maxOccurs="unbounded">
  <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:choice minOccurs="0">
      <xs:element ref="scalar"/>
      <xs:element ref="list"/>
    </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:complexType>
</xs:element>

element transformation/argument
diagram
children use text
attributes
Name  Type  Use  Default  Fixed  
name  xs:NMTOKEN        
source
<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>
    <xs:choice maxOccurs="unbounded">
      <xs:element name="use" type="UseType">
        <xs:annotation>
          <xs:documentation>"use" references a bound parameter.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element ref="text"/>
    </xs:choice>
    <xs:attribute name="name" type="xs:NMTOKEN"/>
  </xs:complexType>
</xs:element>

element transformation/argument/use
diagram
type UseType
attributes
Name  Type  Use  Default  Fixed  
name  xs:NMTOKEN  required      
suffix  xs:string  optional      
separator  xs:string  optional       
prefix  xs:string  optional      
link  LinkageType  optional      
source
<xs:element name="use" type="UseType">
  <xs:annotation>
    <xs:documentation>"use" references a bound parameter.</xs:documentation>
  </xs:annotation>
</xs:element>

element transformation/profile
diagram
children use text
attributes
Name  Type  Use  Default  Fixed  
key  xs:string  required      
namespace  ProfileNamespace  required      
source
<xs:element name="profile" minOccurs="0" maxOccurs="unbounded">
  <xs:annotation>
    <xs:documentation>Each "profile" element declares one DAGMan, Condor, VDS, or Unix environment variable.</xs:documentation>
  </xs:annotation>
  <xs:complexType>
    <xs:annotation>
      <xs:documentation>Mixed content allowing only "use" in transformations.</xs:documentation>
    </xs:annotation>
    <xs:choice maxOccurs="unbounded">
      <xs:annotation>
        <xs:documentation>Mixed content allowing only "use" in transformations.</xs:documentation>
      </xs:annotation>
      <xs:element name="use" type="UseType"/>
      <xs:element ref="text"/>
    </xs:choice>
    <xs:attribute name="key" type="xs:string" use="required"/>
    <xs:attribute name="namespace" type="ProfileNamespace" use="required"/>
  </xs:complexType>
</xs:element>

element transformation/profile/use
diagram
type UseType
attributes
Name  Type  Use  Default  Fixed  
name  xs:NMTOKEN  required      
suffix  xs:string  optional      
separator  xs:string  optional       
prefix  xs:string  optional      
link  LinkageType  optional      
source
<xs:element name="use" type="UseType"/>

complexType LFNType
diagram
used by
element scalar/lfn
attributes
Name  Type  Use  Default  Fixed  
file  xs:string  required      
link  LinkageType  required      
isTemporary  xs:boolean  optional  false    
temporaryHint  xs:string  optional      
source
<xs:complexType name="LFNType">
  <xs:annotation>
    <xs:documentation>defines the type to be used for "lfn" elements.</xs:documentation>
  </xs:annotation>
  <xs:attribute name="file" type="xs:string" use="required"/>
  <xs:attribute name="link" type="LinkageType" use="required"/>
  <xs:attribute name="isTemporary" type="xs:boolean" use="optional" default="false"/>
  <xs:attribute name="temporar