73 lines
2.8 KiB
XML
73 lines
2.8 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 name="read-only" type="xs:boolean"/>
|
||
<xs:element name="notes" type="xs:string" minOccurs="0" maxOccurs="1"/>
|
||
<xs:element name="unit" type="units"/>
|
||
<xs:element name="pm_system" type="psCode"/>
|
||
<xs:element name="personal">
|
||
<xs:complexType>
|
||
<xs:sequence>
|
||
<xs:element name="customer" type="xs:string"/>
|
||
<xs:element name="birth-date" type="xs:date"/>
|
||
<xs:element name="gender" type="gender"/>
|
||
<xs:element name="email" type="xs:string"/>
|
||
</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 name="value" type="xs:string" use="required"/>
|
||
<xs:attribute name="full_name" type="xs:string"/>
|
||
<xs:attribute name="description" type="xs:string"/>
|
||
</xs:complexType>
|
||
</xs:element>
|
||
</xs:sequence>
|
||
<xs:attribute name="template" type="xs:string"/>
|
||
</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="([^\p{Nd}\p{Zs}*/&|!<>^ \()\-−+.,٫, ٬.’=?:;'\"]){1,1}([^\p{Zs}*/&|!<>^ \()\-−+.,٫, ٬.’=?:;\"]){0,}"/>
|
||
</xs:restriction>
|
||
</xs:simpleType>
|
||
<xs:simpleType name="formatVersion">
|
||
<xs:restriction base="xs:string">
|
||
<xs:pattern value="[0-9]{1,}\.[0-9]{1,}\.[0-9]{1,}"/>
|
||
</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>
|