sysmodellibs/sysmodelgen/src/old/resources/xsd/Shapes.xsd
changeset 6 5b32dc297d05
parent 1 b538b70cbe51
equal deleted inserted replaced
3:e7e0ae78773e 6:5b32dc297d05
       
     1 <?xml version="1.0" encoding="UTF-8"?>
       
     2 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
       
     3 	targetNamespace="http://www.symbian.com/Shapes" xmlns="http://www.symbian.com/Shapes"
       
     4 	elementFormDefault="qualified" attributeFormDefault="unqualified"
       
     5 	xmlns:svg="http://www.w3.org/2000/svg">
       
     6 	<xs:import namespace="http://www.w3.org/2000/svg"
       
     7 		schemaLocation="http://www.w3.org/TR/2002/WD-SVG11-20020108/SVG.xsd" />
       
     8 	<xs:element name="shapes">
       
     9 		<xs:complexType>
       
    10 			<xs:sequence>
       
    11 				<!--
       
    12 					<xs:element ref="svg:defs" xmlns:svg="http://www.w3.org/2000/svg"
       
    13 					maxOccurs="unbounded" minOccurs="0"/>
       
    14 				-->
       
    15 				<xs:element name="borders" maxOccurs="unbounded"
       
    16 					minOccurs="0">
       
    17 					<xs:complexType>
       
    18 						<xs:sequence>
       
    19 							<xs:element name="border" maxOccurs="unbounded"
       
    20 								minOccurs="1">
       
    21 								<xs:complexType mixed="true">
       
    22 									<xs:sequence>
       
    23 										<xs:element ref="svg:path" minOccurs="0"
       
    24 											xmlns:svg="http://www.w3.org/2000/svg" maxOccurs="unbounded" />
       
    25 									</xs:sequence>
       
    26 									<xs:attribute name="type" use="optional">
       
    27 										<xs:annotation>
       
    28 											<xs:documentation>
       
    29 												The regular expression on the
       
    30 												"type"
       
    31 												attribute is as follows: 1)
       
    32 												one of the special keywords as
       
    33 												specified or 2) "#" followed by
       
    34 												one or more character
       
    35 											</xs:documentation>
       
    36 										</xs:annotation>
       
    37 										<xs:simpleType>
       
    38 											<xs:restriction base="xs:string">
       
    39 												<xs:pattern
       
    40 													value="box|round|hexagon|box-clipRT|box-clipRB|box-clipLT|box-clipLB|box-clipAll|#.+">
       
    41 												</xs:pattern>
       
    42 											</xs:restriction>
       
    43 										</xs:simpleType>
       
    44 									</xs:attribute>
       
    45 									<xs:attribute type="xs:string" name="value" use="optional" />
       
    46 									<xs:attribute type="xs:string" name="viewBox" use="optional" />
       
    47 									<xs:attribute name="rule" type="xs:string" use="optional">
       
    48 									</xs:attribute>
       
    49 									<xs:attribute name="label" use="optional" default="no">
       
    50 										<xs:simpleType>
       
    51 											<xs:restriction base="xs:string">
       
    52 												<xs:enumeration value="yes"></xs:enumeration>
       
    53 												<xs:enumeration value="no"></xs:enumeration>
       
    54 											</xs:restriction>
       
    55 										</xs:simpleType>
       
    56 									</xs:attribute>
       
    57 								</xs:complexType>
       
    58 							</xs:element>
       
    59 						</xs:sequence>
       
    60 						<xs:attribute type="xs:string" name="match" use="optional"
       
    61 							default="component" />
       
    62 						<xs:attribute type="xs:string" name="use" use="optional" />
       
    63 						<xs:attribute type="xs:string" name="label" use="optional" />
       
    64 						<xs:attribute name="sort" use="optional" default="no">
       
    65 							<xs:simpleType>
       
    66 								<xs:restriction base="xs:string">
       
    67 									<xs:enumeration value="yes"></xs:enumeration>
       
    68 									<xs:enumeration value="no"></xs:enumeration>
       
    69 								</xs:restriction>
       
    70 							</xs:simpleType>
       
    71 						</xs:attribute>
       
    72 						<xs:attribute name="show-unused" use="optional"
       
    73 							default="no">
       
    74 							<xs:simpleType>
       
    75 								<xs:restriction base="xs:string">
       
    76 									<xs:enumeration value="yes"></xs:enumeration>
       
    77 									<xs:enumeration value="no"></xs:enumeration>
       
    78 								</xs:restriction>
       
    79 							</xs:simpleType>
       
    80 						</xs:attribute>
       
    81 						<xs:attribute name="literal" use="optional" default="no">
       
    82 							<xs:simpleType>
       
    83 								<xs:restriction base="xs:string">
       
    84 									<xs:enumeration value="yes"></xs:enumeration>
       
    85 									<xs:enumeration value="no"></xs:enumeration>
       
    86 								</xs:restriction>
       
    87 							</xs:simpleType>
       
    88 						</xs:attribute>
       
    89 					</xs:complexType>
       
    90 				</xs:element>
       
    91 				<xs:element name="patterns" maxOccurs="unbounded"
       
    92 					minOccurs="0">
       
    93 					<xs:complexType>
       
    94 						<xs:sequence>
       
    95 							<xs:element name="overlay" maxOccurs="unbounded"
       
    96 								minOccurs="1">
       
    97 								<xs:complexType>
       
    98 									<xs:sequence>
       
    99 										<xs:element ref="svg:path" minOccurs="0"
       
   100 											xmlns:svg="http://www.w3.org/2000/svg" maxOccurs="unbounded" />
       
   101 									</xs:sequence>
       
   102 									<xs:attribute name="type" use="optional">
       
   103 										<xs:annotation>
       
   104 											<xs:documentation>
       
   105 												The regular expression on the
       
   106 												"type"
       
   107 												attribute is as follows: 1)
       
   108 												one of the special keywords as
       
   109 												specified
       
   110           						</xs:documentation>
       
   111 										</xs:annotation>
       
   112 										<xs:simpleType>
       
   113 											<xs:restriction base="xs:string">
       
   114 												<xs:pattern
       
   115 													value="box|round|hexagon|box-clipRT|box-clipRB|box-clipLT|box-clipLB|box-clipAll|#.+">
       
   116 												</xs:pattern>
       
   117 												<xs:enumeration value="big-X"></xs:enumeration>
       
   118 												<xs:enumeration value="striped-diag-up">
       
   119 												</xs:enumeration>
       
   120 												<xs:enumeration value="radial-grad">
       
   121 												</xs:enumeration>
       
   122 											</xs:restriction>
       
   123 										</xs:simpleType>
       
   124 									</xs:attribute>
       
   125 									<xs:attribute type="xs:string" name="value" use="optional" />
       
   126 
       
   127 									<xs:attribute type="xs:string" name="label" use="optional" />
       
   128 									<xs:attribute type="xs:string" name="viewBox" use="optional" />
       
   129 									<xs:attribute name="rule" type="xs:string" use="optional">
       
   130 									</xs:attribute>
       
   131 									<xs:attribute name="literal" use="optional"
       
   132 										default="no">
       
   133 										<xs:simpleType>
       
   134 											<xs:restriction base="xs:string">
       
   135 												<xs:enumeration value="yes"></xs:enumeration>
       
   136 												<xs:enumeration value="no"></xs:enumeration>
       
   137 											</xs:restriction>
       
   138 										</xs:simpleType>
       
   139 									</xs:attribute>
       
   140 								</xs:complexType>
       
   141 							</xs:element>
       
   142 						</xs:sequence>
       
   143 						<xs:attribute type="xs:string" name="match" default="component"
       
   144 							use="optional" />
       
   145 						<xs:attribute type="xs:string" name="use" use="optional" />
       
   146 						<xs:attribute type="xs:string" name="label" use="optional" />
       
   147 						<xs:attribute name="sort" default="no" use="optional">
       
   148 							<xs:simpleType>
       
   149 								<xs:restriction base="xs:string">
       
   150 									<xs:enumeration value="yes"></xs:enumeration>
       
   151 									<xs:enumeration value="no"></xs:enumeration>
       
   152 								</xs:restriction>
       
   153 							</xs:simpleType>
       
   154 						</xs:attribute>
       
   155 						<xs:attribute name="show-unused" use="optional"
       
   156 							default="no">
       
   157 							<xs:simpleType>
       
   158 								<xs:restriction base="xs:string">
       
   159 									<xs:enumeration value="yes"></xs:enumeration>
       
   160 									<xs:enumeration value="no"></xs:enumeration>
       
   161 								</xs:restriction>
       
   162 							</xs:simpleType>
       
   163 						</xs:attribute>
       
   164 						<xs:attribute name="literal" default="no" use="optional">
       
   165 							<xs:simpleType>
       
   166 								<xs:restriction base="xs:string">
       
   167 									<xs:enumeration value="yes"></xs:enumeration>
       
   168 									<xs:enumeration value="no"></xs:enumeration>
       
   169 								</xs:restriction>
       
   170 							</xs:simpleType>
       
   171 						</xs:attribute>
       
   172 					</xs:complexType>
       
   173 				</xs:element>
       
   174 				<xs:element name="styles" maxOccurs="unbounded"
       
   175 					minOccurs="0">
       
   176 					<xs:complexType>
       
   177 						<xs:sequence>
       
   178 							<xs:element name="style" maxOccurs="unbounded"
       
   179 								minOccurs="1">
       
   180 								<xs:complexType>
       
   181 									<xs:simpleContent>
       
   182 										<xs:extension base="xs:string">
       
   183 											<xs:attribute type="xs:string" name="rule" use="optional" />
       
   184 											<xs:attribute type="xs:string" name="label" use="optional" />
       
   185 											<xs:attribute type="xs:string" name="value" use="optional" />
       
   186 											<xs:attribute name="literal" use="optional"
       
   187 												default="no">
       
   188 												<xs:simpleType>
       
   189 													<xs:restriction base="xs:string">
       
   190 														<xs:enumeration value="yes">
       
   191 														</xs:enumeration>
       
   192 														<xs:enumeration value="no">
       
   193 														</xs:enumeration>
       
   194 													</xs:restriction>
       
   195 												</xs:simpleType>
       
   196 											</xs:attribute>
       
   197 										</xs:extension>
       
   198 									</xs:simpleContent>
       
   199 								</xs:complexType>
       
   200 							</xs:element>
       
   201 						</xs:sequence>
       
   202 						<xs:attribute type="xs:string" name="match" default="component"
       
   203 							use="optional" />
       
   204 						<xs:attribute type="xs:string" name="use" use="optional" />
       
   205 						<xs:attribute type="xs:string" name="label" use="optional" />
       
   206 						<xs:attribute name="sort" default="no" use="optional">
       
   207 							<xs:simpleType>
       
   208 								<xs:restriction base="xs:string">
       
   209 									<xs:enumeration value="yes"></xs:enumeration>
       
   210 									<xs:enumeration value="no"></xs:enumeration>
       
   211 								</xs:restriction>
       
   212 							</xs:simpleType>
       
   213 						</xs:attribute>
       
   214 						<xs:attribute name="show-unused" use="optional"
       
   215 							default="no">
       
   216 							<xs:simpleType>
       
   217 								<xs:restriction base="xs:string">
       
   218 									<xs:enumeration value="yes"></xs:enumeration>
       
   219 									<xs:enumeration value="no"></xs:enumeration>
       
   220 								</xs:restriction>
       
   221 							</xs:simpleType>
       
   222 						</xs:attribute>
       
   223 						<xs:attribute name="literal" use="optional" default="no">
       
   224 							<xs:simpleType>
       
   225 								<xs:restriction base="xs:string">
       
   226 									<xs:enumeration value="yes"></xs:enumeration>
       
   227 									<xs:enumeration value="no"></xs:enumeration>
       
   228 								</xs:restriction>
       
   229 							</xs:simpleType>
       
   230 						</xs:attribute>
       
   231 					</xs:complexType>
       
   232 				</xs:element>
       
   233 				<xs:element name="colors" maxOccurs="unbounded"
       
   234 					minOccurs="0">
       
   235 					<xs:complexType>
       
   236 						<xs:sequence>
       
   237 							<xs:element name="color" maxOccurs="unbounded"
       
   238 								minOccurs="1">
       
   239 								<xs:complexType>
       
   240 									<xs:simpleContent>
       
   241 										<xs:extension base="xs:string">
       
   242 											<xs:attribute type="xs:string" name="label" use="optional" />
       
   243 											<xs:attribute type="xs:string" name="value" use="optional" />
       
   244 											<xs:attribute type="xs:string" name="rule" use="optional" />
       
   245 											<xs:attribute name="color" use="required">
       
   246 												<xs:annotation>
       
   247 													<xs:documentation>
       
   248 														The regular expression in the constraint
       
   249 														of
       
   250 														the "value" attribute is: 1) a valid rgb() expression or
       
   251 														2) a
       
   252 														valid hex number or 3) a valid alpha expression or 4)
       
   253 														a
       
   254 														three
       
   255 														digit hex triple or 5) a valid %rgb() expression.
       
   256           								</xs:documentation>
       
   257           							</xs:annotation>
       
   258           							<xs:simpleType>
       
   259 <!-- TODO: Need to modify the last pattern below (%rgb() to accept digits from 0 to 100 instead of from 1 to 99 -->
       
   260 								<xs:restriction base="xs:string">
       
   261 									<xs:pattern
       
   262 										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}%)\)">
       
   263 									</xs:pattern>
       
   264 								</xs:restriction>
       
   265 							</xs:simpleType>
       
   266           						</xs:attribute>
       
   267           						<xs:attribute name="literal" use="optional" default="no">
       
   268           							<xs:simpleType>
       
   269           								<xs:restriction
       
   270           									base="xs:string">
       
   271           									<xs:enumeration
       
   272           										value="yes">
       
   273           									</xs:enumeration>
       
   274           									<xs:enumeration
       
   275           										value="no">
       
   276           									</xs:enumeration>
       
   277           								</xs:restriction>
       
   278           							</xs:simpleType>
       
   279           						</xs:attribute>
       
   280           					</xs:extension>
       
   281           				</xs:simpleContent>
       
   282           			</xs:complexType>
       
   283           		</xs:element>
       
   284           	</xs:sequence>
       
   285           	<xs:attribute name="default" use="optional">
       
   286           		<xs:annotation>
       
   287           			<xs:documentation>
       
   288           				The regular expression in the constraint of
       
   289 									the "value" attribute is: 1) a valid rgb() expression or 2) a
       
   290 									valid hex number or 3) a valid alpha expression or 4) a three
       
   291 									digit hex triple or 5) a valid %rgb() expression.
       
   292           			</xs:documentation>
       
   293           		</xs:annotation>
       
   294           		<xs:simpleType>
       
   295 <!-- TODO: Need to modify the last pattern below (%rgb() to accept digits from 0 to 100 instead of from 1 to 99 -->
       
   296 								<xs:restriction base="xs:string">
       
   297 									<xs:pattern
       
   298 										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}%)\)">
       
   299 									</xs:pattern>
       
   300 								</xs:restriction>
       
   301 							</xs:simpleType>
       
   302           	</xs:attribute>
       
   303           	<xs:attribute type="xs:string" name="match" use="optional"
       
   304           		default="component" />
       
   305           	<xs:attribute type="xs:string" name="use" use="optional" />
       
   306           	<xs:attribute type="xs:string" name="label"
       
   307           		use="optional" />
       
   308           	<xs:attribute name="sort" use="optional" default="no">
       
   309           		<xs:simpleType>
       
   310           			<xs:restriction base="xs:string">
       
   311           				<xs:enumeration value="yes"></xs:enumeration>
       
   312           				<xs:enumeration value="no"></xs:enumeration>
       
   313           			</xs:restriction>
       
   314           		</xs:simpleType>
       
   315           	</xs:attribute>
       
   316           	<xs:attribute name="show-unused" use="optional"
       
   317           		default="no">
       
   318           		<xs:simpleType>
       
   319           			<xs:restriction base="xs:string">
       
   320           				<xs:enumeration value="yes"></xs:enumeration>
       
   321           				<xs:enumeration value="no"></xs:enumeration>
       
   322           			</xs:restriction>
       
   323           		</xs:simpleType>
       
   324           	</xs:attribute>
       
   325           	<xs:attribute name="type" use="optional"
       
   326           		default="background">
       
   327           		<xs:simpleType>
       
   328           			<xs:restriction base="xs:string">
       
   329           				<xs:enumeration value="background"></xs:enumeration>
       
   330           				<xs:enumeration value="text-highlight"></xs:enumeration>
       
   331           				<xs:enumeration value="highlight"></xs:enumeration>
       
   332           			</xs:restriction>
       
   333           		</xs:simpleType>
       
   334           	</xs:attribute>
       
   335           	<xs:attribute name="literal" use="optional"
       
   336           		default="no">
       
   337           		<xs:simpleType>
       
   338           			<xs:restriction base="xs:string">
       
   339           				<xs:enumeration value="yes"></xs:enumeration>
       
   340           				<xs:enumeration value="no"></xs:enumeration>
       
   341           			</xs:restriction>
       
   342           		</xs:simpleType>
       
   343           	</xs:attribute>
       
   344           </xs:complexType>
       
   345         </xs:element>
       
   346         <xs:element name="examples" maxOccurs="unbounded" minOccurs="0">
       
   347           <xs:complexType>
       
   348           	<xs:sequence>
       
   349           		<xs:element name="cmp" maxOccurs="unbounded"
       
   350           			minOccurs="0">
       
   351           			<xs:complexType>
       
   352           				<xs:simpleContent>
       
   353           					<xs:extension base="xs:string">
       
   354           						<xs:attribute type="xs:string"
       
   355           							name="color" use="optional" />
       
   356           						<xs:attribute type="xs:string"
       
   357           							name="overlay" use="optional" />
       
   358           						<xs:attribute type="xs:string"
       
   359           							name="border" use="optional" />
       
   360           						<xs:attribute name="highlight"
       
   361           							type="xs:string" use="optional">
       
   362           						</xs:attribute>
       
   363           						<xs:attribute name="text-highlight"
       
   364           							type="xs:string" use="optional">
       
   365           						</xs:attribute>
       
   366           						<xs:attribute name="style"
       
   367           							type="xs:string" use="optional">
       
   368           						</xs:attribute>
       
   369           					</xs:extension>
       
   370           				</xs:simpleContent>
       
   371           			</xs:complexType>
       
   372           		</xs:element>
       
   373           	</xs:sequence>
       
   374           	<xs:attribute type="xs:string" name="label"
       
   375           		use="optional" />
       
   376           	<xs:attribute name="literal" use="optional" default="no">
       
   377           		<xs:simpleType>
       
   378           			<xs:restriction base="xs:string">
       
   379           				<xs:enumeration value="yes"></xs:enumeration>
       
   380           				<xs:enumeration value="no"></xs:enumeration>
       
   381           			</xs:restriction>
       
   382           		</xs:simpleType>
       
   383           	</xs:attribute>
       
   384           </xs:complexType>
       
   385         </xs:element>
       
   386       </xs:sequence>
       
   387     </xs:complexType>
       
   388   </xs:element>
       
   389 </xs:schema>