XML Schema Definition (XSD) for an Equipment Register

Schema Document Properties

Target Namespacehttps://measurement.govt.nz/equipment-register
Version0.1
Element and Attribute Namespaces
  • Global element and attribute declarations belong to this schema's target namespace.
  • By default, local element declarations belong to this schema's target namespace.
  • By default, local attribute declarations have no namespace.
Schema Composition
  • This schema imports schema(s) from the following namespace(s):
    • https://measurement.govt.nz/gtc/xml (at ./external/gtc.xsd)
PrefixNamespace
xmlhttp://www.w3.org/XML/1998/namespace
mslhttps://measurement.govt.nz/equipment-register
gtchttps://measurement.govt.nz/gtc/xml
vchttp://www.w3.org/2007/XMLSchema-versioning
xsdhttp://www.w3.org/2001/XMLSchema
<xsd:schema version="0.1" elementFormDefault="qualified" minVersion="1.0" targetNamespace="https://measurement.govt.nz/equipment-register">
   <xsd:import namespace="https://measurement.govt.nz/gtc/xml" schemaLocation="./external/gtc.xsd"/>
...
</xsd:schema>

Global Declarations

Element: register

Nameregister
TypeLocally-defined complex type
Nillableno
Abstractno
<msl:register
 team="msl:teamEnumerationString" [1] 
>
   <!--
    Uniqueness Constraint - uniqueID
    Selector - msl:equipment/msl:id
    Field(s) - .
   -->
   Start Sequence [0..*]
      <msl:equipment> msl:equipment </msl:equipment> [1]
   End Sequence
</msl:register>
<xsd:element name="register">
   <xsd:complexType>
      <xsd:sequence minOccurs="0" maxOccurs="unbounded">
         <xsd:element name="equipment" type="msl:equipment"/>
      </xsd:sequence>
      <xsd:attribute name="team" type="msl:teamEnumerationString" use="required"/>
   </xsd:complexType>
   <xsd:unique name="uniqueID">
      <xsd:selector xpath="msl:equipment/msl:id"/>
      <xsd:field xpath="."/>
   </xsd:unique>
</xsd:element>

Global Definitions

Complex Type: any

Super-types:None
Sub-types:None
Nameany
Abstractno
<...
 Allow any attributes from any namespace (lax validation).
>
   Start Sequence [0..*]
      Allow any elements from any namespace (lax validation). [1]
   End Sequence
</...>
<xsd:complexType name="any">
   <xsd:sequence minOccurs="0" maxOccurs="unbounded">
      <xsd:any processContents="lax"/>
   </xsd:sequence>
   <xsd:anyAttribute processContents="lax"/>
</xsd:complexType>

Complex Type: calibrations

Super-types:None
Sub-types:None
Namecalibrations
Abstractno
<...>
   Start Sequence [0..*]
      <msl:measurand> msl:measurand 
         <!--
          Uniqueness Constraint - uniqueComponentName
          Selector - msl:component
          Field(s) - @name
         -->
      </msl:measurand> [1] 
   End Sequence
</...>
<xsd:complexType name="calibrations">
   <xsd:sequence minOccurs="0" maxOccurs="unbounded">
      <xsd:element name="measurand" type="msl:measurand">
         <xsd:unique name="uniqueComponentName">
            <xsd:selector xpath="msl:component"/>
            <xsd:field xpath="@name"/>
         </xsd:unique>
      </xsd:element>
   </xsd:sequence>
</xsd:complexType>

Complex Type: comment

Super-types:xsd:string < nonEmptyString (by restriction) < comment (by extension)
Sub-types:None
Namecomment
Abstractno
<...
 date="xsd:date" [1]
>
    msl:nonEmptyString
</...>
<xsd:complexType name="comment">
   <xsd:simpleContent>
      <xsd:extension base="msl:nonEmptyString">
         <xsd:attribute name="date" type="xsd:date" use="required"/>
      </xsd:extension>
   </xsd:simpleContent>
</xsd:complexType>

Complex Type: component

Super-types:None
Sub-types:None
Namecomponent
Abstractno
<...
 name="xsd:string" [1] 
>
   Start Sequence [0..*]
      Start Choice [1]
         <msl:digitalReport> msl:digitalReport </msl:digitalReport> [1] 
         <msl:report> msl:report </msl:report> [1] 
      End Choice
   End Sequence
