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