| <?xml version="1.0" encoding="UTF-8" ?> |
| <!-- |
| Note: The .xsd files are a Technology Preview. They are subject to change or removal in future CLDR versions. |
| Note: DTD @-annotations are not currently converted to .xsd. For full CLDR file validation, use the DTD and CLDR tools. |
| --> |
| |
| <!-- |
| Copyright © 1991-2024 Unicode, Inc. |
| For terms of use, see http://www.unicode.org/copyright.html |
| SPDX-License-Identifier: Unicode-3.0 |
| CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/) |
| --><!-- |
| Important Note: |
| |
| This DTD describes a technical preview of Keyboard Test Data |
| --><xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"> |
| <xs:element name="keyboardTest3"> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:element ref="info"/> |
| <xs:element maxOccurs="unbounded" minOccurs="0" ref="repertoire"/> |
| <xs:element maxOccurs="unbounded" minOccurs="0" ref="tests"/> |
| <xs:element maxOccurs="unbounded" minOccurs="0" ref="special"/> |
| </xs:sequence> |
| <xs:attribute name="conformsTo" use="required"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="techpreview"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| </xs:complexType> |
| </xs:element> |
| |
| |
| |
| <xs:element name="info"> |
| <xs:complexType> |
| <xs:attribute name="keyboard" use="required"/> |
| <xs:attribute name="author"/> |
| <xs:attribute name="name" type="xs:NMTOKEN" use="required"/> |
| </xs:complexType> |
| </xs:element> |
| |
| |
| |
| |
| |
| |
| <xs:element name="repertoire"> |
| <xs:complexType> |
| <xs:attribute name="chars" use="required"/> |
| <xs:attribute name="type"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="default"/> |
| <xs:enumeration value="simple"/> |
| <xs:enumeration value="gesture"/> |
| <xs:enumeration value="flick"/> |
| <xs:enumeration value="longPress"/> |
| <xs:enumeration value="multiTap"/> |
| <xs:enumeration value="hardware"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="name" type="xs:NMTOKEN" use="required"/> |
| </xs:complexType> |
| </xs:element> |
| |
| |
| |
| |
| |
| <xs:element name="tests"> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:element maxOccurs="unbounded" ref="test"/> |
| <xs:element maxOccurs="unbounded" minOccurs="0" ref="special"/> |
| </xs:sequence> |
| <xs:attribute name="name" type="xs:NMTOKEN" use="required"/> |
| </xs:complexType> |
| </xs:element> |
| |
| |
| <xs:element name="test"> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:element minOccurs="0" ref="startContext"/> |
| <xs:choice maxOccurs="unbounded" minOccurs="0"> |
| <xs:element ref="keystroke"/> |
| <xs:element ref="emit"/> |
| <xs:element ref="backspace"/> |
| <xs:element ref="check"/> |
| </xs:choice> |
| <xs:element maxOccurs="unbounded" minOccurs="0" ref="special"/> |
| </xs:sequence> |
| <xs:attribute name="name" type="xs:NMTOKEN" use="required"/> |
| </xs:complexType> |
| </xs:element> |
| |
| |
| <xs:element name="startContext"> |
| <xs:complexType> |
| <xs:attribute name="to" use="required"/> |
| </xs:complexType> |
| </xs:element> |
| |
| |
| |
| |
| <xs:element name="keystroke"> |
| <xs:complexType> |
| <xs:attribute name="key" type="xs:NMTOKEN" use="required"/> |
| <xs:attribute name="flick" type="xs:NMTOKENS"/> |
| <xs:attribute name="longPress"/> |
| <xs:attribute name="tapCount"/> |
| </xs:complexType> |
| </xs:element> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <xs:element name="emit"> |
| <xs:complexType> |
| <xs:attribute name="to" use="required"/> |
| </xs:complexType> |
| </xs:element> |
| |
| |
| |
| |
| |
| <xs:element name="backspace"> |
| <xs:complexType/> |
| </xs:element> |
| |
| |
| <xs:element name="check"> |
| <xs:complexType> |
| <xs:attribute name="result" use="required"/> |
| </xs:complexType> |
| </xs:element> |
| |
| |
| |
| |
| |
| <xs:element name="special" type="any"/> |
| <xs:complexType mixed="true" name="any"> |
| <xs:sequence> |
| <xs:any maxOccurs="unbounded" minOccurs="0" processContents="strict"/> |
| </xs:sequence> |
| </xs:complexType> |
| </xs:schema> |