</...>
<xsd:complexType name="component">
   <xsd:sequence minOccurs="0" maxOccurs="unbounded">
      <xsd:choice>
         <xsd:element name="digitalReport" type="msl:digitalReport"/>
         <xsd:element name="report" type="msl:report"/>
      </xsd:choice>
   </xsd:sequence>
   <xsd:attribute name="name" type="xsd:string" use="required"/>
</xsd:complexType>

Complex Type: digitalReport

Super-types:file < digitalReport (by extension)
Sub-types:None
NamedigitalReport
Abstractno
<...
 format="msl:digitalFormatEnumerationString" [1]
>
   <msl:url
    Allow any attributes from any namespace (skip validation).
   > [1]  
       msl:nonEmptyString
   </msl:url>
   <msl:sha256> xsd:string (pattern = [a-fA-F0-9]{64}) </msl:sha256> [1] 
</...>
<xsd:complexType name="digitalReport">
   <xsd:complexContent>
      <xsd:extension base="msl:file">
         <xsd:attribute name="format" type="msl:digitalFormatEnumerationString" use="required"/>
      </xsd:extension>
   </xsd:complexContent>
</xsd:complexType>

Complex Type: documentation

Super-types:None
Sub-types:None
Namedocumentation
Abstractno
<...>
Start All [0..1]

<msl:accessories> xsd:string </msl:accessories> [0..1] <msl:manual> xsd:anyURI </msl:manual> [0..1] <msl:personnelRestrictions> xsd:string </msl:personnelRestrictions> [0..1] <msl:referenceMaterials> xsd:string </msl:referenceMaterials> [0..1] <msl:technicalProcedures> xsd:string </msl:technicalProcedures> [0..1] End All

</...>
<xsd:complexType name="documentation">
   <xsd:all minOccurs="0">
      <xsd:element name="accessories" type="xsd:string" minOccurs="0"/>
      <xsd:element name="manual" type="xsd:anyURI" minOccurs="0"/>
      <xsd:element name="personnelRestrictions" type="xsd:string" minOccurs="0"/>
      <xsd:element name="referenceMaterials" type="xsd:string" minOccurs="0"/>
      <xsd:element name="technicalProcedures" type="xsd:string" minOccurs="0"/>
   </xsd:all>
</xsd:complexType>

Complex Type: equation

Super-types:None
Sub-types:None
Nameequation
Abstractno
<...>
   <msl:value
    variables="msl:variables" [1]
   > [1]  
       msl:nonEmptyString
   </msl:value>
   <msl:uncertainty
    variables="msl:variables" [1]
   > [1]  
       msl:nonEmptyString
   </msl:uncertainty>
   <msl:unit> msl:nonEmptyString </msl:unit> [1] 
   <msl:ranges> msl:ranges </msl:ranges> [1] 
   <msl:degreeFreedom> xsd:double (1 <= value <= INF) </msl:degreeFreedom> [0..1] 
</...>
<xsd:complexType name="equation">
   <xsd:sequence>
      <xsd:element name="value">
         <xsd:complexType>
            <xsd:simpleContent>
               <xsd:extension base="msl:nonEmptyString">
                  <xsd:attribute name="variables" type="msl:variables" use="required"/>
               </xsd:extension>
            </xsd:simpleContent>
         </xsd:complexType>
      </xsd:element>
      <xsd:element name="uncertainty">
         <xsd:complexType>
            <xsd:simpleContent>
               <xsd:extension base="msl:nonEmptyString">
                  <xsd:attribute name="variables" type="msl:variables" use="required"/>
               </xsd:extension>
            </xsd:simpleContent>
         </xsd:complexType>
      </xsd:element>
      <xsd:element name="unit" type="msl:nonEmptyString"/>
      <xsd:element name="ranges" type="msl:ranges"/>
      <xsd:element name="degreeFreedom" minOccurs="0">
         <xsd:simpleType>
            <xsd:restriction base="xsd:double">
               <xsd:minInclusive value="1"/>
               <xsd:maxInclusive value="INF"/>
            </xsd:restriction>
         </xsd:simpleType>
      </xsd:element>
   </xsd:sequence>
</xsd:complexType>

Complex Type: equipment

Super-types:None
Sub-types:None
Nameequipment
Abstractno
<...
 keywords="msl:keywordsList" [0..1] 
