medit/moo/mooedit/language-specs/language.dtd

52 lines
1.5 KiB
DTD

<!-- FIXME: the "name" attribute can be "_name" to be marked for translation -->
<!ENTITY % itemattrs
"name CDATA #REQUIRED
style CDATA #REQUIRED">
<!ELEMENT language (escape-char?,(line-comment|block-comment|string|syntax-item|pattern-item|keyword-list)+)>
<!-- FIXME: the "name" and "section" attributes can be prefixed with
"_" to be marked for translation -->
<!ATTLIST language
name CDATA #REQUIRED
version CDATA #REQUIRED
section CDATA #REQUIRED
translation-domain CDATA #IMPLIED
mimetypes CDATA #REQUIRED>
<!ELEMENT escape-char (#PCDATA)>
<!ELEMENT line-comment (start-regex)>
<!ATTLIST line-comment
%itemattrs;>
<!ELEMENT block-comment (start-regex,end-regex)>
<!ATTLIST block-comment
%itemattrs;>
<!ELEMENT string (start-regex,end-regex)>
<!ATTLIST string
%itemattrs;
end-at-line-end (true|false) "true">
<!ELEMENT syntax-item (start-regex,end-regex)>
<!ATTLIST syntax-item
%itemattrs;>
<!ELEMENT pattern-item (regex)>
<!ATTLIST pattern-item
%itemattrs;>
<!ELEMENT keyword-list (keyword+)>
<!ATTLIST keyword-list
%itemattrs;
case-sensitive (true|false) "true"
match-empty-string-at-beginning (true|false) "false"
match-empty-string-at-end (true|false) "false"
beginning-regex CDATA #IMPLIED
end-regex CDATA #IMPLIED>
<!ELEMENT start-regex (#PCDATA)>
<!ELEMENT end-regex (#PCDATA)>
<!ELEMENT regex (#PCDATA)>
<!ELEMENT keyword (#PCDATA)>