Schema vdl-1.12.xsd


schema location:  E:\GriPhyN\VDL\vdl-1.12.xsd
targetNamespace:  http://www.griphyn.org/working_groups/VDS/vdl-1.12.xsd
 
Elements  Groups  Complex types  Simple types  Attr. groups 
chunk  ApplicationGroup  ConstLFNType  ContainerType  DescriptionAG 
definitions  DerivationGroup  DerivationType  LinkageType 
ParameterGroup  LFNType  UniverseType 
TransformationGroup  TransformationType 
UseType 


element chunk
diagram
children use br
used by
element TransformationType/transformation-body/argument
attributes
Name  Type  Use  Default  Fixed  
name  xs:token        
render  xs:string        
source
<xs:element name="chunk">
  <xs:annotation>
    <xs:documentation>A "chunk" describes an arbitrary, namable piece of a parameter file or command line arg for an executable.</xs:documentation>
  </xs:annotation>
  <xs:complexType mixed="true">
    <xs:choice minOccurs="0" maxOccurs="unbounded">
      <xs:annotation>
        <xs:documentation>Each chunk may contain an arbitrary number of variable references "use", explicit logical filenames "lfn" and rendering instructions "br".</xs:documentation>
      </xs:annotation>
      <xs:element name="use" type="UseType">
        <xs:annotation>
          <xs:documentation>"use" references a bound parameter.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="br">
        <xs:annotation>
          <xs:documentation>"br" is a whitespace mark-up tag for chunk rendering.</xs:documentation>
        </xs:annotation>
        <xs:complexType>
          <xs:annotation>
            <xs:documentation>visual markup</xs:documentation>
          </xs:annotation>
          <xs:attribute name="ws" default="crlf">
            <xs:simpleType>
              <xs:restriction base="xs:token">
                <xs:enumeration value="crlf"/>
                <xs:enumeration value="cr"/>
                <xs:enumeration value="lf"/>
                <xs:enumeration value="sp"/>
                <xs:enumeration value="ht"/>
                <xs:enumeration value="vt"/>
                <xs:enumeration value="ff"/>
              </xs:restriction>
            </xs:simpleType>
          </xs:attribute>
        </xs:complexType>
      </xs:element>
    </xs:choice>
    <xs:attribute name="name" type="xs:token"/>
    <xs:attribute name="render" type="xs:string">
      <xs:annotation>
        <xs:appinfo>Experimental feature, very unsure about this!</xs:appinfo>
      </xs:annotation>
    </xs:attribute>
  </xs:complexType>
</xs:element>

element chunk/use
diagram
type UseType
attributes
Name  Type  Use  Default  Fixed  
name  xs:token  required      
render  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 chunk/br
diagram
attributes
Name  Type  Use  Default  Fixed  
ws  xs:token    crlf    
source
<xs:element name="br">
  <xs:annotation>
    <xs:documentation>"br" is a whitespace mark-up tag for chunk rendering.</xs:documentation>
  </xs:annotation>
  <xs:complexType>
    <xs:annotation>
      <xs:documentation>visual markup</xs:documentation>
    </xs:annotation>
    <xs:attribute name="ws" default="crlf">
      <xs:simpleType>
        <xs:restriction base="xs:token">
          <xs:enumeration value="crlf"/>
          <xs:enumeration value="cr"/>
          <xs:enumeration value="lf"/>
          <xs:enumeration value="sp"/>
          <xs:enumeration value="ht"/>
          <xs:enumeration value="vt"/>
          <xs:enumeration value="ff"/>
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
  </xs:complexType>
</xs:element>

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 name="transformation" type="TransformationType"/>
      <xs:element name="derivation" type="DerivationType"/>
    </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 definitions/transformation
diagram
type TransformationType
children formal-parameter transformation-body
attributes
Name  Type  Use  Default  Fixed  
name  xs:token  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      
source
<xs:element name="transformation" type="TransformationType"/>

element definitions/derivation
diagram
type DerivationType
children actual-parameter
attributes
Name  Type  Use  Default  Fixed  
uses  xs:token  required      
maxIncludeVersion  xs:string  optional      
minIncludeVersion  xs:string  optional      
name  xs:token  optional      
vdlns  xs:string  optional      
description  xs:string  optional      
title  xs:string  optional      
keyword  xs:string  optional      
url  xs:anyURI  optional      
source
<xs:element name="derivation" type="DerivationType"/>

group ApplicationGroup
diagram
children use lfn
used by
elements TransformationType/transformation-body/application/executable TransformationType/transformation-body/application/post-script TransformationType/transformation-body/application/pre-script
source
<xs:group name="ApplicationGroup">
  <xs:annotation>
    <xs:documentation>Mixed content, limiting to one choice out of "lfn" and "use".</xs:documentation>
  </xs:annotation>
  <xs:choice>
    <xs:element name="use" type="UseType"/>
    <xs:element name="lfn" type="ConstLFNType"/>
  </xs:choice>
</xs:group>

element ApplicationGroup/use
diagram
type UseType
attributes
Name  Type  Use  Default  Fixed  
name  xs:token  required      
render  xs:string  optional      
link  LinkageType  optional      
source
<xs:element name="use" type="UseType"/>

element ApplicationGroup/lfn
diagram
type ConstLFNType
attributes
Name  Type  Use  Default  Fixed  
file  xs:string  required      
link  LinkageType  required      
source
<xs:element name="lfn" type="ConstLFNType"/>

group DerivationGroup
diagram
children lfn
used by
elements ParameterGroup/list/i ParameterGroup/hash/kv ParameterGroup/scalar
source
<xs:group name="DerivationGroup">
  <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:choice>