>
   <msl:id> msl:idPatternString </msl:id> [1] 
   <msl:manufacturer> msl:tokenizedString </msl:manufacturer> [1] 
   <msl:model> msl:tokenizedString </msl:model> [1] 
   <msl:serial> msl:tokenizedString </msl:serial> [1] 
   <msl:description> msl:tokenizedString </msl:description> [1] 
   <msl:location> msl:labEnumerationString </msl:location> [1] 
   <msl:status> msl:statusEnumerationString </msl:status> [1] 
   <msl:loggable> xsd:boolean </msl:loggable> [1] 
   <msl:traceable> xsd:boolean </msl:traceable> [1] 
   <msl:calibrations> msl:calibrations 
      <!--
       Uniqueness Constraint - uniqueMeasurandQuantity
       Selector - msl:measurand
       Field(s) - @quantity
      -->
   </msl:calibrations> [1] 
   <msl:maintenance> msl:maintenance </msl:maintenance> [1] 
   <msl:firmware> msl:firmware </msl:firmware> [1] 
   <msl:acceptanceCriteria> msl:any </msl:acceptanceCriteria> [1] 
   <msl:financial> msl:financial </msl:financial> [1] 
   <msl:documentation> msl:documentation </msl:documentation> [1] 
   <msl:extra> msl:any </msl:extra> [0..1] 
</...>
<xsd:complexType name="equipment">
   <xsd:sequence>
      <xsd:element name="id" type="msl:idPatternString"/>
      <xsd:element name="manufacturer" type="msl:tokenizedString"/>
      <xsd:element name="model" type="msl:tokenizedString"/>
      <xsd:element name="serial" type="msl:tokenizedString"/>
      <xsd:element name="description" type="msl:tokenizedString"/>
      <xsd:element name="location" type="msl:labEnumerationString"/>
      <xsd:element name="status" type="msl:statusEnumerationString"/>
      <xsd:element name="loggable" type="xsd:boolean"/>
      <xsd:element name="traceable" type="xsd:boolean"/>
      <xsd:element name="calibrations" type="msl:calibrations">
         <xsd:unique name="uniqueMeasurandQuantity">
            <xsd:selector xpath="msl:measurand"/>
            <xsd:field xpath="@quantity"/>
         </xsd:unique>
      </xsd:element>
      <xsd:element name="maintenance" type="msl:maintenance"/>
      <xsd:element name="firmware" type="msl:firmware"/>
      <xsd:element name="acceptanceCriteria" type="msl:any"/>
      <xsd:element name="financial" type="msl:financial"/>
      <xsd:element name="documentation" type="msl:documentation"/>
      <xsd:element name="extra" type="msl:any" minOccurs="0"/>
   </xsd:sequence>
   <xsd:attribute name="keywords" type="msl:keywordsList"/>
</xsd:complexType>

Complex Type: file

Super-types:None
Sub-types:
Namefile
Abstractno
<...>
   <msl:url
    Allow any attributes from any namespace (skip validation).
   > [1]  
       msl:nonEmptyString
   </msl:url>
   <msl:sha256> xsd:string (pattern = [a-fA-F0-9]{64}) </msl:sha256> [1] 
</...>
<xsd:complexType name="file">
   <xsd:sequence>
      <xsd:element name="url">
         <xsd:complexType>
            <xsd:simpleContent>
               <xsd:extension base="msl:nonEmptyString">
                  <xsd:anyAttribute processContents="skip"/>
               </xsd:extension>
            </xsd:simpleContent>
         </xsd:complexType>
      </xsd:element>
      <xsd:element name="sha256">
         <xsd:simpleType>
            <xsd:restriction base="xsd:string">
               <xsd:pattern value="[a-fA-F0-9]{64}"/>
            </xsd:restriction>
         </xsd:simpleType>
      </xsd:element>
   </xsd:sequence>
</xsd:complexType>

Complex Type: financial

Super-types:None
Sub-types:None
Namefinancial
Abstractno
<...>
Start All [1]

<msl:assetNumber> xsd:string </msl:assetNumber> [0..1] <msl:warrantyExpirationDate> xsd:date </msl:warrantyExpirationDate> [0..1] <msl:yearPurchased> xsd:gYear </msl:yearPurchased> [0..1] End All

</...>
<xsd:complexType name="financial">
   <xsd:all>
      <xsd:element name="assetNumber" type="xsd:string" minOccurs="0"/>
      <xsd:element name="warrantyExpirationDate" type="xsd:date" minOccurs="0"/>
      <xsd:element name="yearPurchased" type="xsd:gYear" minOccurs="0"/>
   </xsd:all>
