Schema vdl-1.17.xsd


schema location:  E:\GriPhyN\VDL\vdl-1.17.xsd
targetNamespace:  http://www.griphyn.org/working_groups/VDS/vdl-1.17.xsd
 
Elements  Complex types  Simple types 
definitions  LFNType  ContainerType 
derivation  UseType  LinkageType 
list  ProfileNamespace 
scalar  UniverseType 
text 
transformation 


element definitions
diagram
children transformation derivation
attributes
Name  Type  Use  Default  Fixed  
version  xs:string  required      
vdlns  xs:string  optional      
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
children pass
used by
element definitions
attributes
Name  Type  Use  Default  Fixed  
uses  xs:NMTOKEN  required      
usesspace  xs:string  optional      
maxIncludeVersion  xs:string  optional      
minIncludeVersion  xs:string  optional      
name  xs:NMTOKEN  optional      
namespace  xs:string  optional      
version  xs:string  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="xs:string" use="optional"/>
    <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="namespace" type="xs:string" use="optional"/>
    <xs:attribute name="version" type="xs:string" 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. Mixed content allows mixing, but you should not mix.</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  xs:string  optional      
namespace  xs:string  optional      
pfnHint  xs:string  optional      
pfnUniverse  UniverseType  optional  vanilla    
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, or Unix envronment 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="xs:string" use="optional"/>
    <xs:attribute name="namespace" type="xs:string" use="optional"/>
    <xs:attribute name="pfnHint" type="xs:string" use="optional"/>
    <xs:attribute name="pfnUniverse" type="UniverseType" use="optional" default="vanilla"/>
    <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      
postfix  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, or Unix envronment 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      
postfix  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="temporaryHint" type="xs:string" use="optional"/>