</xs:group>

element DerivationGroup/lfn
diagram
type LFNType
attributes
Name  Type  Use  Default  Fixed  
file  xs:string  required      
link  LinkageType  required      
source
<xs:element name="lfn" type="LFNType"/>

group ParameterGroup
diagram
children scalar list hash
used by
elements TransformationType/formal-parameter/declare DerivationType/actual-parameter/pass
source
<xs:group name="ParameterGroup">
  <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:group ref="DerivationGroup" minOccurs="0"/>
        <xs:attribute name="name" type="xs:token" use="optional"/>
      </xs:complexType>
    </xs:element>
    <xs:element name="list">
      <xs:complexType>
        <xs:sequence minOccurs="0" maxOccurs="unbounded">
          <xs:element name="i">
            <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:group ref="DerivationGroup" minOccurs="0"/>
              <xs:attribute name="index" type="xs:unsignedInt" use="optional"/>
            </xs:complexType>
          </xs:element>
        </xs:sequence>
        <xs:attribute name="name" type="xs:token" use="optional"/>
      </xs:complexType>
    </xs:element>
    <xs:element name="hash">
      <xs:complexType>
        <xs:sequence minOccurs="0" maxOccurs="unbounded">
          <xs:element name="kv">
            <xs:annotation>
              <xs:documentation>Each hash item requires a mandatory key.</xs:documentation>
            </xs:annotation>
            <xs:complexType mixed="true">
              <xs:group ref="DerivationGroup" minOccurs="0"/>
              <xs:attribute name="key" type="xs:string" use="required"/>
            </xs:complexType>
          </xs:element>
        </xs:sequence>
        <xs:attribute name="name" type="xs:token" use="optional"/>
      </xs:complexType>
    </xs:element>
  </xs:choice>
</xs:group>

element ParameterGroup/scalar
diagram
children lfn
attributes
Name  Type  Use  Default  Fixed  
name  xs:token  optional      
source
<xs:element name="scalar">
  <xs:complexType mixed="true">
    <xs:group ref="DerivationGroup" minOccurs="0"/>
    <xs:attribute name="name" type="xs:token" use="optional"/>
  </xs:complexType>
</xs:element>

element ParameterGroup/list
diagram
children i
attributes
Name  Type  Use  Default  Fixed  
name  xs:token  optional      
source
<xs:element name="list">
  <xs:complexType>
    <xs:sequence minOccurs="0" maxOccurs="unbounded">
      <xs:element name="i">
        <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:group ref="DerivationGroup" minOccurs="0"/>
          <xs:attribute name="index" type="xs:unsignedInt" use="optional"/>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="name" type="xs:token" use="optional"/>
  </xs:complexType>
</xs:element>

element ParameterGroup/list/i
diagram
children lfn
attributes
Name  Type  Use  Default  Fixed  
index  xs:unsignedInt  optional      
source
<xs:element name="i">
  <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:group ref="DerivationGroup" minOccurs="0"/>
    <xs:attribute name="index" type="xs:unsignedInt" use="optional"/>
  </xs:complexType>
</xs:element>

element ParameterGroup/hash
diagram
children kv
attributes
Name  Type  Use  Default  Fixed  
name  xs:token  optional      
source
<xs:element name="hash">
  <xs:complexType>
    <xs:sequence minOccurs="0" maxOccurs="unbounded">
      <xs:element name="kv">
        <xs:annotation>
          <xs:documentation>Each hash item requires a mandatory key.</xs:documentation>
        </xs:annotation>
        <xs:complexType mixed="true">
          <xs:group ref="DerivationGroup" minOccurs="0"/>
          <xs:attribute name="key" type="xs:string" use="required"/>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="name" type="xs:token" use="optional"/>
  </xs:complexType>
</xs:element>

element ParameterGroup/hash/kv
diagram
children lfn
attributes
Name  Type  Use  Default  Fixed  
key  xs:string  required      
source
<xs:element name="kv">
  <xs:annotation>
    <xs:documentation>Each hash item requires a mandatory key.</xs:documentation>
  </xs:annotation>
  <xs:complexType mixed="true">
    <xs:group ref="DerivationGroup" minOccurs="0"/>
    <xs:attribute name="key" type="xs:string" use="required"/>
  </xs:complexType>
</xs:element>

group TransformationGroup
diagram
children use
used by
elements TransformationType/transformation-body/condor TransformationType/transformation-body/temporary/declare TransformationType/transformation-body/environment TransformationType/transformation-body/call/actual-parameter/pass/list/i TransformationType/transformation-body/call/actual-parameter/pass/hash/kv TransformationType/transformation-body/call/actual-parameter/pass/scalar
source
<xs:group name="TransformationGroup">
  <xs:annotation>
    <xs:documentation>Mixed content allowing only "use" in transformations.</xs:documentation>
  </xs:annotation>
  <xs:choice>
    <xs:element name="use" type="UseType"/>
  </xs:choice>
</xs:group>

element TransformationGroup/use
diagram
type UseType
attributes
Name  Type  Use  Default  Fixed  
name  xs:token  required      
render  xs:string  optional      
link  LinkageType  optional      
source
<xs:element name="use" type="UseType"/>

complexType ConstLFNType
diagram
used by
element ApplicationGroup/lfn
attributes
Name  Type  Use  Default  Fixed  
file  xs:string  required      
link  LinkageType  required      
source
<xs:complexType name="ConstLFNType">
  <xs:annotation>
    <xs:documentation>defines the type to be used for "lfn" constants in transformations.</xs:documentation>
  </xs:annotation>
  <xs:attribute name="file" type="xs:string" use="required"/>
  <xs:attribute name="link" use="required">