</xsd:complexType>

Complex Type: firmware

Super-types:None
Sub-types:None
Namefirmware
Abstractno
<...>
   Start Sequence [0..*]
      <msl:version> msl:comment </msl:version> [1]
   End Sequence
</...>
<xsd:complexType name="firmware">
   <xsd:sequence minOccurs="0" maxOccurs="unbounded">
      <xsd:element name="version" type="msl:comment"/>
   </xsd:sequence>
</xsd:complexType>

Complex Type: maintenance

Super-types:None
Sub-types:None
Namemaintenance
Abstractno
<...
 dueDate="xsd:date" [0..1] 
 serviceAgent="xsd:string" [0..1] 
>
   Start Sequence [0..*]
      <msl:task> msl:comment </msl:task> [1] 
   End Sequence
</...>
<xsd:complexType name="maintenance">
   <xsd:sequence minOccurs="0" maxOccurs="unbounded">
      <xsd:element name="task" type="msl:comment"/>
   </xsd:sequence>
   <xsd:attribute name="dueDate" type="xsd:date"/>
   <xsd:attribute name="serviceAgent" type="xsd:string"/>
</xsd:complexType>

Complex Type: measurand

Super-types:None
Sub-types:None
Namemeasurand
Abstractno
<...
 quantity="msl:quantityEnumerationString" [1] 
 calibrationInterval="msl:nonNegativeDecimal" [1] 
>
   Start Sequence [0..*]
      <msl:component> msl:component </msl:component> [1] 
   End Sequence
</...>
<xsd:complexType name="measurand">
   <xsd:sequence minOccurs="0" maxOccurs="unbounded">
      <xsd:element name="component" type="msl:component"/>
   </xsd:sequence>
   <xsd:attribute name="quantity" type="msl:quantityEnumerationString" use="required"/>
   <xsd:attribute name="calibrationInterval" type="msl:nonNegativeDecimal" use="required"/>
</xsd:complexType>

Complex Type: ranges

Super-types:None
Sub-types:None
Nameranges
Abstractno
<...>
   Start Sequence [0..*]
      <msl:range
       variable="msl:nonEmptyString" [1] 
      > [1]  
         <msl:minimum> xsd:double </msl:minimum> [1] 
         <msl:maximum> xsd:double </msl:maximum> [1] 
      </msl:range>
   End Sequence
</...>
<xsd:complexType name="ranges">
   <xsd:sequence minOccurs="0" maxOccurs="unbounded">
      <xsd:element name="range">
         <xsd:complexType>
            <xsd:sequence>
               <xsd:element name="minimum" type="xsd:double"/>
               <xsd:element name="maximum" type="xsd:double"/>
            </xsd:sequence>
            <xsd:attribute name="variable" type="msl:nonEmptyString" use="required"/>
         </xsd:complexType>
      </xsd:element>
   </xsd:sequence>
</xsd:complexType>

Complex Type: report

Super-types:None
Sub-types:None
Namereport
Abstractno
<...>
   <msl:reportNumber> msl:nonEmptyString </msl:reportNumber> [1] 
   <msl:reportIssueDate> xsd:date </msl:reportIssueDate> [1] 
   <msl:measurementStartDate> xsd:date </msl:measurementStartDate> [1] 
   <msl:measurementStopDate> xsd:date </msl:measurementStopDate> [1] 
   <msl:issuingLaboratory
    person="msl:nonEmptyString" [0..1] 
   > [1]  
       msl:nonEmptyString
   </msl:issuingLaboratory>
   <msl:technicalProcedure> xsd:string </msl:technicalProcedure> [1] 
   <msl:criteria> msl:any </msl:criteria> [1] 
   Start Choice [1]
      <msl:equation> msl:equation </msl:equation> [1] 
      <msl:file> msl:file </msl:file> [1] 
      <msl:serialised> msl:serialised </msl:serialised> [1] 
      <msl:table> msl:table </msl:table> [1] 
   End Choice
   <msl:extra> msl:any </msl:extra> [0..1] 
