summaryrefslogtreecommitdiffstats
path: root/tools/linguist/shared/ts.dtd
blob: d979f0b9cd3ad2b6bda6081d0af028ceb3b4fcf4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
<!-- 
 ! 
 ! Some notes to the DTD:
 !
 ! The location element is set as optional since it was introduced first in Qt 4.2.
 ! The userdata element is set as optional since it was introduced first in Qt 4.4.
 !
  -->
<!-- 
 ! Macro used in order to escape byte entities not allowed in an xml document
 ! for instance, only #x9, #xA and #xD are allowed characters below #x20.
 -->
<!ENTITY % evilstring '(#PCDATA | byte)*' >
<!ELEMENT byte EMPTY>
<!ATTLIST byte
          value CDATA #REQUIRED>
<!ELEMENT TS (defaultcodec?, context+) > 
<!ATTLIST TS
          version CDATA #IMPLIED
          language CDATA #IMPLIED>
<!ELEMENT defaultcodec (#PCDATA) >
<!ELEMENT context (name, comment?, extracomment?, message+) > 
<!ATTLIST context
          encoding CDATA #IMPLIED>
<!ELEMENT name %evilstring; >
<!ELEMENT comment %evilstring; >
<!ELEMENT oldcomment %evilstring; >
<!ELEMENT translatorcomment %evilstring; >
<!ELEMENT extracomment %evilstring; >
<!ELEMENT message (location*, source, oldsource?, comment?, oldcomment?, extracomment?, translatorcomment?, translation, userdata?) >
<!ATTLIST message
          encoding CDATA #IMPLIED
          numerus (yes|no) "no">
<!ELEMENT location EMPTY>
<!ATTLIST location 
          filename CDATA #REQUIRED
          line CDATA #REQUIRED>
<!ELEMENT source %evilstring;>
<!-- 
 ! The following should really say one evilstring macro or several numerusform elements, 
 ! but the DTD can't express this. 
  -->
<!ELEMENT translation (#PCDATA|byte|numerusform)* >
<!ATTLIST translation
          type (unfinished|obsolete) #IMPLIED
          encoding CDATA #IMPLIED>
<!ELEMENT userdata (#PCDATA)* >
<!ELEMENT numerusform %evilstring; >