Schema vdl-1.13.xsd


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


element chunk
diagram
children use br
used by
element TransformationType/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 temporary call application argument profile
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 lfn
used by
elements TransformationType/application/executable TransformationType/application/post-script TransformationType/application/pre-script
source
<xs:group name="ApplicationGroup">
  <xs:annotation>
    <xs:documentation>Mixed content, limited to "lfn".</xs:documentation>
  </xs:annotation>
  <xs:choice>
    <xs:element name="lfn" type="ConstLFNType"/>
  </xs:choice>
</xs:group>

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/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
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: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>

group TransformationGroup
diagram
children use
used by
elements TransformationType/temporary/declare TransformationType/call/actual-parameter/pass/list/i TransformationType/profile TransformationType/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">
    <xs:simpleType>
      <xs:restriction base="LinkageType">
        <xs:enumeration value="input"/>
        <xs:enumeration value="none"/>
      </xs:restriction>
    </xs:simpleType>
  </xs:attribute>
</xs:complexType>

complexType DerivationType
diagram
children actual-parameter
used by
element definitions/derivation
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: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>
    <xs:element name="actual-parameter">
      <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: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:group ref="ParameterGroup"/>
              <xs:attribute name="bind" type="xs:token" use="required"/>
              <xs:attribute name="name" type="xs:token" use="optional"/>
            </xs:complexType>
          </xs:element>
        </xs:sequence>
      </xs:complexType>
    </xs:element>
  </xs:sequence>
  <xs:attribute name="uses" type="xs:token" 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:token" use="optional"/>
  <xs:attribute name="vdlns" type="xs:string" use="optional"/>
  <xs:attributeGroup ref="DescriptionAG"/>
</xs:complexType>

element DerivationType/actual-parameter
diagram
children pass
source
<xs:element name="actual-parameter">
  <xs:annotation>
    <xs:documentation<