</...>
<xsd:complexType name="report">
   <xsd:sequence>
      <xsd:element name="reportNumber" type="msl:nonEmptyString"/>
      <xsd:element name="reportIssueDate" type="xsd:date"/>
      <xsd:element name="measurementStartDate" type="xsd:date"/>
      <xsd:element name="measurementStopDate" type="xsd:date"/>
      <xsd:element name="issuingLaboratory">
         <xsd:complexType>
            <xsd:simpleContent>
               <xsd:extension base="msl:nonEmptyString">
                  <xsd:attribute name="person" type="msl:nonEmptyString"/>
               </xsd:extension>
            </xsd:simpleContent>
         </xsd:complexType>
      </xsd:element>
      <xsd:element name="technicalProcedure" type="xsd:string"/>
      <xsd:element name="criteria" type="msl:any"/>
      <xsd:choice>
         <xsd:element name="equation" type="msl:equation"/>
         <xsd:element name="file" type="msl:file"/>
         <xsd:element name="serialised" type="msl:serialised"/>
         <xsd:element name="table" type="msl:table"/>
      </xsd:choice>
      <xsd:element name="extra" type="msl:any" minOccurs="0"/>
   </xsd:sequence>
</xsd:complexType>

Complex Type: serialised

Super-types:None
Sub-types:None
Nameserialised
Abstractno
<...>
   Start Choice [1]
      <gtc:gtcArchive> ... </gtc:gtcArchive> [1] 
      <msl:gtcArchiveJSON
       Allow any attributes from any namespace (skip validation).
      > [1]  
          xsd:string
      </msl:gtcArchiveJSON>
   End Choice
</...>
<xsd:complexType name="serialised">
   <xsd:choice>
      <xsd:element ref="gtc:gtcArchive"/>
      <xsd:element name="gtcArchiveJSON">
         <xsd:complexType>
            <xsd:simpleContent>
               <xsd:extension base="xsd:string">
                  <xsd:anyAttribute processContents="skip"/>
               </xsd:extension>
            </xsd:simpleContent>
         </xsd:complexType>
      </xsd:element>
   </xsd:choice>
</xsd:complexType>

Complex Type: table

Super-types:None
Sub-types:None
Nametable
Abstractno
<...>
   <msl:type> xsd:string (pattern = \s*(bool|int|double|string)\s*(,\s*(bool|int|double|string)\s*)*) </msl:type> [1] 
   <msl:unit> xsd:string </msl:unit> [1] 
   <msl:header> xsd:string (pattern = [^,]+(,[^,]+)*) </msl:header> [1] 
   <msl:data> xsd:string (pattern = [^,]+(,[^,\n][^,]*)*) </msl:data> [1] 
</...>
<xsd:complexType name="table">
   <xsd:sequence>
      <xsd:element name="type">
         <xsd:simpleType>
            <xsd:restriction base="xsd:string">
               <xsd:pattern value="\s*(bool|int|double|string)\s*(,\s*(bool|int|double|string)\s*)*"/>
            </xsd:restriction>
         </xsd:simpleType>
      </xsd:element>
      <xsd:element name="unit" type="xsd:string"/>
      <xsd:element name="header">
         <xsd:simpleType>
            <xsd:restriction base="xsd:string">
               <xsd:pattern value="[^,]+(,[^,]+)*"/>
            </xsd:restriction>
         </xsd:simpleType>
      </xsd:element>
      <xsd:element name="data">
         <xsd:simpleType>
            <xsd:restriction base="xsd:string">
               <xsd:pattern value="[^,]+(,[^,\n][^,]*)*"/>
            </xsd:restriction>
         </xsd:simpleType>
      </xsd:element>
   </xsd:sequence>
</xsd:complexType>

Simple Type: digitalFormatEnumerationString

Super-types:xsd:string < digitalFormatEnumerationString (by restriction)
Sub-types:None
NamedigitalFormatEnumerationString
Content
  • Base XSD Type: string
  • value comes from list: {'MSL PDF/A-3'|'PTB DCC'}
<xsd:simpleType name="digitalFormatEnumerationString">
   <xsd:restriction base="xsd:string">
      <xsd:enumeration value="MSL PDF/A-3"/>
      <xsd:enumeration value="PTB DCC"/>
   </xsd:restriction>
</xsd:simpleType>

Simple Type: idPatternString

Super-types:xsd:string < idPatternString (by restriction)
Sub-types:None
NameidPatternString
Content
  • Base XSD Type: string
  • pattern = MSLE\.[EFHLMOPT]\.[A-Z0-9]+
<xsd:simpleType name="idPatternString">
   <xsd:restriction base="xsd:string">
      <xsd:pattern value="MSLE\.[EFHLMOPT]\.[A-Z0-9]+"/>
   </xsd:restriction>
