<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.symbian.com/Shapes" xmlns="http://www.symbian.com/Shapes"
elementFormDefault="qualified" attributeFormDefault="unqualified"
xmlns:svg="http://www.w3.org/2000/svg">
<xs:import namespace="http://www.w3.org/2000/svg"
schemaLocation="http://www.w3.org/TR/2002/WD-SVG11-20020108/SVG.xsd" />
<xs:element name="shapes">
<xs:complexType>
<xs:sequence>
<!--
<xs:element ref="svg:defs" xmlns:svg="http://www.w3.org/2000/svg"
maxOccurs="unbounded" minOccurs="0"/>
-->
<xs:element name="borders" maxOccurs="unbounded"
minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="border" maxOccurs="unbounded"
minOccurs="1">
<xs:complexType mixed="true">
<xs:sequence>
<xs:element ref="svg:path" minOccurs="0"
xmlns:svg="http://www.w3.org/2000/svg" maxOccurs="unbounded" />
</xs:sequence>
<xs:attribute name="type" use="optional">
<xs:annotation>
<xs:documentation>
The regular expression on the
"type"
attribute is as follows: 1)
one of the special keywords as
specified or 2) "#" followed by
one or more character
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern
value="box|round|hexagon|box-clipRT|box-clipRB|box-clipLT|box-clipLB|box-clipAll|#.+">
</xs:pattern>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute type="xs:string" name="value" use="optional" />
<xs:attribute type="xs:string" name="viewBox" use="optional" />
<xs:attribute name="rule" type="xs:string" use="optional">
</xs:attribute>
<xs:attribute name="label" use="optional" default="no">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="yes"></xs:enumeration>
<xs:enumeration value="no"></xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute type="xs:string" name="match" use="optional"
default="component" />
<xs:attribute type="xs:string" name="use" use="optional" />
<xs:attribute type="xs:string" name="label" use="optional" />
<xs:attribute name="sort" use="optional" default="no">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="yes"></xs:enumeration>
<xs:enumeration value="no"></xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="show-unused" use="optional"
default="no">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="yes"></xs:enumeration>
<xs:enumeration value="no"></xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="literal" use="optional" default="no">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="yes"></xs:enumeration>
<xs:enumeration value="no"></xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="patterns" maxOccurs="unbounded"
minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="overlay" maxOccurs="unbounded"
minOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element ref="svg:path" minOccurs="0"
xmlns:svg="http://www.w3.org/2000/svg" maxOccurs="unbounded" />
</xs:sequence>
<xs:attribute name="type" use="optional">
<xs:annotation>
<xs:documentation>
The regular expression on the
"type"
attribute is as follows: 1)
one of the special keywords as
specified
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern
value="box|round|hexagon|box-clipRT|box-clipRB|box-clipLT|box-clipLB|box-clipAll|#.+">
</xs:pattern>
<xs:enumeration value="big-X"></xs:enumeration>
<xs:enumeration value="striped-diag-up">
</xs:enumeration>
<xs:enumeration value="radial-grad">
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute type="xs:string" name="value" use="optional" />
<xs:attribute type="xs:string" name="label" use="optional" />
<xs:attribute type="xs:string" name="viewBox" use="optional" />
<xs:attribute name="rule" type="xs:string" use="optional">
</xs:attribute>
<xs:attribute name="literal" use="optional"
default="no">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="yes"></xs:enumeration>
<xs:enumeration value="no"></xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute type="xs:string" name="match" default="component"
use="optional" />
<xs:attribute type="xs:string" name="use" use="optional" />
<xs:attribute type="xs:string" name="label" use="optional" />
<xs:attribute name="sort" default="no" use="optional">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="yes"></xs:enumeration>
<xs:enumeration value="no"></xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="show-unused" use="optional"
default="no">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="yes"></xs:enumeration>
<xs:enumeration value="no"></xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="literal" default="no" use="optional">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="yes"></xs:enumeration>
<xs:enumeration value="no"></xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="styles" maxOccurs="unbounded"
minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="style" maxOccurs="unbounded"
minOccurs="1">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute type="xs:string" name="rule" use="optional" />
<xs:attribute type="xs:string" name="label" use="optional" />
<xs:attribute type="xs:string" name="value" use="optional" />
<xs:attribute name="literal" use="optional"
default="no">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="yes">
</xs:enumeration>
<xs:enumeration value="no">
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute type="xs:string" name="match" default="component"
use="optional" />
<xs:attribute type="xs:string" name="use" use="optional" />
<xs:attribute type="xs:string" name="label" use="optional" />
<xs:attribute name="sort" default="no" use="optional">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="yes"></xs:enumeration>
<xs:enumeration value="no"></xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="show-unused" use="optional"
default="no">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="yes"></xs:enumeration>
<xs:enumeration value="no"></xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="literal" use="optional" default="no">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="yes"></xs:enumeration>
<xs:enumeration value="no"></xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="colors" maxOccurs="unbounded"
minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="color" maxOccurs="unbounded"
minOccurs="1">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute type="xs:string" name="label" use="optional" />
<xs:attribute type="xs:string" name="value" use="optional" />
<xs:attribute type="xs:string" name="rule" use="optional" />
<xs:attribute name="color" use="required">
<xs:annotation>
<xs:documentation>
The regular expression in the constraint
of
the "value" attribute is: 1) a valid rgb() expression or
2) a
valid hex number or 3) a valid alpha expression or 4)
a
three
digit hex triple or 5) a valid %rgb() expression.
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<!-- TODO: Need to modify the last pattern below (%rgb() to accept digits from 0 to 100 instead of from 1 to 99 -->
<xs:restriction base="xs:string">
<xs:pattern
value="rgb\((((\d{1,2})|(1\d{2})|(2[0-4]\d)|(25[0-5])),\s?){2}(((\d{1,2})|(1\d{2})|(2[0-4]\d)|(25[0-5]))){1}\)|#(([0-9a-fA-F]){6})|([A-Z,a-z]+)|#([0-9a-fA-F]){3}|rgb\(([1-9][0-9]{0,1}%,\s?){2}([1-9][0-9]{0,1}%)\)">
</xs:pattern>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="literal" use="optional" default="no">
<xs:simpleType>
<xs:restriction
base="xs:string">
<xs:enumeration
value="yes">
</xs:enumeration>
<xs:enumeration
value="no">
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="default" use="optional">
<xs:annotation>
<xs:documentation>
The regular expression in the constraint of
the "value" attribute is: 1) a valid rgb() expression or 2) a
valid hex number or 3) a valid alpha expression or 4) a three
digit hex triple or 5) a valid %rgb() expression.
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<!-- TODO: Need to modify the last pattern below (%rgb() to accept digits from 0 to 100 instead of from 1 to 99 -->
<xs:restriction base="xs:string">
<xs:pattern
value="rgb\((((\d{1,2})|(1\d{2})|(2[0-4]\d)|(25[0-5])),\s?){2}(((\d{1,2})|(1\d{2})|(2[0-4]\d)|(25[0-5]))){1}\)|#(([0-9a-fA-F]){6})|([A-Z,a-z]+)|#([0-9a-fA-F]){3}|rgb\(([1-9][0-9]{0,1}%,\s?){2}([1-9][0-9]{0,1}%)\)">
</xs:pattern>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute type="xs:string" name="match" use="optional"
default="component" />
<xs:attribute type="xs:string" name="use" use="optional" />
<xs:attribute type="xs:string" name="label"
use="optional" />
<xs:attribute name="sort" use="optional" default="no">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="yes"></xs:enumeration>
<xs:enumeration value="no"></xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="show-unused" use="optional"
default="no">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="yes"></xs:enumeration>
<xs:enumeration value="no"></xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="type" use="optional"
default="background">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="background"></xs:enumeration>
<xs:enumeration value="text-highlight"></xs:enumeration>
<xs:enumeration value="highlight"></xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="literal" use="optional"
default="no">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="yes"></xs:enumeration>
<xs:enumeration value="no"></xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="examples" maxOccurs="unbounded" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="cmp" maxOccurs="unbounded"
minOccurs="0">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute type="xs:string"
name="color" use="optional" />
<xs:attribute type="xs:string"
name="overlay" use="optional" />
<xs:attribute type="xs:string"
name="border" use="optional" />
<xs:attribute name="highlight"
type="xs:string" use="optional">
</xs:attribute>
<xs:attribute name="text-highlight"
type="xs:string" use="optional">
</xs:attribute>
<xs:attribute name="style"
type="xs:string" use="optional">
</xs:attribute>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute type="xs:string" name="label"
use="optional" />
<xs:attribute name="literal" use="optional" default="no">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="yes"></xs:enumeration>
<xs:enumeration value="no"></xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>