configurationengine/source/cone/public/tests/testdata/view_tests/unit-test/confml/unit-test.confml
changeset 3 e7e0ae78773e
equal deleted inserted replaced
2:87cfa131b535 3:e7e0ae78773e
       
     1 <?xml version="1.0" encoding="UTF-8"?>
       
     2 <configuration xmlns="http://www.s60.com/xml/confml/2"
       
     3 	xmlns:xi="http://www.w3.org/2001/XInclude"
       
     4 	xmlns:xs="http://www.w3.org/2001/XMLSchema"
       
     5 	version="1.0"
       
     6 	name="Another example configuration for unit tests"
       
     7 	>
       
     8 
       
     9 	<feature name="Constraints and relevants" ref="constraints-int-fea">
       
    10 		<desc>Some int constraints testing</desc>
       
    11 		
       
    12 	    <setting name="Int1" type="int" ref="set_int1" required="true" constraint=". &gt;= set_int2">
       
    13     		<desc>Integer 1, must be equal or bigger than #2</desc>
       
    14 	    </setting>
       
    15 	    <setting name="Int2" type="int" ref="set_int2" required="true" constraint=". &lt;= set_int1">
       
    16 	    	<desc>Integer 2, must be equal or smaller than #1</desc>
       
    17 	    </setting>
       
    18 	    <setting name="Int3" type="int" ref="set_int3" required="true" relevant ="set_int1 = 4">
       
    19 	    	<desc>Integer 3, relevant only if int1 is 4</desc>
       
    20 	    </setting>
       
    21 	    <setting name="Int4" type="int" ref="set_int4" required="true" constraint=". = set_int3" relevant="set_int2 = 2">
       
    22 	    	<desc>Integer 4, relevant only if int2 is 3, must be same as int3</desc>
       
    23 	    </setting>
       
    24 	</feature>
       
    25 
       
    26 	<feature name="German cars" ref="german-car-fea">
       
    27 		<desc>Some german cars</desc>
       
    28 	    <setting name="German car Sequence" type="sequence" ref="CarSequence" maxOccurs="10" mapKey="CarName" mapValue="CarNum">
       
    29 		<desc>Example sequence containing one string and one int</desc>
       
    30 		
       
    31 		    <setting name="Car string in sequence" type="string" ref="CarName" required="true">
       
    32 			<desc>Car string in sequence description</desc>
       
    33 		    </setting>
       
    34 		    <setting name="Car int in sequence" type="int" ref="CarNum" required="true">
       
    35 			<desc>Car int in sequence description</desc>
       
    36 		    </setting>
       
    37 		
       
    38 	      </setting>
       
    39 	</feature>
       
    40 
       
    41 	<feature name="Japanese cars" ref="japan-car-fea">
       
    42 		<desc>Some japan cars</desc>
       
    43 	    <setting name="Japan car Sequence" type="sequence" ref="CarSequence" minOccurs="1" maxOccurs="11" mapKey="CarName" mapValue="CarNum">
       
    44 		<desc>Example sequence containing one string and one int</desc>
       
    45 		
       
    46 		    <setting name="Car string in sequence" type="string" ref="CarName" required="true">
       
    47 			<desc>Car string in sequence description</desc>
       
    48 		    </setting>
       
    49 		    <setting name="Car int in sequence" type="int" ref="CarNum" required="true">
       
    50 			<desc>Car int in sequence description</desc>
       
    51 		    </setting>
       
    52 		
       
    53 	      </setting>
       
    54 	</feature>
       
    55 
       
    56 	<feature name="Italian cars" ref="italy-car-fea">
       
    57 		<desc>Some italy cars</desc>
       
    58 	    <setting name="italy car Sequence" type="sequence" ref="CarSequence" minOccurs="2" maxOccurs="12" mapKey="CarName" mapValue="CarNum">
       
    59 		<desc>Example sequence containing one string and one int</desc>
       
    60 		
       
    61 		    <setting name="Car string in sequence" type="string" ref="CarName" required="true">
       
    62 			<desc>Car string in sequence description</desc>
       
    63 		    </setting>
       
    64 		    <setting name="Car int in sequence" type="int" ref="CarNum" required="true">
       
    65 			<desc>Car int in sequence description</desc>
       
    66 		    </setting>
       
    67 		
       
    68 	      </setting>
       
    69 	</feature>
       
    70 
       
    71 	<feature name="Bikes" ref="bike-feature">
       
    72 		<desc>Some bikes</desc>
       
    73 	    <setting name="Bike Sequence" type="sequence" ref="BikeSequence" minOccurs="2" maxOccurs="10" mapKey="BikeName" mapValue="BikeNum">
       
    74 		<desc>Example sequence containing one string and one int</desc>
       
    75 		
       
    76 		    <setting name="Bike string in sequence" type="string" ref="BikeName" required="true">
       
    77 			<desc>Bike string in sequence description</desc>
       
    78 		    </setting>
       
    79 		    <setting name="Bike int in sequence" type="int" ref="BikeNum" required="true">
       
    80 			<desc>Bike int in sequence description</desc>
       
    81 		    </setting>
       
    82 		
       
    83 	      </setting>
       
    84 	</feature>
       
    85 
       
    86 	<feature name="This is example feature (group) name" ref="example-feature">
       
    87 		<desc>This is example feature group description</desc>
       
    88 		
       
    89 		<setting name="Example String1" id="example1_id" required="true" type="string" ref="ExampleString1">
       
    90 			<desc>Example string description. Min length 10, max 50.</desc>
       
    91 			<xs:minLength value="10" />
       
    92 			<xs:maxLength value="50" />
       
    93 		</setting>
       
    94 		<setting name="Example Int1" required="true" type="int" ref="ExampleInt1">
       
    95 			<desc>Example number description. Value must be between 2000-2100 (inclusive)</desc>
       
    96 			<xs:minInclusive value="2000" />
       
    97 			<xs:maxInclusive value="2100" />
       
    98 		</setting>
       
    99 		
       
   100 		<setting name="Example String2 with options" required="false" type="string" ref="ExampleString2">
       
   101 			<desc>Example string description 2. Not required field. Length 5 characters.</desc>
       
   102 			<xs:length value="5"/>
       
   103 		    <option name="Oulu-Pori" value="507" />
       
   104 		    <option name="Oulu-Tampere" value="488" />
       
   105 		    <option name="Oulu-Helsinki" value="609" />
       
   106 		    <option name="Oulu-Kuusamo" value="216" />
       
   107 		    <option name="Oulu-Tornio" value="132" />
       
   108 		    <option name="Oulu-KilpisjƤrvi" value="589" />
       
   109 		    <option name="Oulu-Utsjoki" value="671" />
       
   110 		</setting>
       
   111 		<setting name="Example Int2 with options" required="true" type="int" ref="ExampleInt2">
       
   112 			<desc>Example number description 2. Value must be between 0-799 (exclusive 800)</desc>
       
   113 			<xs:minInclusive value="0" /> 
       
   114 			<xs:maxExclusive value="800" /> 
       
   115 		    <option name="Option 1" value="1" />
       
   116 		    <option name="Option 2" value="2" />
       
   117 		    <option name="option 3" value="3" />
       
   118 		</setting>
       
   119 
       
   120 		<setting name="Example Int3" id="example2_id" required="true" type="int" ref="ExampleInt3">
       
   121 			<desc>Example number description 3. Value must be between 10-20.</desc>
       
   122 			<xs:minExclusive value="9" />
       
   123 			<xs:maxInclusive value="20" />
       
   124 		</setting>
       
   125 		
       
   126   		<setting name="Example Filename" type="file" ref="ExampleFilename" required="true">
       
   127        		<desc>Example file. Target read only, pattern .*\.png</desc>
       
   128        		<property name="maxHeight" value="40" /> 
       
   129 		    <property name="maxWidth" value="120" />
       
   130 		    <localPath />
       
   131 		    <targetPath readOnly="true" /> 
       
   132 		    <xs:pattern value="(.*\.png)" /> 
       
   133   		</setting>
       
   134 
       
   135   		<setting name="Example Folder" type="folder" ref="ExampleFolder" required="true">
       
   136        		<desc>Example folder.</desc>
       
   137        		<localPath /> 
       
   138 		    <targetPath readOnly="true" /> 
       
   139   		</setting>
       
   140 
       
   141 		<setting name="Example Real" required="false" type="real" ref="ExampleReal">
       
   142 			<desc>Example real description. Not required field.</desc>
       
   143 		</setting>
       
   144 
       
   145 	    <setting name="Example Selection" type="selection" ref="ExampleSelection" required="true">
       
   146 		<desc>Example selection numbers from 1 to 5</desc>
       
   147 		<option name="Number 1" value="1" />
       
   148 		<option name="Number 2" value="2" />
       
   149 		<option name="Number 3" value="3" />
       
   150 		<option name="Number 4" value="4" />
       
   151 		<option name="Number 5" value="5" />
       
   152 		<option name="New Number" value="12" />
       
   153 	    </setting>
       
   154 
       
   155 	    <setting name="Example MultiSelection" type="multiSelection" ref="ExampleMultiSelection" required="true">
       
   156 		<desc>Example multi selection characters from A to E</desc>
       
   157 		<option name="Char A" value="A A" />
       
   158 		<option name="Char B" value="B B" />
       
   159 		<option name="Char C" value="C C" />
       
   160 		<option name="Char D" value="D D" />
       
   161 		<option name="Char E" value="E E" />
       
   162 	    </setting>
       
   163 		
       
   164 	    <setting name="Example Boolean" type="boolean" ref="ExampleBoolean" required="true">
       
   165 		<desc>Example boolean</desc>
       
   166 	    </setting>
       
   167 	      
       
   168 	    <setting name="Example Sequence" type="sequence" ref="ExampleSequence" required="false" minOccurs="2" maxOccurs="10">
       
   169 		<desc>Example sequence containing one string and one int</desc>
       
   170 		
       
   171 		    <setting name="Example string in sequence" type="string" ref="ExampleStringInSequence" required="true">
       
   172 			<desc>Example string in sequence description</desc>
       
   173 		    </setting>
       
   174 		    <setting name="Example int in sequence" type="int" ref="ExampleIntInSequence" required="true">
       
   175 			<desc>Example int in sequence description</desc>
       
   176 		    </setting>
       
   177 		
       
   178 	      </setting>
       
   179 
       
   180 	      <setting name="Example Date" type="date" ref="ExampleDate" required="true">
       
   181 		<desc>Example date description</desc>
       
   182 	      </setting>
       
   183 	      
       
   184 	      <setting name="Example Time" type="time" ref="ExampleTime" required="true">
       
   185 		<desc>Example time description</desc>
       
   186 	      </setting>
       
   187 	      
       
   188 	      <setting name="Example DateTime" type="dateTime" ref="ExampleDateTime" required="true">
       
   189 		<desc>Example date/time description</desc>
       
   190 	      </setting>
       
   191 
       
   192 	      <setting name="Example Duration" type="duration" ref="ExampleDuration" required="true">
       
   193 		<desc>Example duration description, 2 days, 5 hours</desc>
       
   194 	      </setting>
       
   195 		
       
   196 	</feature>
       
   197 
       
   198 	<feature name="Options map group" ref="example2-feature">
       
   199 		<desc>This is another example feature group for testing different map options</desc>
       
   200 
       
   201 	    <setting name="Example Selection to options only (MB)" type="selection" ref="ExampleSelectionToOptions" required="true">
       
   202 		<desc>Example selection values (options)</desc>
       
   203 		<option name="Option-Volkswagen (1)" value="1" />
       
   204 		<option name="Option-Mercedes Bentz (2)" value="2" />
       
   205 		<option name="Option-Citroen :) (3)" value="3" />
       
   206 		<option name="Option-Daihatsu (4)" value="4" />
       
   207 		<option name="Option-Ford (5)" value="5" />
       
   208 		<option name="Option-Opel (6)" value="6" />
       
   209 	    </setting>
       
   210 
       
   211 	    <setting name="Selection, one map, german (Bmw)" type="selection" ref="ExampleSelectionToGermanCarsMap" required="true">
       
   212 		<desc>Example selection to one map, German cars</desc>
       
   213         <option map="german-car-fea/CarSequence" />
       
   214 	    </setting>
       
   215 
       
   216 	    <setting name="Selection, one map, italian (Ferrari)" type="selection" ref="ExampleSelectionToItalianCarsMap" required="true">
       
   217 		<desc>Example selection to one map, Italian cars</desc>
       
   218         <option map="italy-car-fea/CarSequence" />
       
   219 	    </setting>
       
   220 
       
   221 	    <setting name="Selection, one map, japanese (Toyota)" type="selection" ref="ExampleSelectionToJapaneseCarsMap" required="true">
       
   222 		<desc>Example selection to one map, Japanese cars</desc>
       
   223         <option map="japan-car-fea/CarSequence" />
       
   224 	    </setting>
       
   225 
       
   226 	    <setting name="Selection, three maps, all cars (Mitsu)" type="selection" ref="ExampleSelectionToAllCarsMap" required="true">
       
   227 		<desc>Example selection to three maps, German, Italian and Japanese cars</desc>
       
   228         <option map="german-car-fea/CarSequence" />
       
   229         <option map="italy-car-fea/CarSequence" />
       
   230         <option map="japan-car-fea/CarSequence" />
       
   231 	    </setting>
       
   232 
       
   233 	    <setting name="Selection, four maps and extra options (Opel)" type="selection" ref="ExampleSelectionToMap" required="true">
       
   234 		<desc>Example selection to four maps, bikes, all cars and some option values also</desc>
       
   235         <option map="german-car-fea/CarSequence" />
       
   236 		<option name="Option-Volkswagen (1)" value="1" />
       
   237 		<option name="Option-Mercedes Bentz (2)" value="2" />
       
   238 		<option name="Option-Citroen :) (3)" value="3" />
       
   239         <option map="bike-feature/BikeSequence" />
       
   240         <option map="japan-car-fea/CarSequence" />
       
   241 		<option name="Option-Daihatsu (4)" value="4" />
       
   242 		<option name="Option-Ford (5)" value="5" />
       
   243 		<option name="Option-Opel (6)" value="6" />
       
   244         <option map="italy-car-fea/CarSequence" />
       
   245 	    </setting>
       
   246 
       
   247 	    <setting name="Example MultiSelection to map (Merida and Helkama)" type="multiSelection" ref="ExampleMultiSelectionToMap" required="true">
       
   248 		<desc>Example multi selection values from x to y and map to bikes</desc>
       
   249 		<option name="Crescent (1)" value="1" />
       
   250 		<option name="Insera (2)" value="2" />
       
   251         <option map="bike-feature/BikeSequence" />
       
   252 		<option name="Merida (3)" value="3" />
       
   253 	    </setting>
       
   254 
       
   255 	</feature>
       
   256 	
       
   257 	<data>
       
   258             <constraints-int-fea>
       
   259                 <set_int1>4</set_int1>
       
   260                 <set_int2>2</set_int2>
       
   261                 <set_int3>3</set_int3>
       
   262                 <set_int4>3</set_int4>
       
   263             </constraints-int-fea>
       
   264 
       
   265             <german-car-fea>
       
   266                 <CarSequence>
       
   267                     <CarName>Audi</CarName>
       
   268                     <CarNum>111</CarNum>
       
   269                 </CarSequence>
       
   270                 <CarSequence>
       
   271                     <CarName>Bmw</CarName>
       
   272                     <CarNum>222</CarNum>
       
   273                 </CarSequence>
       
   274             </german-car-fea>
       
   275 
       
   276             <japan-car-fea>
       
   277                 <CarSequence>
       
   278                     <CarName>Subaru</CarName>
       
   279                     <CarNum>555</CarNum>
       
   280                 </CarSequence>
       
   281                 <CarSequence>
       
   282                     <CarName>Mitsubishi</CarName>
       
   283                     <CarNum>666</CarNum>
       
   284                 </CarSequence>
       
   285                 <CarSequence>
       
   286                     <CarName>Toyota</CarName>
       
   287                     <CarNum>777</CarNum>
       
   288                 </CarSequence>
       
   289             </japan-car-fea>
       
   290 
       
   291             <italy-car-fea>
       
   292                 <CarSequence>
       
   293                     <CarName>Ferrari</CarName>
       
   294                     <CarNum>888</CarNum>
       
   295                 </CarSequence>
       
   296                 <CarSequence>
       
   297                     <CarName>Fiat</CarName>
       
   298                     <CarNum>999</CarNum>
       
   299                 </CarSequence>
       
   300             </italy-car-fea>
       
   301 
       
   302             <bike-feature>
       
   303                 <BikeSequence>
       
   304                     <BikeName>Tunturi</BikeName>
       
   305                     <BikeNum>28</BikeNum>
       
   306                 </BikeSequence>
       
   307                 <BikeSequence>
       
   308                     <BikeName>Helkama</BikeName>
       
   309                     <BikeNum>26</BikeNum>
       
   310                 </BikeSequence>
       
   311             </bike-feature>
       
   312 
       
   313 	        <example-feature>
       
   314 	           <ExampleString1>The Year (Current)</ExampleString1>
       
   315 	           <ExampleInt1>2009</ExampleInt1>
       
   316 	           <ExampleString2>Hello</ExampleString2>
       
   317 	           <ExampleInt2>555</ExampleInt2>
       
   318 	           <ExampleInt3>13</ExampleInt3>
       
   319 	           <ExampleReal>3.14</ExampleReal>
       
   320 		   <ExampleFilename>
       
   321 		       <localPath>somefile.png</localPath>
       
   322 		       <targetPath>BUILD:///data</targetPath>
       
   323 		   </ExampleFilename>
       
   324 		   <ExampleFolder>
       
   325 		       <localPath>UI/Application data</localPath>
       
   326 		       <targetPath>BUILD:///data/UI</targetPath>
       
   327 		   </ExampleFolder>
       
   328 		   <ExampleSelection>3</ExampleSelection>
       
   329 		   <ExampleMultiSelection>"B B" "C C" "E E"</ExampleMultiSelection>
       
   330 		   <ExampleBoolean>true</ExampleBoolean>
       
   331 		   <ExampleSequence>
       
   332 		       <ExampleStringInSequence>Some century</ExampleStringInSequence>
       
   333 		       <ExampleIntInSequence>1900</ExampleIntInSequence>
       
   334 		   </ExampleSequence>
       
   335 		   <ExampleSequence>
       
   336 		       <ExampleStringInSequence>Some century X</ExampleStringInSequence>
       
   337 		       <ExampleIntInSequence>2101</ExampleIntInSequence>
       
   338 		   </ExampleSequence>
       
   339 		   
       
   340 		   <ExampleSequence>
       
   341 		       <ExampleStringInSequence>Django!</ExampleStringInSequence>
       
   342 		       <ExampleIntInSequence>1</ExampleIntInSequence>
       
   343 		   </ExampleSequence>
       
   344 
       
   345 		   <ExampleSequence>
       
   346 		       <ExampleStringInSequence>Fox</ExampleStringInSequence>
       
   347 		       <ExampleIntInSequence>3</ExampleIntInSequence>
       
   348 		   </ExampleSequence>
       
   349 		   
       
   350 		   <ExampleDate>2009-01-19Z</ExampleDate>
       
   351 		   <ExampleTime>09:15:00</ExampleTime>
       
   352 		   <ExampleDateTime>2009-01-19T09:15:00Z</ExampleDateTime>
       
   353 		   <ExampleDuration>P2DT2H</ExampleDuration>
       
   354 
       
   355 	        </example-feature>
       
   356 
       
   357 	        <example2-feature>
       
   358             <ExampleSelectionToOptions>2</ExampleSelectionToOptions>
       
   359             <ExampleSelectionToGermanCarsMap>222</ExampleSelectionToGermanCarsMap>
       
   360             <ExampleSelectionToItalianCarsMap>888</ExampleSelectionToItalianCarsMap>
       
   361             <ExampleSelectionToJapaneseCarsMap>777</ExampleSelectionToJapaneseCarsMap>
       
   362             <ExampleSelectionToAllCarsMap>666</ExampleSelectionToAllCarsMap>
       
   363 
       
   364             <ExampleSelectionToMap>6</ExampleSelectionToMap>
       
   365             <ExampleMultiSelectionToMap>"3" "26"</ExampleMultiSelectionToMap>
       
   366 	        </example2-feature>
       
   367 	</data>
       
   368 </configuration>