</xsd:simpleType>

Simple Type: keywordsList

Super-types:None
Sub-types:None
NamekeywordsList
Content
  • List of:
    • Locally defined type:
      • Base XSD Type: string
      • value comes from list: { 'AC'| 'Barometer'| 'Current'| 'DAQ'| 'DC'| 'DMM'| 'GaugeBlock'| 'Hygrometer'| 'Laser'| 'Monochromator'| 'Oscilloscope'| 'PRT'| 'ResistanceBridge'| 'Sense'| 'Source'| 'Thermometer'| 'Voltage'}
<xsd:simpleType name="keywordsList">
   <xsd:list>
      <xsd:simpleType>
         <xsd:restriction base="xsd:string">
            <xsd:enumeration value="AC"/>
            <xsd:enumeration value="Barometer"/>
            <xsd:enumeration value="Current"/>
            <xsd:enumeration value="DAQ"/>
            <xsd:enumeration value="DC"/>
            <xsd:enumeration value="DMM"/>
            <xsd:enumeration value="GaugeBlock"/>
            <xsd:enumeration value="Hygrometer"/>
            <xsd:enumeration value="Laser"/>
            <xsd:enumeration value="Monochromator"/>
            <xsd:enumeration value="Oscilloscope"/>
            <xsd:enumeration value="PRT"/>
            <xsd:enumeration value="ResistanceBridge"/>
            <xsd:enumeration value="Sense"/>
            <xsd:enumeration value="Source"/>
            <xsd:enumeration value="Thermometer"/>
            <xsd:enumeration value="Voltage"/>
         </xsd:restriction>
      </xsd:simpleType>
   </xsd:list>
</xsd:simpleType>

Simple Type: labEnumerationString

Super-types:xsd:string < labEnumerationString (by restriction)
Sub-types:None
NamelabEnumerationString
Content
  • Base XSD Type: string
  • value comes from list: { 'CMM Lab'| 'Cryogenic Radiometer'| 'Detector Responsivity'| 'Flexible Optics'| 'Goniospectrophotometer'| 'Hilger Lab'| 'Kibble Balance'| 'Laser Lab'| 'Long Room'| 'Mass Standards Laboratories'| 'Photometric Bench'| 'Pressure Standards Laboratories'| 'Single Photon'| 'Spectrophotometer'| 'Underground Tape Tunnel'}
<xsd:simpleType name="labEnumerationString">
   <xsd:restriction base="xsd:string">
      <xsd:enumeration value="CMM Lab"/>
      <xsd:enumeration value="Cryogenic Radiometer"/>
      <xsd:enumeration value="Detector Responsivity"/>
      <xsd:enumeration value="Flexible Optics"/>
      <xsd:enumeration value="Goniospectrophotometer"/>
      <xsd:enumeration value="Hilger Lab"/>
      <xsd:enumeration value="Kibble Balance"/>
      <xsd:enumeration value="Laser Lab"/>
      <xsd:enumeration value="Long Room"/>
      <xsd:enumeration value="Mass Standards Laboratories"/>
      <xsd:enumeration value="Photometric Bench"/>
      <xsd:enumeration value="Pressure Standards Laboratories"/>
      <xsd:enumeration value="Single Photon"/>
      <xsd:enumeration value="Spectrophotometer"/>
      <xsd:enumeration value="Underground Tape Tunnel"/>
   </xsd:restriction>
</xsd:simpleType>

Simple Type: nonEmptyString

Super-types:xsd:string < nonEmptyString (by restriction)
Sub-types:
NamenonEmptyString
Content
  • Base XSD Type: string
  • pattern = .*\S.*
<xsd:simpleType name="nonEmptyString">
   <xsd:restriction base="xsd:string">
      <xsd:pattern value=".*\S.*"/>
   </xsd:restriction>
</xsd:simpleType>

Simple Type: nonNegativeDecimal

Super-types:xsd:decimal < nonNegativeDecimal (by restriction)
Sub-types:None
NamenonNegativeDecimal
Content
  • Base XSD Type: decimal
  • value >= 0
<xsd:simpleType name="nonNegativeDecimal">
   <xsd:restriction base="xsd:decimal">
      <xsd:minInclusive value="0"/>
   </xsd:restriction>
</xsd:simpleType>

Simple Type: quantityEnumerationString

