|
<?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: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>
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.