ActiproSoftware.SyntaxEditor.LanguageDefinition.xsd
上传用户:lanchensha
上传日期:2022-02-27
资源大小:7530k
文件大小:22k
源码类别:
编辑器/阅读器
开发平台:
C#
- <?xml version="1.0" encoding="utf-8" ?>
- <!--
- XSD Schema for Actipro SyntaxEditor XML Language Definition 4.0
- Copyright (c) 2001-2006 Actipro Software LLC. All rights reserved.
- http://www.ActiproSoftware.com/Products/DotNet/
- -->
- <xs:schema id="LanguageDefinition" targetNamespace="http://ActiproSoftware/SyntaxEditor/4.0/LanguageDefinition" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://ActiproSoftware/SyntaxEditor/4.0/LanguageDefinition" elementFormDefault="qualified">
- <!-- -->
- <xs:simpleType name="Boolean">
- <xs:restriction base="xs:string">
- <xs:enumeration value="True" />
- <xs:enumeration value="False" />
- </xs:restriction>
- </xs:simpleType>
- <!-- -->
- <xs:simpleType name="CaseSensitivity">
- <xs:restriction base="xs:string">
- <xs:enumeration value="Sensitive" />
- <xs:enumeration value="Insensitive" />
- <xs:enumeration value="AutoCorrect" />
- </xs:restriction>
- </xs:simpleType>
- <!-- -->
- <xs:simpleType name="DefaultableBoolean">
- <xs:restriction base="xs:string">
- <xs:enumeration value="Default" />
- <xs:enumeration value="True" />
- <xs:enumeration value="False" />
- </xs:restriction>
- </xs:simpleType>
- <!-- -->
- <xs:simpleType name="HighlightingStyleBorderCornerStyle">
- <xs:restriction base="xs:string">
- <xs:enumeration value="Square" />
- <xs:enumeration value="SinglePixelRounded" />
- </xs:restriction>
- </xs:simpleType>
- <!-- -->
- <xs:simpleType name="HighlightingStyleLineStyle">
- <xs:restriction base="xs:string">
- <xs:enumeration value="Default" />
- <xs:enumeration value="Solid" />
- <xs:enumeration value="DashDot" />
- <xs:enumeration value="Dot" />
- <xs:enumeration value="Dash" />
- <xs:enumeration value="Wave" />
- <xs:enumeration value="None" />
- </xs:restriction>
- </xs:simpleType>
- <!-- -->
- <xs:simpleType name="HighlightingStyleLineWeight">
- <xs:restriction base="xs:string">
- <xs:enumeration value="Single" />
- <xs:enumeration value="Double" />
- </xs:restriction>
- </xs:simpleType>
- <!-- -->
- <xs:simpleType name="ModifierKeys">
- <xs:restriction base="xs:string">
- <xs:enumeration value="Control" />
- <xs:enumeration value="Shift" />
- <xs:enumeration value="Alt" />
- <xs:enumeration value="ControlShift" />
- <xs:enumeration value="ControlAlt" />
- <xs:enumeration value="ShiftAlt" />
- <xs:enumeration value="ControlShiftAlt" />
- <xs:enumeration value="None" />
- <xs:enumeration value="AnyControl" />
- <xs:enumeration value="AnyShift" />
- <xs:enumeration value="AnyAlt" />
- <xs:enumeration value="AnyControlShift" />
- <xs:enumeration value="AnyControlAlt" />
- <xs:enumeration value="AnyShiftAlt" />
- <xs:enumeration value="Any" />
- </xs:restriction>
- </xs:simpleType>
- <!-- -->
- <xs:simpleType name="PatternGroupType">
- <xs:restriction base="xs:string">
- <xs:enumeration value="StartScope" />
- <xs:enumeration value="EndScope" />
- </xs:restriction>
- </xs:simpleType>
- <!-- -->
- <xs:complexType name="ExplicitPatternGroup">
- <xs:sequence>
- <xs:element name="ExplicitPattern" minOccurs="0" maxOccurs="unbounded">
- <xs:annotation>
- <xs:documentation>A pattern within an explicit pattern group.</xs:documentation>
- </xs:annotation>
- <xs:complexType>
- <xs:attribute name="Value" type="xs:string" use="required" />
- </xs:complexType>
- </xs:element>
- <xs:element name="ExplicitPatterns" minOccurs="0">
- <xs:annotation>
- <xs:documentation>A set of patterns within an explicit pattern group, delimited by whitespace.</xs:documentation>
- </xs:annotation>
- </xs:element>
- </xs:sequence>
- <xs:attribute name="Key" type="xs:string" use="optional" />
- <xs:attribute name="TokenKey" type="xs:string" use="required" />
- <xs:attribute name="TokenID" type="xs:string" use="optional" />
- <xs:attribute name="Style" type="xs:string" use="optional" />
- <xs:attribute name="PatternValue" type="xs:string" use="optional" />
- <xs:attribute name="LookBehind" type="xs:string" use="optional" />
- <xs:attribute name="LookAhead" type="xs:string" use="optional" />
- <xs:attribute name="CaseSensitivity" type="CaseSensitivity" use="optional" />
- <xs:attribute name="IsWhitespace" type="Boolean" use="optional" />
- <xs:attribute name="IsContentDivider" type="Boolean" use="optional" />
- <xs:attribute name="StartBracket" type="xs:string" use="optional" />
- <xs:attribute name="EndBracket" type="xs:string" use="optional" />
- </xs:complexType>
- <!-- -->
- <xs:complexType name="ScopeExplicitPatternGroup">
- <xs:attribute name="Type" type="PatternGroupType" use="required" />
- <xs:attribute name="Key" type="xs:string" use="optional" />
- <xs:attribute name="TokenKey" type="xs:string" use="required" />
- <xs:attribute name="TokenID" type="xs:string" use="optional" />
- <xs:attribute name="Style" type="xs:string" use="optional" />
- <xs:attribute name="PatternValue" type="xs:string" use="optional" />
- <xs:attribute name="LookBehind" type="xs:string" use="optional" />
- <xs:attribute name="LookAhead" type="xs:string" use="optional" />
- <xs:attribute name="CaseSensitivity" type="CaseSensitivity" use="optional" />
- <xs:attribute name="IsWhitespace" type="Boolean" use="optional" />
- <xs:attribute name="IsContentDivider" type="Boolean" use="optional" />
- </xs:complexType>
- <!-- -->
- <xs:complexType name="RegexPatternGroup">
- <xs:sequence>
- <xs:element name="RegexPattern" minOccurs="0" maxOccurs="unbounded">
- <xs:annotation>
- <xs:documentation>A pattern within a regular expression pattern group.</xs:documentation>
- </xs:annotation>
- <xs:complexType>
- <xs:attribute name="Value" type="xs:string" use="required" />
- </xs:complexType>
- </xs:element>
- </xs:sequence>
- <xs:attribute name="Key" type="xs:string" use="optional" />
- <xs:attribute name="TokenKey" type="xs:string" use="required" />
- <xs:attribute name="TokenID" type="xs:string" use="optional" />
- <xs:attribute name="Style" type="xs:string" use="optional" />
- <xs:attribute name="PatternValue" type="xs:string" use="optional" />
- <xs:attribute name="LookBehind" type="xs:string" use="optional" />
- <xs:attribute name="LookAhead" type="xs:string" use="optional" />
- <xs:attribute name="CaseSensitivity" type="CaseSensitivity" use="optional" />
- <xs:attribute name="IsWhitespace" type="Boolean" use="optional" />
- <xs:attribute name="IsContentDivider" type="Boolean" use="optional" />
- <xs:attribute name="StartBracket" type="xs:string" use="optional" />
- <xs:attribute name="EndBracket" type="xs:string" use="optional" />
- </xs:complexType>
- <!-- -->
- <xs:complexType name="ScopeRegexPatternGroup">
- <xs:attribute name="Type" type="PatternGroupType" use="optional" />
- <xs:attribute name="Key" type="xs:string" use="optional" />
- <xs:attribute name="TokenKey" type="xs:string" use="required" />
- <xs:attribute name="TokenID" type="xs:string" use="optional" />
- <xs:attribute name="Style" type="xs:string" use="optional" />
- <xs:attribute name="PatternValue" type="xs:string" use="optional" />
- <xs:attribute name="LookBehind" type="xs:string" use="optional" />
- <xs:attribute name="LookAhead" type="xs:string" use="optional" />
- <xs:attribute name="CaseSensitivity" type="CaseSensitivity" use="optional" />
- <xs:attribute name="IsWhitespace" type="Boolean" use="optional" />
- <xs:attribute name="IsContentDivider" type="Boolean" use="optional" />
- </xs:complexType>
- <!-- -->
- <xs:element name="SyntaxLanguage">
- <xs:annotation>
- <xs:documentation>The root element for a dynamic language XML definition.</xs:documentation>
- </xs:annotation>
- <xs:complexType>
- <xs:sequence>
- <xs:element name="Properties" minOccurs="0">
- <xs:annotation>
- <xs:documentation>A set of string-based properties that are assigned to the language.</xs:documentation>
- </xs:annotation>
- <xs:complexType>
- <xs:choice>
- <xs:element name="Property" minOccurs="0" maxOccurs="unbounded">
- <xs:annotation>
- <xs:documentation>A string-based property that is assigned to the language.</xs:documentation>
- </xs:annotation>
- <xs:complexType>
- <xs:attribute name="Key" type="xs:string" use="required" />
- <xs:attribute name="Value" type="xs:string" use="required" />
- </xs:complexType>
- </xs:element>
- </xs:choice>
- </xs:complexType>
- </xs:element>
- <xs:element name="Triggers" minOccurs="0">
- <xs:annotation>
- <xs:documentation>A set of triggers that fire when certain events occur.</xs:documentation>
- </xs:annotation>
- <xs:complexType>
- <xs:choice maxOccurs="unbounded">
- <xs:element name="AutoReplaceTrigger" minOccurs="0" maxOccurs="unbounded">
- <xs:annotation>
- <xs:documentation>A trigger that executes auto-replace functionality.</xs:documentation>
- </xs:annotation>
- <xs:complexType>
- <xs:sequence>
- <xs:element name="AutoReplaceTriggerActivators">
- <xs:annotation>
- <xs:documentation>A set of characters that cause the trigger to fire.</xs:documentation>
- </xs:annotation>
- <xs:complexType>
- <xs:choice>
- <xs:element name="AutoReplaceTriggerActivator" maxOccurs="unbounded">
- <xs:annotation>
- <xs:documentation>A character that causes the trigger to fire.</xs:documentation>
- </xs:annotation>
- <xs:complexType>
- <xs:attribute name="Character" type="xs:string" use="required" />
- </xs:complexType>
- </xs:element>
- </xs:choice>
- </xs:complexType>
- </xs:element>
- <xs:element name="AutoReplaceTriggerValidStates" minOccurs="0">
- <xs:annotation>
- <xs:documentation>A set of the lexical states in which the trigger is valid.</xs:documentation>
- </xs:annotation>
- <xs:complexType>
- <xs:choice>
- <xs:element name="AutoReplaceTriggerValidState" maxOccurs="unbounded">
- <xs:annotation>
- <xs:documentation>A lexical state in which the trigger is valid.</xs:documentation>
- </xs:annotation>
- <xs:complexType>
- <xs:attribute name="State" type="xs:string" use="required" />
- </xs:complexType>
- </xs:element>
- </xs:choice>
- </xs:complexType>
- </xs:element>
- </xs:sequence>
- <xs:attribute name="Key" type="xs:string" use="required" />
- <xs:attribute name="AllowGlobalLookup" type="Boolean" use="optional" />
- </xs:complexType>
- </xs:element>
- <xs:element name="KeyPressTrigger" minOccurs="0" maxOccurs="unbounded">
- <xs:annotation>
- <xs:documentation>A trigger that executes when a key is pressed while in a certain lexical state.</xs:documentation>
- </xs:annotation>
- <xs:complexType>
- <xs:sequence>
- <xs:element name="KeyPressTriggerValidStates" minOccurs="0">
- <xs:annotation>
- <xs:documentation>A set of the lexical states in which the trigger is valid.</xs:documentation>
- </xs:annotation>
- <xs:complexType>
- <xs:choice>
- <xs:element name="KeyPressTriggerValidState" maxOccurs="unbounded">
- <xs:annotation>
- <xs:documentation>A lexical state in which the trigger is valid.</xs:documentation>
- </xs:annotation>
- <xs:complexType>
- <xs:attribute name="State" type="xs:string" use="required" />
- </xs:complexType>
- </xs:element>
- </xs:choice>
- </xs:complexType>
- </xs:element>
- </xs:sequence>
- <xs:attribute name="Key" type="xs:string" use="required" />
- <xs:attribute name="Character" type="xs:string" use="required" />
- <xs:attribute name="AllowInReadOnlyMode" type="Boolean" use="optional" />
- </xs:complexType>
- </xs:element>
- </xs:choice>
- </xs:complexType>
- </xs:element>
- <xs:element name="Styles">
- <xs:annotation>
- <xs:documentation>A set of highlighting styles.</xs:documentation>
- </xs:annotation>
- <xs:complexType>
- <xs:choice>
- <xs:element name="Style" minOccurs="0" maxOccurs="unbounded">
- <xs:annotation>
- <xs:documentation>A highlighting style definition.</xs:documentation>
- </xs:annotation>
- <xs:complexType>
- <xs:attribute name="Key" type="xs:string" use="required" />
- <xs:attribute name="Name" type="xs:string" use="optional" />
- <xs:attribute name="ForeColor" type="xs:string" use="optional" />
- <xs:attribute name="BackColor" type="xs:string" use="optional" />
- <xs:attribute name="Bold" type="DefaultableBoolean" use="optional" />
- <xs:attribute name="BorderColor" type="xs:string" use="optional" />
- <xs:attribute name="BorderCornerStyle" type="HighlightingStyleBorderCornerStyle" use="optional" />
- <xs:attribute name="BorderStyle" type="HighlightingStyleLineStyle" use="optional" />
- <xs:attribute name="CursorName" type="xs:string" use="optional" />
- <xs:attribute name="CursorModifierKeys" type="ModifierKeys" use="optional" />
- <xs:attribute name="FontFamilyName" type="xs:string" use="optional" />
- <xs:attribute name="FontSize" type="xs:string" use="optional" />
- <xs:attribute name="Italic" type="DefaultableBoolean" use="optional" />
- <xs:attribute name="StrikeOutColor" type="xs:string" use="optional" />
- <xs:attribute name="StrikeOutStyle" type="HighlightingStyleLineStyle" use="optional" />
- <xs:attribute name="StrikeOutWeight" type="HighlightingStyleLineWeight" use="optional" />
- <xs:attribute name="UnderlineColor" type="xs:string" use="optional" />
- <xs:attribute name="UnderlineStyle" type="HighlightingStyleLineStyle" use="optional" />
- <xs:attribute name="UnderlineWeight" type="HighlightingStyleLineWeight" use="optional" />
- </xs:complexType>
- </xs:element>
- </xs:choice>
- </xs:complexType>
- </xs:element>
- <xs:element name="Macros" minOccurs="0">
- <xs:annotation>
- <xs:documentation>A set of lexical macros.</xs:documentation>
- </xs:annotation>
- <xs:complexType>
- <xs:choice>
- <xs:element name="Macro" minOccurs="0" maxOccurs="unbounded">
- <xs:annotation>
- <xs:documentation>A macro definition.</xs:documentation>
- </xs:annotation>
- <xs:complexType>
- <xs:attribute name="Key" type="xs:string" use="required" />
- <xs:attribute name="Value" type="xs:string" use="required" />
- </xs:complexType>
- </xs:element>
- </xs:choice>
- </xs:complexType>
- </xs:element>
- <xs:element name="States">
- <xs:annotation>
- <xs:documentation>A set of lexical states within the language.</xs:documentation>
- </xs:annotation>
- <xs:complexType>
- <xs:choice>
- <xs:element name="State" minOccurs="0" maxOccurs="unbounded">
- <xs:annotation>
- <xs:documentation>A lexical state definition.</xs:documentation>
- </xs:annotation>
- <xs:complexType>
- <xs:sequence>
- <xs:element name="Scopes" minOccurs="0">
- <xs:annotation>
- <xs:documentation>A set of lexical scopes that start and end the lexical state.</xs:documentation>
- </xs:annotation>
- <xs:complexType>
- <xs:choice maxOccurs="unbounded">
- <xs:element name="Scope">
- <xs:annotation>
- <xs:documentation>A lexical scope definition.</xs:documentation>
- </xs:annotation>
- <xs:complexType>
- <xs:choice maxOccurs="unbounded">
- <xs:element name="ExplicitPatternGroup" type="ScopeExplicitPatternGroup">
- <xs:annotation>
- <xs:documentation>An explicit pattern group the defines the lexical scope pattern.</xs:documentation>
- </xs:annotation>
- </xs:element>
- <xs:element name="RegexPatternGroup" type="ScopeRegexPatternGroup">
- <xs:annotation>
- <xs:documentation>An regular expression pattern group the defines the lexical scope pattern.</xs:documentation>
- </xs:annotation>
- </xs:element>
- <xs:element name="StateTransition">
- <xs:annotation>
- <xs:documentation>A state transition to another language that occurs when the scope is matched.</xs:documentation>
- </xs:annotation>
- <xs:complexType>
- <xs:choice>
- <xs:element name="ExplicitPatternGroup" type="ExplicitPatternGroup">
- <xs:annotation>
- <xs:documentation>An explicit pattern group that defines patterns that will exit the child language when matched.</xs:documentation>
- </xs:annotation>
- </xs:element>
- <xs:element name="RegexPatternGroup" type="RegexPatternGroup">
- <xs:annotation>
- <xs:documentation>A regular expression pattern group that defines patterns that will exit the child language when matched.</xs:documentation>
- </xs:annotation>
- </xs:element>
- </xs:choice>
- <xs:attribute name="Filename" type="xs:string" use="required" />
- <xs:attribute name="State" type="xs:string" use="optional" />
- <xs:attribute name="ChildLanguageBackColor" type="xs:string" use="optional" />
- </xs:complexType>
- </xs:element>
- </xs:choice>
- <xs:attribute name="BracketHighlight" type="Boolean" use="optional" />
- </xs:complexType>
- </xs:element>
- </xs:choice>
- </xs:complexType>
- </xs:element>
- <xs:element name="PatternGroups" minOccurs="0">
- <xs:annotation>
- <xs:documentation>A set of lexical pattern groups that define the patterns recognized in the lexical state.</xs:documentation>
- </xs:annotation>
- <xs:complexType>
- <xs:choice maxOccurs="unbounded">
- <xs:element name="ExplicitPatternGroup" type="ExplicitPatternGroup">
- <xs:annotation>
- <xs:documentation>An explicit pattern group that defines patterns recognized in the lexical state.</xs:documentation>
- </xs:annotation>
- </xs:element>
- <xs:element name="RegexPatternGroup" type="RegexPatternGroup">
- <xs:annotation>
- <xs:documentation>A regular expression pattern group that defines patterns recognized in the lexical state.</xs:documentation>
- </xs:annotation>
- </xs:element>
- </xs:choice>
- </xs:complexType>
- </xs:element>
- <xs:element name="ChildStates" minOccurs="0">
- <xs:annotation>
- <xs:documentation>A set of child lexical states that can be entered from this lexical state if their start scope is recognized.</xs:documentation>
- </xs:annotation>
- <xs:complexType>
- <xs:choice maxOccurs="unbounded">
- <xs:element name="ChildState">
- <xs:annotation>
- <xs:documentation>A child lexical state that can be entered from this lexical state if its start scope is recognized.</xs:documentation>
- </xs:annotation>
- <xs:complexType>
- <xs:attribute name="Key" type="xs:string" use="required" />
- </xs:complexType>
- </xs:element>
- </xs:choice>
- </xs:complexType>
- </xs:element>
- </xs:sequence>
- <xs:attribute name="Key" type="xs:string" use="required" />
- <xs:attribute name="ID" type="xs:string" use="optional" />
- <xs:attribute name="TokenKey" type="xs:string" use="optional" />
- <xs:attribute name="TokenID" type="xs:string" use="optional" />
- <xs:attribute name="Style" type="xs:string" use="optional" />
- <xs:attribute name="Filename" type="xs:string" use="optional" />
- <xs:attribute name="ChildLanguageBackColor" type="xs:string" use="optional" />
- </xs:complexType>
- </xs:element>
- </xs:choice>
- </xs:complexType>
- </xs:element>
- <xs:element name="ExampleText" minOccurs="0">
- <xs:annotation>
- <xs:documentation>Example language code that can be used for testing lexical parsing.</xs:documentation>
- </xs:annotation>
- </xs:element>
- </xs:sequence>
- <xs:attribute name="Key" type="xs:string" use="required" />
- <xs:attribute name="LanguageDefinitionVersion" type="xs:string" use="required" />
- <xs:attribute name="Secure" type="Boolean" use="required" />
- <xs:attribute name="WordContainsAdditionalCharacters" type="xs:string" use="optional" />
- <xs:attribute name="WordStandaloneCharacters" type="xs:string" use="optional" />
- <xs:attribute name="SyntaxLanguageTypeName" type="xs:string" use="optional" />
- <xs:attribute name="StateIDTypeName" type="xs:string" use="optional" />
- <xs:attribute name="TokenIDTypeName" type="xs:string" use="optional" />
- </xs:complexType>
- </xs:element>
- <!-- -->
- </xs:schema>