| <!-- |
| 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 --> |
| |
| <!ELEMENT keyboardTest3 ( info, repertoire*, tests*, special* ) > |
| <!--@TECHPREVIEW--> |
| <!ATTLIST keyboardTest3 conformsTo (techpreview) #REQUIRED > |
| <!--@MATCH:any--> |
| <!--@METADATA--> |
| |
| <!ELEMENT info EMPTY > |
| <!--@TECHPREVIEW--> |
| <!ATTLIST info keyboard CDATA #REQUIRED > |
| <!--@MATCH:any--> |
| <!--@VALUE--> |
| <!ATTLIST info author CDATA #IMPLIED > |
| <!--@MATCH:any--> |
| <!--@METADATA--> |
| <!ATTLIST info name NMTOKEN #REQUIRED > |
| <!--@MATCH:regex/[A-Za-z0-9][A-Za-z0-9-]*--> |
| |
| <!ELEMENT repertoire EMPTY > |
| <!--@TECHPREVIEW--> |
| <!ATTLIST repertoire chars CDATA #REQUIRED > |
| <!--@MATCH:any--> |
| <!--@VALUE--> |
| <!ATTLIST repertoire type (default | simple | gesture | flick | longPress | multiTap | hardware) #IMPLIED > |
| <!--@VALUE--> |
| <!ATTLIST repertoire name NMTOKEN #REQUIRED > |
| <!--@MATCH:regex/[A-Za-z0-9][A-Za-z0-9-]*--> |
| |
| <!ELEMENT tests ( test+, special* ) > |
| <!--@TECHPREVIEW--> |
| <!ATTLIST tests name NMTOKEN #REQUIRED > |
| <!--@MATCH:regex/[A-Za-z0-9][A-Za-z0-9-]*--> |
| |
| <!ELEMENT test ( startContext?, ( keystroke | emit | backspace | check )*, special* ) > |
| <!--@TECHPREVIEW--> |
| <!ATTLIST test name NMTOKEN #REQUIRED > |
| <!--@MATCH:regex/[A-Za-z0-9][A-Za-z0-9-]*--> |
| |
| <!ELEMENT startContext EMPTY > |
| <!--@TECHPREVIEW--> |
| <!ATTLIST startContext to CDATA #REQUIRED > |
| <!--@MATCH:any--> |
| <!--@VALUE--> |
| <!--@ALLOWS_UESC--> |
| |
| <!ELEMENT keystroke EMPTY > |
| <!--@ORDERED--> |
| <!--@TECHPREVIEW--> |
| <!ATTLIST keystroke key NMTOKEN #REQUIRED > |
| <!--@MATCH:any--> |
| <!--@VALUE--> |
| <!ATTLIST keystroke flick NMTOKENS #IMPLIED > |
| <!--@MATCH:any--> |
| <!--@VALUE--> |
| <!ATTLIST keystroke longPress CDATA #IMPLIED > |
| <!--@MATCH:range/1~999--> |
| <!--@VALUE--> |
| <!ATTLIST keystroke tapCount CDATA #IMPLIED > |
| <!--@MATCH:range/2~999--> |
| <!--@VALUE--> |
| |
| <!ELEMENT emit EMPTY > |
| <!--@ORDERED--> |
| <!--@TECHPREVIEW--> |
| <!ATTLIST emit to CDATA #REQUIRED > |
| <!--@MATCH:any--> |
| <!--@VALUE--> |
| <!--@ALLOWS_UESC--> |
| |
| <!ELEMENT backspace EMPTY > |
| <!--@ORDERED--> |
| <!--@TECHPREVIEW--> |
| |
| <!ELEMENT check EMPTY > |
| <!--@ORDERED--> |
| <!--@TECHPREVIEW--> |
| <!ATTLIST check result CDATA #REQUIRED > |
| <!--@MATCH:any--> |
| <!--@VALUE--> |
| <!--@ALLOWS_UESC--> |
| |
| <!ELEMENT special ANY > |
| <!--@TECHPREVIEW--> |