1<!--
2
3 This file is part of GtkSourceView
4
5 Copyright (C) 2006 Paolo Maggi <paolo@gnome.org>
6 Copyright (C) 2006 Leonardo Ferreira Fontenelle <leo.fontenelle@gmail.com>
7
8 gtksourceview is free software; you can redistribute it and/or
9 modify it under the terms of the GNU Lesser General Public
10 License as published by the Free Software Foundation; either
11 version 2.1 of the License, or (at your option) any later version.
12
13 gtksourceview is distributed in the hope that it will be useful,
14 but WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
16 Lesser General Public License for more details.
17
18 You should have received a copy of the GNU Lesser General Public
19 License along with this library; if not, write to the Free Software
20 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
21
22-->
23<!-- FIXME: the "name" attribute can be "_name" to be marked for translation -->
24<!ENTITY % itemattrs
25 "name  CDATA #REQUIRED
26  style CDATA #REQUIRED">
27
28<!ELEMENT language (escape-char?,(line-comment|block-comment|string|syntax-item|pattern-item|keyword-list)+)>
29<!-- FIXME: the "name" and "section" attributes can be prefixed with
30     "_" to be marked for translation -->
31<!ATTLIST language
32  name                CDATA #REQUIRED
33  version             CDATA #REQUIRED
34  section             CDATA #REQUIRED
35  translation-domain  CDATA #IMPLIED
36  mimetypes           CDATA #REQUIRED>
37
38<!ELEMENT escape-char (#PCDATA)>
39
40<!ELEMENT line-comment (start-regex)>
41<!ATTLIST line-comment
42  %itemattrs;>
43
44<!ELEMENT block-comment (start-regex,end-regex)>
45<!ATTLIST block-comment
46  %itemattrs;>
47
48<!ELEMENT string (start-regex,end-regex)>
49<!ATTLIST string
50  %itemattrs;
51  end-at-line-end (true|false) "true">
52
53<!ELEMENT syntax-item (start-regex,end-regex)>
54<!ATTLIST syntax-item
55  %itemattrs;>
56
57<!ELEMENT pattern-item (regex)>
58<!ATTLIST pattern-item
59  %itemattrs;>
60
61<!ELEMENT keyword-list (keyword+)>
62<!ATTLIST keyword-list
63  %itemattrs;
64  case-sensitive                  (true|false) "true"
65  match-empty-string-at-beginning (true|false) "false"
66  match-empty-string-at-end       (true|false) "false"
67  beginning-regex                 CDATA        #IMPLIED
68  end-regex                       CDATA        #IMPLIED>
69
70<!ELEMENT start-regex (#PCDATA)>
71<!ELEMENT end-regex (#PCDATA)>
72<!ELEMENT regex (#PCDATA)>
73<!ELEMENT keyword (#PCDATA)>
74