154 lines
1.9 KiB
Scheme
154 lines
1.9 KiB
Scheme
; XML declaration
|
|
(XMLDecl
|
|
"xml" @keyword.directive)
|
|
|
|
(XMLDecl
|
|
[
|
|
"version"
|
|
"encoding"
|
|
] @tag.attribute)
|
|
|
|
(XMLDecl
|
|
(EncName) @string.special)
|
|
|
|
(XMLDecl
|
|
(VersionNum) @number)
|
|
|
|
; Processing instructions
|
|
(PI) @keyword.directive
|
|
|
|
; Element declaration
|
|
(elementdecl
|
|
"ELEMENT" @keyword.directive.define
|
|
(Name) @tag)
|
|
|
|
(contentspec
|
|
(_
|
|
(Name) @tag.attribute))
|
|
|
|
"#PCDATA" @type.builtin
|
|
|
|
[
|
|
"EMPTY"
|
|
"ANY"
|
|
] @keyword.modifier
|
|
|
|
[
|
|
"*"
|
|
"?"
|
|
"+"
|
|
] @character.special
|
|
|
|
; Entity declaration
|
|
(GEDecl
|
|
"ENTITY" @keyword.directive.define
|
|
(Name) @constant)
|
|
|
|
(GEDecl
|
|
(EntityValue) @string)
|
|
|
|
(NDataDecl
|
|
"NDATA" @keyword
|
|
(Name) @label)
|
|
|
|
; Parsed entity declaration
|
|
(PEDecl
|
|
"ENTITY" @keyword.directive.define
|
|
"%" @operator
|
|
(Name) @function.macro)
|
|
|
|
(PEDecl
|
|
(EntityValue) @string)
|
|
|
|
; Notation declaration
|
|
(NotationDecl
|
|
"NOTATION" @keyword.directive
|
|
(Name) @label)
|
|
|
|
(NotationDecl
|
|
(ExternalID
|
|
(SystemLiteral
|
|
(URI) @string.special.url))
|
|
(#set! priority 105))
|
|
|
|
; Attlist declaration
|
|
(AttlistDecl
|
|
"ATTLIST" @keyword.directive.define
|
|
(Name) @tag)
|
|
|
|
(AttDef
|
|
(Name) @tag.attribute)
|
|
|
|
(AttDef
|
|
(Enumeration
|
|
(Nmtoken) @string))
|
|
|
|
[
|
|
(StringType)
|
|
(TokenizedType)
|
|
] @type.builtin
|
|
|
|
(NotationType
|
|
"NOTATION" @type.builtin)
|
|
|
|
[
|
|
"#REQUIRED"
|
|
"#IMPLIED"
|
|
"#FIXED"
|
|
] @attribute
|
|
|
|
; Entities
|
|
(EntityRef) @constant
|
|
|
|
((EntityRef) @constant.builtin
|
|
(#any-of? @constant.builtin "&" "<" ">" """ "'"))
|
|
|
|
(CharRef) @character
|
|
|
|
(PEReference) @function.macro
|
|
|
|
; External references
|
|
[
|
|
"PUBLIC"
|
|
"SYSTEM"
|
|
] @keyword
|
|
|
|
(PubidLiteral) @string.special
|
|
|
|
(SystemLiteral
|
|
(URI) @string.special.url)
|
|
|
|
; Delimiters & punctuation
|
|
[
|
|
"<?"
|
|
"?>"
|
|
"<!"
|
|
">"
|
|
"]]>"
|
|
] @tag.delimiter
|
|
|
|
[
|
|
"("
|
|
")"
|
|
"["
|
|
] @punctuation.bracket
|
|
|
|
[
|
|
"\""
|
|
"'"
|
|
] @punctuation.delimiter
|
|
|
|
[
|
|
","
|
|
"|"
|
|
"="
|
|
] @operator
|
|
|
|
; Misc
|
|
[
|
|
"INCLUDE"
|
|
"IGNORE"
|
|
] @keyword.import
|
|
|
|
(Comment) @comment @spell
|