Super-types:xsd:string < quantityEnumerationString (by restriction)
Sub-types:None
NamequantityEnumerationString
Content
  • Base XSD Type: string
  • value comes from list: { 'Angle'| 'Angularity'| 'Current'| 'Cylindricity'| 'Deviation in Length'| 'Flatness'| 'Frequency'| 'Humidity'| 'Length'| 'Parallelism'| 'Perpendicularity'| 'Pressure'| 'Resistance'| 'Roundness'| 'Runout'| 'Sphericity'| 'Straightness'| 'Temperature'| 'Total Runout'| 'Variation in Length'| 'Voltage'| 'Wavelength'}
<xsd:simpleType name="quantityEnumerationString">
   <xsd:restriction base="xsd:string">
      <xsd:enumeration value="Angle"/>
      <xsd:enumeration value="Angularity"/>
      <xsd:enumeration value="Current"/>
      <xsd:enumeration value="Cylindricity"/>
      <xsd:enumeration value="Deviation in Length"/>
      <xsd:enumeration value="Flatness"/>
      <xsd:enumeration value="Frequency"/>
      <xsd:enumeration value="Humidity"/>
      <xsd:enumeration value="Length"/>
      <xsd:enumeration value="Parallelism"/>
      <xsd:enumeration value="Perpendicularity"/>
      <xsd:enumeration value="Pressure"/>
      <xsd:enumeration value="Resistance"/>
      <xsd:enumeration value="Roundness"/>
      <xsd:enumeration value="Runout"/>
      <xsd:enumeration value="Sphericity"/>
      <xsd:enumeration value="Straightness"/>
      <xsd:enumeration value="Temperature"/>
      <xsd:enumeration value="Total Runout"/>
      <xsd:enumeration value="Variation in Length"/>
      <xsd:enumeration value="Voltage"/>
      <xsd:enumeration value="Wavelength"/>
   </xsd:restriction>
</xsd:simpleType>

Simple Type: statusEnumerationString

Super-types:xsd:string < statusEnumerationString (by restriction)
Sub-types:None
NamestatusEnumerationString
Content
  • Base XSD Type: string
  • value comes from list: {'Active'|'Damaged'|'Dormant'|'Lost'|'Retired'}
<xsd:simpleType name="statusEnumerationString">
   <xsd:restriction base="xsd:string">
      <xsd:enumeration value="Active"/>
      <xsd:enumeration value="Damaged"/>
      <xsd:enumeration value="Dormant"/>
      <xsd:enumeration value="Lost"/>
      <xsd:enumeration value="Retired"/>
   </xsd:restriction>
</xsd:simpleType>

Simple Type: teamEnumerationString

Super-types:xsd:string < teamEnumerationString (by restriction)
Sub-types:None
NameteamEnumerationString
Content
  • Base XSD Type: string
  • value comes from list: { 'Electrical'| 'Humidity'| 'Length'| 'Light'| 'Mass'| 'Pressure'| 'Temperature'| 'Time'}
<xsd:simpleType name="teamEnumerationString">
   <xsd:restriction base="xsd:string">
      <xsd:enumeration value="Electrical"/>
      <xsd:enumeration value="Humidity"/>
      <xsd:enumeration value="Length"/>
      <xsd:enumeration value="Light"/>
      <xsd:enumeration value="Mass"/>
      <xsd:enumeration value="Pressure"/>
      <xsd:enumeration value="Temperature"/>
      <xsd:enumeration value="Time"/>
   </xsd:restriction>
</xsd:simpleType>

Simple Type: tokenizedString

Super-types:xsd:string < tokenizedString (by restriction)
Sub-types:None
NametokenizedString
Content
  • Base XSD Type: string
  • pattern = \S(\S*( ?)\S+)*
<xsd:simpleType name="tokenizedString">
   <xsd:restriction base="xsd:string">
      <xsd:pattern value="\S(\S*( ?)\S+)*"/>
   </xsd:restriction>
</xsd:simpleType>

Simple Type: variables

Super-types:None
Sub-types:None
Namevariables
Content
  • List of:
    • Locally defined type:
      • Base XSD Type: string
      • pattern = [a-zA-Z][a-zA-Z0-9_]*
<xsd:simpleType name="variables">
   <xsd:list>
      <xsd:simpleType>
         <xsd:restriction base="xsd:string">
            <xsd:pattern value="[a-zA-Z][a-zA-Z0-9_]*"/>
         </xsd:restriction>
      </xsd:simpleType>
   </xsd:list>
</xsd:simpleType>