ff768c1c0f
--HG-- branch : develop
73 lines
2.7 KiB
XML
73 lines
2.7 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
|
|
<xs:element name="vit">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="version" type="formatVersion"></xs:element>
|
|
<xs:element name="read-only" type="xs:boolean"></xs:element>
|
|
<xs:element name="notes" type="xs:string" minOccurs="0" maxOccurs="1"></xs:element>
|
|
<xs:element name="unit" type="units"></xs:element>
|
|
<xs:element name="pm_system" type="psCode"></xs:element>
|
|
<xs:element name="personal">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="family-name" type="xs:string"></xs:element>
|
|
<xs:element name="given-name" type="xs:string"></xs:element>
|
|
<xs:element name="birth-date" type="xs:date"></xs:element>
|
|
<xs:element name="gender" type="gender"></xs:element>
|
|
<xs:element name="email" type="xs:string"></xs:element>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
<xs:element name="body-measurements">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="m" minOccurs="0" maxOccurs="unbounded">
|
|
<xs:complexType>
|
|
<xs:attribute name="name" type="shortName" use="required"></xs:attribute>
|
|
<xs:attribute name="value" type="xs:string" use="required"></xs:attribute>
|
|
<xs:attribute name="full_name" type="xs:string"></xs:attribute>
|
|
<xs:attribute name="description" type="xs:string"></xs:attribute>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
<xs:unique name="measurementName">
|
|
<xs:selector xpath="body-measurements/m"/>
|
|
<xs:field xpath="@name"/>
|
|
</xs:unique>
|
|
</xs:element>
|
|
<xs:simpleType name="shortName">
|
|
<xs:restriction base="xs:string">
|
|
<xs:pattern value="^([^0-9*/^+\-=\s()?%:;!.,`'\"]){1,1}([^*/^+\-=\s()?%:;!.,`'\"]){0,}$"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
<xs:simpleType name="formatVersion">
|
|
<xs:restriction base="xs:string">
|
|
<xs:pattern value="^(0|([1-9][0-9]*))\.(0|([1-9][0-9]*))\.(0|([1-9][0-9]*))$"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
<xs:simpleType name="units">
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="mm"/>
|
|
<xs:enumeration value="cm"/>
|
|
<xs:enumeration value="inch"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
<xs:simpleType name="gender">
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="unknown"/>
|
|
<xs:enumeration value="male"/>
|
|
<xs:enumeration value="female"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
<xs:simpleType name="psCode">
|
|
<xs:restriction base="xs:string">
|
|
<xs:pattern value="^^(([0-9]|[1-4][0-9]|5[0-4])|998)$"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:schema>
|