Warning, /frameworks/syntax-highlighting/data/schema/language.xsd is written in an unsupported language. File is not indexed.
0001 <?xml version="1.0" encoding="UTF-8"?> 0002 <!-- 0003 SPDX-FileCopyrightText: 2001 Joseph Wenninger <jowenn@kde.org> 0004 SPDX-FileCopyrightText: 2002 Anders Lund <anders@alweb.dk> 0005 SPDX-FileCopyrightText: 2003 Simon Huerlimann <simon.huerlimann@access.unizh.ch> 0006 SPDX-FileCopyrightText: 2005 Dominik Haumann <dhdev@gmx.de> 0007 SPDX-FileCopyrightText: 2008 Wilbert Berendsen <info@wilbertberendsen.nl> 0008 0009 This file describes the XML format used for syntax highlight descriptions 0010 for the Kate text editor (https://kate-editor.org), which is part of the 0011 KDE desktop environment (https://kde.org). 0012 You'll find the "Working with Syntax Highlighting" at 0013 https://docs.kde.org/stable5/en/kate/katepart/highlight.html 0014 0015 You can validate your syntax files using "validatehl.sh yourSyntax.xml". 0016 This needs xmllint from the libxml2 XML library. 0017 0018 In any case, the katehighlightingindexer will validate all files bundled 0019 with KTextEditor during compile time and fail on errors. 0020 0021 TODO 0022 - find a more readable way for the - -dtdvalid stuff, it's just annoying 0023 xml comments don't allow it. 0024 --> 0025 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"> 0026 <!-- 0027 Default Styles 0028 Allowed predefined default styles for itemData, available are: 0029 - dsNormal, used for normal text 0030 - dsKeyword, used for keywords 0031 - dsFunction, used for function calls 0032 - dsVariable, used for variables 0033 - dsControlFlow, used for control flow, e.g. if, then, else, continue, break 0034 - dsOperator, used for operators such as +, -, *, :: 0035 - dsBuiltIn, used for built-in language classes and functions 0036 - dsExtension,used for extensions, such as boost, Qt 0037 - dsPreprocessor, used for preprocessor statements 0038 - dsAttribute,used for attributes, e.g. @override in java 0039 0040 - dsChar, used for a character 0041 - dsSpecialChar, used for escaped characters 0042 - dsString, used for strings 0043 - dsVerbatimString, used for strings such as HERE docs 0044 - dsSpecialString, used for strings such as regular expressions or LaTeX math mode 0045 - dsImport, used for includes, imports and modules 0046 0047 - dsDataType, used for data types 0048 - dsDecVal, used for decimal values 0049 - dsBaseN, used for values with a base other than 10 0050 - dsFloat, used for float values 0051 - dsConstant, used for language constants 0052 0053 - dsComment, used for comments 0054 - dsDocumentation, used for comments that are API documentation 0055 - dsAnnotation, used for annotation in comments, e.g. @param in doxygen 0056 - dsCommentVar, used for variables in comments, e.g. after @param in doxygen 0057 - dsRegionMarker, used for region markers 0058 - dsInformation, used for information in comments, e.g. @note in doxygen 0059 - dsWarning, used for warnings in comments, e.g. @warning in doxygen 0060 - dsAlert, used for warning messages such as TODO, WARNING in comments 0061 0062 - dsOthers, used for 'other' things 0063 - dsError, used for error highlighting. 0064 --> 0065 <xs:simpleType name="defStyles"> 0066 <xs:restriction base="xs:token"> 0067 <xs:enumeration value="dsNormal"/> 0068 <xs:enumeration value="dsKeyword"/> 0069 <xs:enumeration value="dsFunction"/> 0070 <xs:enumeration value="dsVariable"/> 0071 <xs:enumeration value="dsControlFlow"/> 0072 <xs:enumeration value="dsOperator"/> 0073 <xs:enumeration value="dsBuiltIn"/> 0074 <xs:enumeration value="dsExtension"/> 0075 <xs:enumeration value="dsPreprocessor"/> 0076 <xs:enumeration value="dsAttribute"/> 0077 <xs:enumeration value="dsChar"/> 0078 <xs:enumeration value="dsSpecialChar"/> 0079 <xs:enumeration value="dsString"/> 0080 <xs:enumeration value="dsVerbatimString"/> 0081 <xs:enumeration value="dsSpecialString"/> 0082 <xs:enumeration value="dsImport"/> 0083 <xs:enumeration value="dsDataType"/> 0084 <xs:enumeration value="dsDecVal"/> 0085 <xs:enumeration value="dsBaseN"/> 0086 <xs:enumeration value="dsFloat"/> 0087 <xs:enumeration value="dsConstant"/> 0088 <xs:enumeration value="dsComment"/> 0089 <xs:enumeration value="dsDocumentation"/> 0090 <xs:enumeration value="dsAnnotation"/> 0091 <xs:enumeration value="dsCommentVar"/> 0092 <xs:enumeration value="dsRegionMarker"/> 0093 <xs:enumeration value="dsInformation"/> 0094 <xs:enumeration value="dsWarning"/> 0095 <xs:enumeration value="dsAlert"/> 0096 <xs:enumeration value="dsOthers"/> 0097 <xs:enumeration value="dsError"/> 0098 </xs:restriction> 0099 </xs:simpleType> 0100 <!-- 0101 Char type 0102 A sequence of exactly 1 character 0103 --> 0104 <xs:simpleType name="char"> 0105 <xs:restriction base="xs:string"> 0106 <xs:length value="1"/> 0107 </xs:restriction> 0108 </xs:simpleType> 0109 <!-- 0110 Language specification 0111 name: The name of this syntax description. Used in the Highlightning Mode menu 0112 section: The logical group to which this syntax description belongs. Used for sub menus 0113 extensions: A file glob or pattern to decide for which documents to use this syntax description 0114 style: The style that this highlighter provides. It is used through required-syntax-style by the indenters. [optional] 0115 mimetype: A list of mimetypes to decide for which documents to use this syntax description [optional] 0116 version: Version number of this syntax description 0117 kateversion: Kate version required for using this file 0118 casesensitive: Ignored but preserved to maintain compatibility in older versions of KF5. 0119 priority: Priority of this language, if more than one are usable for the file [optional] 0120 author: Name of author of this hl file [optional] 0121 license: License for this hl file [optional] 0122 indenter: Name of the Indenter to use for this highlighting mode per default, like "cstyle" [optional] 0123 hidden: Should it be hidden in menu [boolean, optional, default=false] 0124 --> 0125 <xs:element name="language"> 0126 <xs:complexType> 0127 <xs:sequence> 0128 <xs:element ref="highlighting"/> 0129 <xs:element minOccurs="0" ref="general"/> 0130 <xs:element minOccurs="0" ref="spellchecking"/> 0131 </xs:sequence> 0132 <xs:attribute name="name" use="required"/> 0133 <xs:attribute name="section" use="required" type="xs:NMTOKEN"/> 0134 <xs:attribute name="extensions" use="required"/> 0135 <xs:attribute name="version" use="required" type="xs:integer"/> 0136 <xs:attribute name="kateversion" use="required" type="xs:decimal"/> 0137 <xs:attribute name="style"/> 0138 <xs:attribute name="mimetype"/> 0139 <!-- always ignored, <keywords casesensitive> must be used --> 0140 <xs:attribute name="casesensitive" type="xs:boolean"/> 0141 <xs:attribute name="priority" type="xs:integer"/> 0142 <xs:attribute name="author"/> 0143 <xs:attribute name="license"/> 0144 <xs:attribute name="indenter"/> 0145 <xs:attribute name="hidden" type="xs:boolean"/> 0146 </xs:complexType> 0147 </xs:element> 0148 <!-- General options --> 0149 <xs:element name="general"> 0150 <xs:complexType> 0151 <xs:choice minOccurs="0" maxOccurs="unbounded"> 0152 <xs:element ref="folding"/> 0153 <xs:element ref="comments"/> 0154 <xs:element ref="keywords"/> 0155 <xs:element ref="emptyLines"/> 0156 </xs:choice> 0157 </xs:complexType> 0158 </xs:element> 0159 <!-- 0160 List of folding 0161 indentationsensitive: If true, the code folding is indentation based. 0162 --> 0163 <xs:element name="folding"> 0164 <xs:complexType> 0165 <xs:attribute name="indentationsensitive" type="xs:boolean"/> 0166 </xs:complexType> 0167 </xs:element> 0168 <!-- List of comments --> 0169 <xs:element name="comments"> 0170 <xs:complexType> 0171 <xs:sequence> 0172 <xs:element maxOccurs="unbounded" ref="comment"/> 0173 </xs:sequence> 0174 </xs:complexType> 0175 </xs:element> 0176 <!-- 0177 Comment specification 0178 name: Type of this comment. Allowed are 'singleLine' and 'multiLine' 0179 start: The comment starts with this string 0180 end: The comment ends with this string [optional] 0181 region: The region name of the foldable multiline comment. If you have 0182 beginRegion="Comment" ... endRegion="Comment" you should use 0183 region="Comment". This way uncomment works even if you do not 0184 select all the text of the multiline comment. 0185 position: only availalbe for type singleLine. Default is column0, to insert 0186 the single line comment characters after the whitespaces 0187 (= before the first non space) set position to "afterwhitespace" 0188 --> 0189 <xs:element name="comment"> 0190 <xs:complexType> 0191 <xs:attribute name="name" use="required"> 0192 <xs:simpleType> 0193 <xs:restriction base="xs:token"> 0194 <xs:enumeration value="singleLine"/> 0195 <xs:enumeration value="multiLine"/> 0196 </xs:restriction> 0197 </xs:simpleType> 0198 </xs:attribute> 0199 <xs:attribute name="start" use="required"/> 0200 <xs:attribute name="end"/> 0201 <xs:attribute name="region"/> 0202 <xs:attribute name="position"> 0203 <xs:simpleType> 0204 <xs:restriction base="xs:token"> 0205 <xs:enumeration value="afterwhitespace"/> 0206 </xs:restriction> 0207 </xs:simpleType> 0208 </xs:attribute> 0209 </xs:complexType> 0210 </xs:element> 0211 <!-- 0212 Keyword options 0213 casesensitive: Whether keywords are matched case sensitive. [boolean, optional, default=true] 0214 weakDeliminator: Add weak deliminators [optional, default: ""] 0215 additionalDeliminator: Add deliminators [optional] 0216 wordWrapDeliminator: characters that are used to wrap long lines [optional] 0217 0218 --> 0219 <xs:element name="keywords"> 0220 <xs:complexType> 0221 <xs:attribute name="casesensitive" type="xs:boolean"/> 0222 <xs:attribute name="weakDeliminator"/> 0223 <xs:attribute name="additionalDeliminator"/> 0224 <xs:attribute name="wordWrapDeliminator"/> 0225 </xs:complexType> 0226 </xs:element> 0227 <!-- 0228 Treat lines that match a given regular expression as empty line. This is 0229 needed for example in Python for comments (#...), as then the indentation 0230 based folding should ignore the line. 0231 This is only implemented for indentation based folding. If the folding 0232 is not indentation based, the emptyLines are not used. 0233 --> 0234 <xs:element name="emptyLines"> 0235 <xs:complexType> 0236 <xs:sequence> 0237 <xs:element minOccurs="0" maxOccurs="unbounded" ref="emptyLine"/> 0238 </xs:sequence> 0239 </xs:complexType> 0240 </xs:element> 0241 <!-- 0242 One empty line regular expression. 0243 regexpr: The regular expression, example from python: ^\s*#.*$ 0244 casesensitive: Sets, whether the regular expression match is performed case sesitive 0245 --> 0246 <xs:element name="emptyLine"> 0247 <xs:complexType> 0248 <xs:attribute name="regexpr" use="required"/> 0249 <xs:attribute name="casesensitive" type="xs:boolean"/> 0250 </xs:complexType> 0251 </xs:element> 0252 <!-- Highlighting specification --> 0253 <xs:element name="highlighting"> 0254 <xs:complexType> 0255 <xs:sequence> 0256 <xs:element minOccurs="0" maxOccurs="unbounded" ref="list"/> 0257 <xs:element ref="contexts"/> 0258 <xs:element ref="itemDatas"/> 0259 </xs:sequence> 0260 </xs:complexType> 0261 </xs:element> 0262 <!-- 0263 List of items 0264 name: Name of this list 0265 --> 0266 <xs:element name="list"> 0267 <xs:complexType> 0268 <xs:choice minOccurs="0" maxOccurs="unbounded"> 0269 <xs:element ref="item"/> 0270 <xs:element ref="include"/> 0271 </xs:choice> 0272 <xs:attribute name="name" use="required"/> 0273 </xs:complexType> 0274 </xs:element> 0275 <!-- 0276 List item 0277 contains string used in <keyword> 0278 --> 0279 <xs:element name="item" type="xs:string"/> 0280 <!-- 0281 List include 0282 contains a name of <keyword> 0283 --> 0284 <xs:element name="include" type="xs:string"/> 0285 <!-- List of contexts --> 0286 <xs:element name="contexts"> 0287 <xs:complexType> 0288 <xs:sequence> 0289 <xs:element maxOccurs="unbounded" ref="context"/> 0290 </xs:sequence> 0291 </xs:complexType> 0292 </xs:element> 0293 <!-- 0294 context specification 0295 name: The name of this context specification. Used in '*Context' attributes [optional] 0296 attribute: The name of the ItemData to be used for matching text 0297 lineEndContext: Next context if end of line is encountered [optional, default='#stay'] 0298 lineEmptyContext: Next context if an empty line is encountered [optional, default=value of lineEndContext] 0299 fallthrough: Use a fallthrough context [optional] 0300 deprecated since 5.62 but preserved to maintain compatibility in older versions of KF5 0301 fallthroughContext: Fall through to this context [optional, default='#stay'] 0302 dynamic: Dynamic context [boolean, optional] 0303 deprecated since always but preserved to maintain compatibility in older versions of KF5 0304 noIndentationBasedFolding: Python uses indentation based folding. However, Python has parts where 0305 it does not use indentation based folding (e.g. for """ strings). In this case 0306 switch to an own context and set this attribute to true. Then the indentation 0307 based folding will ignore this parts and not change folding markers. [optional] 0308 stopEmptyLineContextSwitchLoop: Do not continue the context switching if an empty line is encountered. [boolean, optional, default=false] 0309 --> 0310 <xs:element name="context"> 0311 <xs:complexType> 0312 <xs:choice minOccurs="0" maxOccurs="unbounded"> 0313 <xs:element ref="keyword"/> 0314 <xs:element ref="Float"/> 0315 <xs:element ref="HlCOct"/> 0316 <xs:element ref="HlCHex"/> 0317 <xs:element ref="Int"/> 0318 <xs:element ref="DetectChar"/> 0319 <xs:element ref="Detect2Chars"/> 0320 <xs:element ref="AnyChar"/> 0321 <xs:element ref="StringDetect"/> 0322 <xs:element ref="WordDetect"/> 0323 <xs:element ref="RegExpr"/> 0324 <xs:element ref="LineContinue"/> 0325 <xs:element ref="HlCStringChar"/> 0326 <xs:element ref="RangeDetect"/> 0327 <xs:element ref="HlCChar"/> 0328 <xs:element ref="IncludeRules"/> 0329 <xs:element ref="DetectSpaces"/> 0330 <xs:element ref="DetectIdentifier"/> 0331 </xs:choice> 0332 <xs:attribute name="name"/> 0333 <xs:attribute name="attribute" use="required"/> 0334 <xs:attribute name="lineEndContext"/> 0335 <xs:attribute name="lineEmptyContext"/> 0336 <xs:attribute name="fallthrough"> 0337 <xs:simpleType> 0338 <!-- always true since 5.62 --> 0339 <xs:restriction base="xs:token"> 0340 <xs:enumeration value="1"/> 0341 <xs:enumeration value="true"/> 0342 </xs:restriction> 0343 </xs:simpleType> 0344 </xs:attribute> 0345 <xs:attribute name="fallthroughContext"/> 0346 <!-- always ignored --> 0347 <xs:attribute name="dynamic" type="xs:boolean"/> 0348 <xs:attribute name="noIndentationBasedFolding" type="xs:boolean"/> 0349 <!-- since 5.103 --> 0350 <xs:attribute name="stopEmptyLineContextSwitchLoop" type="xs:boolean"/> 0351 </xs:complexType> 0352 </xs:element> 0353 <!-- 0354 Common attributes 0355 attribute: The name of the ItemData to be used for matching text 0356 context: The name of the context to go to when this rule matches 0357 beginRegion: Begin a region of type beginRegion [optional] 0358 endRegion: End a region of type endRegion [optional] 0359 firstNonSpace: should this rule only match at first non-space char in line? 0360 column: should this rule only match at given column in line (column == count of chars in front) 0361 --> 0362 <xs:attributeGroup name="commonAttributes"> 0363 <xs:attribute name="attribute"/> 0364 <xs:attribute name="context"/> 0365 <xs:attribute name="beginRegion"/> 0366 <xs:attribute name="endRegion"/> 0367 <xs:attribute name="lookAhead" type="xs:boolean"/> 0368 <xs:attribute name="firstNonSpace" type="xs:boolean"/> 0369 <xs:attribute name="column" type="xs:integer"/> 0370 </xs:attributeGroup> 0371 <!-- 0372 Detect members of a keyword list 0373 commonAttributes: Common attributes 0374 insensitive: Is this list case-insensitive? [boolean, optional, see note] 0375 String: Name of the list 0376 weakDeliminator: Add weak deliminators [optional, see note] 0377 additionalDeliminator: Add deliminators [optional, see note] 0378 0379 By default, case sensitivity is determined from <keywords casesensitive> in 0380 <general> (default=true), but can be overridden per-list with 'insensitive'. 0381 0382 weakDeliminator and additionalDeliminator are accumulated to those defined in 0383 <keywords weakDeliminator additionalDeliminator> in <general>. 0384 --> 0385 <xs:element name="keyword"> 0386 <xs:complexType> 0387 <xs:attributeGroup ref="commonAttributes"/> 0388 <xs:attribute name="insensitive" type="xs:boolean"/> 0389 <xs:attribute name="String" use="required"/> 0390 <xs:attribute name="weakDeliminator"/> 0391 <xs:attribute name="additionalDeliminator"/> 0392 </xs:complexType> 0393 </xs:element> 0394 <!-- 0395 Detect a floating point number (as the regular expression: (\b[0-9]+\.[0-9]*|\.[0-9]+)([eE][-+]?[0-9]+)?). 0396 commonAttributes: Common attributes 0397 weakDeliminator: Add weak deliminators [optional] 0398 additionalDeliminator: Add deliminators [optional] 0399 --> 0400 <xs:element name="Float"> 0401 <xs:complexType> 0402 <xs:attributeGroup ref="commonAttributes"/> 0403 <xs:attribute name="weakDeliminator"/> 0404 <xs:attribute name="additionalDeliminator"/> 0405 </xs:complexType> 0406 </xs:element> 0407 <!-- 0408 Detect an octal number (as the regular expression: \b0[0-7]+). 0409 commonAttributes: Common attributes 0410 weakDeliminator: Add weak deliminators [optional] 0411 additionalDeliminator: Add deliminators [optional] 0412 --> 0413 <xs:element name="HlCOct"> 0414 <xs:complexType> 0415 <xs:attributeGroup ref="commonAttributes"/> 0416 <xs:attribute name="weakDeliminator"/> 0417 <xs:attribute name="additionalDeliminator"/> 0418 </xs:complexType> 0419 </xs:element> 0420 <!-- 0421 Detect a hexadecimal number (as a regular expression: \b0[xX][0-9a-fA-F]+). 0422 commonAttributes: Common attributes 0423 weakDeliminator: Add weak deliminators [optional] 0424 additionalDeliminator: Add deliminators [optional] 0425 --> 0426 <xs:element name="HlCHex"> 0427 <xs:complexType> 0428 <xs:attributeGroup ref="commonAttributes"/> 0429 <xs:attribute name="weakDeliminator"/> 0430 <xs:attribute name="additionalDeliminator"/> 0431 </xs:complexType> 0432 </xs:element> 0433 <!-- 0434 Detect C-style character. Characters enclosed in a tick (Example: 'c') which may be a simple character or an escaped character (as a regular expression: '(\\([abefnrtv"'?\\.]|x[0-9a-fA-F]{1,2}|[0-7]{1,3})|[^'])') 0435 commonAttributes: Common attributes 0436 --> 0437 <xs:element name="HlCChar"> 0438 <xs:complexType> 0439 <xs:attributeGroup ref="commonAttributes"/> 0440 </xs:complexType> 0441 </xs:element> 0442 <!-- 0443 Detect an integer number 0444 commonAttributes: Common attributes 0445 weakDeliminator: Add weak deliminators [optional] 0446 additionalDeliminator: Add deliminators [optional] 0447 --> 0448 <xs:element name="Int"> 0449 <xs:complexType> 0450 <xs:attributeGroup ref="commonAttributes"/> 0451 <xs:attribute name="weakDeliminator"/> 0452 <xs:attribute name="additionalDeliminator"/> 0453 </xs:complexType> 0454 </xs:element> 0455 <!-- 0456 Detect a single character 0457 commonAttributes: Common attributes 0458 char: The character to look for 0459 dynamic: Uses 1 .. 9 as placeholders for dynamic arguments (in fact, first char of arg...) [boolean, optional, default=false] 0460 --> 0461 <xs:element name="DetectChar"> 0462 <xs:complexType> 0463 <xs:attributeGroup ref="commonAttributes"/> 0464 <xs:attribute name="char" type="char" use="required"/> 0465 <xs:attribute name="dynamic" type="xs:boolean"/> 0466 </xs:complexType> 0467 </xs:element> 0468 <!-- 0469 Detect two characters 0470 commonAttributes: Common attributes 0471 char: The first character 0472 char1: The second character 0473 --> 0474 <xs:element name="Detect2Chars"> 0475 <xs:complexType> 0476 <xs:attributeGroup ref="commonAttributes"/> 0477 <xs:attribute name="char" type="char" use="required"/> 0478 <xs:attribute name="char1" type="char" use="required"/> 0479 </xs:complexType> 0480 </xs:element> 0481 <!-- 0482 Detect one character of a set of specified characters. 0483 commonAttributes: Common attributes 0484 String: The set of characters 0485 --> 0486 <xs:element name="AnyChar"> 0487 <xs:complexType> 0488 <xs:attributeGroup ref="commonAttributes"/> 0489 <xs:attribute name="String" use="required"/> 0490 </xs:complexType> 0491 </xs:element> 0492 <!-- 0493 Detect a string 0494 commonAttributes: Common attributes 0495 String: The string to look for 0496 insensitive: Whether the string is matched case INsensitive. [boolean, optional, default=false] 0497 dynamic: Uses %1 .. %9 as placeholders for dynamic arguments [boolean, optional, default=false] 0498 --> 0499 <xs:element name="StringDetect"> 0500 <xs:complexType> 0501 <xs:attributeGroup ref="commonAttributes"/> 0502 <xs:attribute name="String" use="required"/> 0503 <xs:attribute name="insensitive" type="xs:boolean"/> 0504 <xs:attribute name="dynamic" type="xs:boolean"/> 0505 </xs:complexType> 0506 </xs:element> 0507 <!-- 0508 Detect a word, i.e. a string at word boundaries 0509 commonAttributes: Common attributes 0510 String: The string to look for 0511 insensitive: Whether the string is matched case INsensitive. [boolean, optional, default=false] 0512 weakDeliminator: Add weak deliminators [optional] 0513 additionalDeliminator: Add deliminators [optional] 0514 --> 0515 <xs:element name="WordDetect"> 0516 <xs:complexType> 0517 <xs:attributeGroup ref="commonAttributes"/> 0518 <xs:attribute name="String" use="required"/> 0519 <xs:attribute name="insensitive" type="xs:boolean"/> 0520 <xs:attribute name="weakDeliminator"/> 0521 <xs:attribute name="additionalDeliminator"/> 0522 </xs:complexType> 0523 </xs:element> 0524 <!-- 0525 Detect a match of a regular expression 0526 commonAttributes: Common attributes 0527 String: The regular expression pattern 0528 insensitive: Whether the text is matched case INsensitive. [boolean, optional, default=false] 0529 minimal: Wheather to use minimal matching for wild cards in the pattern [boolean, optional, default=false] 0530 dynamic: Uses %1 .. %9 as placeholders for dynamic arguments [boolean, optional, default=false] 0531 --> 0532 <xs:element name="RegExpr"> 0533 <xs:complexType> 0534 <xs:attributeGroup ref="commonAttributes"/> 0535 <xs:attribute name="String" use="required"/> 0536 <xs:attribute name="insensitive" type="xs:boolean"/> 0537 <xs:attribute name="minimal" type="xs:boolean"/> 0538 <xs:attribute name="dynamic" type="xs:boolean"/> 0539 </xs:complexType> 0540 </xs:element> 0541 <!-- 0542 Detect a line continuation 0543 commonAttributes: Common attributes 0544 char: The char marking the end of line [char, optional, default='\\'] 0545 --> 0546 <xs:element name="LineContinue"> 0547 <xs:complexType> 0548 <xs:attributeGroup ref="commonAttributes"/> 0549 <xs:attribute name="char" type="char"/> 0550 </xs:complexType> 0551 </xs:element> 0552 <!-- 0553 Detect a C-style escaped character (as a regular expression: \\([abefnrtv"'?\\.]|x[0-9a-fA-F]{1,2}|[0-7]{1,3})). 0554 commonAttributes: Common attributes 0555 --> 0556 <xs:element name="HlCStringChar"> 0557 <xs:complexType> 0558 <xs:attributeGroup ref="commonAttributes"/> 0559 </xs:complexType> 0560 </xs:element> 0561 <!-- 0562 Detect a string with defined start and end characters. 0563 commonAttributes: Common attributes 0564 char: The character starting the range 0565 char1: The character terminating the range 0566 --> 0567 <xs:element name="RangeDetect"> 0568 <xs:complexType> 0569 <xs:attributeGroup ref="commonAttributes"/> 0570 <xs:attribute name="char" type="char" use="required"/> 0571 <xs:attribute name="char1" type="char" use="required"/> 0572 </xs:complexType> 0573 </xs:element> 0574 <!-- 0575 Include Rules of another context 0576 context: The name of the context to include 0577 includeAttrib: If this is true, the host context of the IncludeRules 0578 will be given the attribute of the source context 0579 --> 0580 <xs:element name="IncludeRules"> 0581 <xs:complexType> 0582 <xs:attribute name="context" use="required"/> 0583 <xs:attribute name="includeAttrib" type="xs:boolean"/> 0584 </xs:complexType> 0585 </xs:element> 0586 <!-- Detect all following Spaces --> 0587 <xs:element name="DetectSpaces"> 0588 <xs:complexType> 0589 <xs:attributeGroup ref="commonAttributes"/> 0590 </xs:complexType> 0591 </xs:element> 0592 <!-- Detect an Identifier ( == LETTER(LETTER|NUMBER|_)*) --> 0593 <xs:element name="DetectIdentifier"> 0594 <xs:complexType> 0595 <xs:attributeGroup ref="commonAttributes"/> 0596 </xs:complexType> 0597 </xs:element> 0598 <!-- List of attributes --> 0599 <xs:element name="itemDatas"> 0600 <xs:complexType> 0601 <xs:sequence> 0602 <xs:element maxOccurs="unbounded" ref="itemData"/> 0603 </xs:sequence> 0604 </xs:complexType> 0605 </xs:element> 0606 <!-- 0607 Attribute specification 0608 name CDATA #REQUIRED The name of this attribute 0609 defStyleNum CDATA #REQUIRED The index of the default style to use 0610 color CDATA #IMPLIED Color for this style, either a hex triplet, a name or some other format recognized by Qt [optional] 0611 selColor CDATA #IMPLIED The color for this style when text is selected [optional] 0612 italic CDATA #IMPLIED Whether this attribute should be rendered using an italic typeface [optional, boolean, default=false] 0613 bold CDATA #IMPLIED Whether this attribute should be renederd using a bold typeface [optional, boolean, default=false] 0614 underline CDATA #IMPLIED Whether this attribute should be underlined [optional, boolean, default=false] 0615 strikeOut CDATA #IMPLIED Whether this attribute should be striked out [optional, boolean, default=false] 0616 backgroundColor CDATA #IMPLIED The background color for this style [optional] 0617 selBackgroundColor CDATA #IMPLIED The background color for this style when text is selected [optional] 0618 spellChecking CDATA #IMPLIED Whether this attribute should be spell checked [optional, boolean, default=true] 0619 --> 0620 <xs:element name="itemData"> 0621 <xs:complexType> 0622 <xs:attribute name="name" use="required"/> 0623 <xs:attribute name="defStyleNum" use="required" type="defStyles"/> 0624 <xs:attribute name="color"/> 0625 <xs:attribute name="selColor"/> 0626 <xs:attribute name="italic" type="xs:boolean"/> 0627 <xs:attribute name="bold" type="xs:boolean"/> 0628 <xs:attribute name="underline" type="xs:boolean"/> 0629 <xs:attribute name="strikeOut" type="xs:boolean"/> 0630 <xs:attribute name="backgroundColor"/> 0631 <xs:attribute name="selBackgroundColor"/> 0632 <xs:attribute name="spellChecking" type="xs:boolean"/> 0633 </xs:complexType> 0634 </xs:element> 0635 <!-- Spellchecking specification --> 0636 <xs:element name="spellchecking"> 0637 <xs:complexType> 0638 <xs:sequence> 0639 <xs:element minOccurs="0" ref="encodings"/> 0640 </xs:sequence> 0641 </xs:complexType> 0642 </xs:element> 0643 <!-- List of character encodings --> 0644 <xs:element name="encodings"> 0645 <xs:complexType> 0646 <xs:sequence> 0647 <xs:element maxOccurs="unbounded" ref="encoding"/> 0648 </xs:sequence> 0649 </xs:complexType> 0650 </xs:element> 0651 <!-- 0652 Encoding specification 0653 sequence CDATA #REQUIRED Character sequence of the encoding; must not contain new-line characters, i.e. \n or \r 0654 character CDATA #IMPLIED Encoded character; must be of length 1 0655 ignored (%boolean;) #IMPLIED If true, then the encoding sequence is ignored for spellchecking 0656 --> 0657 <xs:element name="encoding"> 0658 <xs:complexType> 0659 <xs:attribute name="string" use="required"/> 0660 <xs:attribute name="char" type="char"/> 0661 <xs:attribute name="ignored" type="xs:boolean"/> 0662 </xs:complexType> 0663 </xs:element> 0664 </xs:schema>