/AvalonEdit/ICSharpCode.AvalonEdit/Highlighting/Resources/ModeV2.xsd
http://github.com/icsharpcode/ILSpy · XML Schema · 168 lines · 151 code · 17 blank · 0 comment · 0 complexity · 441362a5096bbf34d07760bef2ca3b1e MD5 · raw file
- <?xml version="1.0" encoding="utf-8"?>
- <xsd:schema version="2" elementFormDefault="qualified" targetNamespace="http://icsharpcode.net/sharpdevelop/syntaxdefinition/2008" xmlns="http://icsharpcode.net/sharpdevelop/syntaxdefinition/2008" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
- <!-- Font Weight -->
- <xsd:simpleType name="FontWeight">
- <xsd:union>
- <xsd:simpleType>
- <xsd:restriction base="xsd:integer">
- <xsd:minInclusive value="1"/>
- <xsd:maxInclusive value="999"/>
- </xsd:restriction>
- </xsd:simpleType>
- <xsd:simpleType>
- <xsd:restriction base="xsd:string">
- <xsd:enumeration value="bold"/>
- <xsd:enumeration value="normal"/>
- <xsd:enumeration value="regular"/>
- <!-- should we support other font weight names? -->
- </xsd:restriction>
- </xsd:simpleType>
- </xsd:union>
- </xsd:simpleType>
-
- <!-- Font Style -->
- <xsd:simpleType name="FontStyle">
- <xsd:restriction base="xsd:string">
- <xsd:enumeration value="italic"/>
- <xsd:enumeration value="normal"/>
- <xsd:enumeration value="oblique"/>
- </xsd:restriction>
- </xsd:simpleType>
-
- <!-- Color -->
- <xsd:attributeGroup name="ColorAttributes">
- <xsd:attribute name="foreground" type="xsd:string" use="optional" />
- <xsd:attribute name="background" type="xsd:string" use="optional" />
- <xsd:attribute name="fontWeight" type="FontWeight" use="optional" />
- <xsd:attribute name="fontStyle" type="FontStyle" use="optional" />
- <xsd:attribute name="underline" type="xsd:boolean" use="optional" />
- <xsd:anyAttribute namespace="##other" processContents="lax" />
- </xsd:attributeGroup>
-
- <xsd:attributeGroup name="ColorReferenceAttributes">
- <xsd:attributeGroup ref="ColorAttributes" />
- <xsd:attribute name="color" type="xsd:string" use="optional" />
- </xsd:attributeGroup>
-
- <xsd:element name="Color">
- <xsd:complexType>
- <xsd:attribute name="name" type="xsd:string" use="required" />
- <xsd:attribute name="exampleText" type="xsd:string" use="optional" />
- <xsd:attributeGroup ref="ColorAttributes"/>
- </xsd:complexType>
- </xsd:element>
-
- <xsd:element name="Property">
- <xsd:complexType>
- <xsd:attribute name="name" type="xsd:string" use="required" />
- <xsd:attribute name="value" type="xsd:string" use="required" />
- <xsd:anyAttribute namespace="##other" processContents="lax" />
- </xsd:complexType>
- </xsd:element>
-
- <!-- Regular expression -->
- <xsd:simpleType name="regex">
- <xsd:restriction base="xsd:string"/>
- </xsd:simpleType>
-
- <xsd:simpleType name="regexIgnorePatternWhitespace">
- <xsd:restriction base="xsd:string"/>
- </xsd:simpleType>
-
- <!-- Keywords -->
- <xsd:element name="Keywords">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element ref="Word" minOccurs="1" maxOccurs="unbounded"/>
- </xsd:sequence>
- <xsd:attributeGroup ref="ColorReferenceAttributes"/>
- </xsd:complexType>
- </xsd:element>
-
- <xsd:element name="Word">
- <xsd:complexType>
- <xsd:simpleContent>
- <xsd:extension base="xsd:string">
- <xsd:anyAttribute namespace="##other" processContents="lax" />
- </xsd:extension>
- </xsd:simpleContent>
- </xsd:complexType>
- </xsd:element>
-
- <!-- Spans -->
- <xsd:element name="Span">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element ref="Begin" minOccurs="0" maxOccurs="1"/>
- <xsd:element ref="End" minOccurs="0" maxOccurs="1"/>
- <xsd:element ref="RuleSet" minOccurs="0" maxOccurs="1"/>
- </xsd:sequence>
-
- <xsd:attributeGroup ref="ColorReferenceAttributes"/>
- <xsd:attribute name="multiline" type="xsd:boolean" use="optional"/>
- <xsd:attribute name="ruleSet" type="xsd:string" use="optional"/>
- <xsd:attribute name="begin" type="regex" use="optional"/>
- <xsd:attribute name="end" type="regex" use="optional"/>
- </xsd:complexType>
- </xsd:element>
-
- <xsd:complexType name="SpanBeginEnd">
- <xsd:simpleContent>
- <xsd:extension base="regexIgnorePatternWhitespace">
- <xsd:attributeGroup ref="ColorReferenceAttributes"/>
- </xsd:extension>
- </xsd:simpleContent>
- </xsd:complexType>
-
- <xsd:element name="Begin" type="SpanBeginEnd"/>
- <xsd:element name="End" type="SpanBeginEnd"/>
-
- <!-- Imports -->
- <xsd:element name="Import">
- <xsd:complexType>
- <xsd:attribute name="ruleSet" type="xsd:string" use="required"/>
- </xsd:complexType>
- </xsd:element>
-
- <!-- Rules -->
- <xsd:element name="Rule">
- <xsd:complexType>
- <xsd:simpleContent>
- <xsd:extension base="regexIgnorePatternWhitespace">
- <xsd:attributeGroup ref="ColorReferenceAttributes"/>
- </xsd:extension>
- </xsd:simpleContent>
- </xsd:complexType>
- </xsd:element>
-
- <!-- Rule set -->
- <xsd:element name="RuleSet">
- <xsd:complexType>
- <xsd:choice minOccurs="0" maxOccurs="unbounded">
- <xsd:element ref="Keywords"/>
- <xsd:element ref="Span"/>
- <xsd:element ref="Import"/>
- <xsd:element ref="Rule"/>
- <xsd:any namespace="##other" processContents="lax" />
- </xsd:choice>
- <xsd:attribute name="name" type="xsd:string" use="optional" />
- <xsd:attribute name="ignoreCase" type="xsd:boolean" use="optional" />
- <xsd:anyAttribute namespace="##other" processContents="lax" />
- </xsd:complexType>
- </xsd:element>
-
- <!-- Main syntax definition -->
- <xsd:element name="SyntaxDefinition">
- <xsd:complexType>
- <xsd:choice minOccurs="1" maxOccurs="unbounded">
- <xsd:element ref="Property"/>
- <xsd:element ref="Color"/>
- <xsd:element ref="RuleSet"/>
- <xsd:any namespace="##other" processContents="lax" />
- </xsd:choice>
- <xsd:attribute name="name" type="xsd:string" use="optional" />
- <xsd:attribute name="extensions" type="xsd:string" use="optional" />
- <xsd:anyAttribute namespace="##other" processContents="lax" />
- </xsd:complexType>
- </xsd:element>
- </xsd:schema>