1N/A<!-- Document Type for FreeDesktop.org Device Information Files -->
1N/A<!-- CVSID: $Id$ -->
1N/A
1N/A<!-- <deviceinfo> is the top-level element of an fdi file. -->
1N/A<!ELEMENT deviceinfo (device*) >
1N/A<!ATTLIST deviceinfo
1N/A version (0.1|0.2) #REQUIRED
1N/A>
1N/A
1N/A<!ELEMENT device (match|merge)* >
1N/A
1N/A<!ELEMENT match (match|merge|prepend|append|remove|spawn)* >
1N/A<!ATTLIST match
1N/A key CDATA #REQUIRED
1N/A string CDATA #IMPLIED
1N/A int CDATA #IMPLIED
1N/A bool (false|true) #IMPLIED
1N/A exists (false|true) #IMPLIED
1N/A empty (false|true) #IMPLIED
1N/A is_ascii (false|true) #IMPLIED
1N/A is_absolute_path (false|true) #IMPLIED
1N/A contains CDATA #IMPLIED
1N/A contains_ncase CDATA #IMPLIED
1N/A compare_lt CDATA #IMPLIED
1N/A compare_le CDATA #IMPLIED
1N/A compare_gt CDATA #IMPLIED
1N/A compare_ge CDATA #IMPLIED
1N/A>
1N/A
1N/A<!ELEMENT merge (#PCDATA) >
1N/A<!ATTLIST merge
1N/A key CDATA #REQUIRED
1N/A type (string|int|uint64|bool|double|strlist|copy_property) #REQUIRED
1N/A>
1N/A
1N/A<!ELEMENT prepend (#PCDATA) >
1N/A<!ATTLIST prepend
1N/A key CDATA #REQUIRED
1N/A type (string|strlist|int|bool|double|copy_property) #REQUIRED
1N/A>
1N/A
1N/A<!ELEMENT append (#PCDATA) >
1N/A<!ATTLIST append
1N/A key CDATA #REQUIRED
1N/A type (string|strlist|int|bool|double|copy_property) #REQUIRED
1N/A>
1N/A
1N/A<!ELEMENT remove (#PCDATA) >
1N/A<!ATTLIST remove
1N/A key CDATA #REQUIRED
1N/A type (strlist) #REQUIRED
1N/A>
1N/A
1N/A<!ELEMENT spawn (#PCDATA) >
1N/A<!ATTLIST spawn
1N/A udi CDATA #REQUIRED
1N/A>