configurationengine/source/cone/public/tests/testdata/view_tests/unit-test/confml/unit-test.confml
changeset 3 e7e0ae78773e
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/configurationengine/source/cone/public/tests/testdata/view_tests/unit-test/confml/unit-test.confml	Tue Aug 10 14:29:28 2010 +0300
@@ -0,0 +1,368 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<configuration xmlns="http://www.s60.com/xml/confml/2"
+	xmlns:xi="http://www.w3.org/2001/XInclude"
+	xmlns:xs="http://www.w3.org/2001/XMLSchema"
+	version="1.0"
+	name="Another example configuration for unit tests"
+	>
+
+	<feature name="Constraints and relevants" ref="constraints-int-fea">
+		<desc>Some int constraints testing</desc>
+		
+	    <setting name="Int1" type="int" ref="set_int1" required="true" constraint=". &gt;= set_int2">
+    		<desc>Integer 1, must be equal or bigger than #2</desc>
+	    </setting>
+	    <setting name="Int2" type="int" ref="set_int2" required="true" constraint=". &lt;= set_int1">
+	    	<desc>Integer 2, must be equal or smaller than #1</desc>
+	    </setting>
+	    <setting name="Int3" type="int" ref="set_int3" required="true" relevant ="set_int1 = 4">
+	    	<desc>Integer 3, relevant only if int1 is 4</desc>
+	    </setting>
+	    <setting name="Int4" type="int" ref="set_int4" required="true" constraint=". = set_int3" relevant="set_int2 = 2">
+	    	<desc>Integer 4, relevant only if int2 is 3, must be same as int3</desc>
+	    </setting>
+	</feature>
+
+	<feature name="German cars" ref="german-car-fea">
+		<desc>Some german cars</desc>
+	    <setting name="German car Sequence" type="sequence" ref="CarSequence" maxOccurs="10" mapKey="CarName" mapValue="CarNum">
+		<desc>Example sequence containing one string and one int</desc>
+		
+		    <setting name="Car string in sequence" type="string" ref="CarName" required="true">
+			<desc>Car string in sequence description</desc>
+		    </setting>
+		    <setting name="Car int in sequence" type="int" ref="CarNum" required="true">
+			<desc>Car int in sequence description</desc>
+		    </setting>
+		
+	      </setting>
+	</feature>
+
+	<feature name="Japanese cars" ref="japan-car-fea">
+		<desc>Some japan cars</desc>
+	    <setting name="Japan car Sequence" type="sequence" ref="CarSequence" minOccurs="1" maxOccurs="11" mapKey="CarName" mapValue="CarNum">
+		<desc>Example sequence containing one string and one int</desc>
+		
+		    <setting name="Car string in sequence" type="string" ref="CarName" required="true">
+			<desc>Car string in sequence description</desc>
+		    </setting>
+		    <setting name="Car int in sequence" type="int" ref="CarNum" required="true">
+			<desc>Car int in sequence description</desc>
+		    </setting>
+		
+	      </setting>
+	</feature>
+
+	<feature name="Italian cars" ref="italy-car-fea">
+		<desc>Some italy cars</desc>
+	    <setting name="italy car Sequence" type="sequence" ref="CarSequence" minOccurs="2" maxOccurs="12" mapKey="CarName" mapValue="CarNum">
+		<desc>Example sequence containing one string and one int</desc>
+		
+		    <setting name="Car string in sequence" type="string" ref="CarName" required="true">
+			<desc>Car string in sequence description</desc>
+		    </setting>
+		    <setting name="Car int in sequence" type="int" ref="CarNum" required="true">
+			<desc>Car int in sequence description</desc>
+		    </setting>
+		
+	      </setting>
+	</feature>
+
+	<feature name="Bikes" ref="bike-feature">
+		<desc>Some bikes</desc>
+	    <setting name="Bike Sequence" type="sequence" ref="BikeSequence" minOccurs="2" maxOccurs="10" mapKey="BikeName" mapValue="BikeNum">
+		<desc>Example sequence containing one string and one int</desc>
+		
+		    <setting name="Bike string in sequence" type="string" ref="BikeName" required="true">
+			<desc>Bike string in sequence description</desc>
+		    </setting>
+		    <setting name="Bike int in sequence" type="int" ref="BikeNum" required="true">
+			<desc>Bike int in sequence description</desc>
+		    </setting>
+		
+	      </setting>
+	</feature>
+
+	<feature name="This is example feature (group) name" ref="example-feature">
+		<desc>This is example feature group description</desc>
+		
+		<setting name="Example String1" id="example1_id" required="true" type="string" ref="ExampleString1">
+			<desc>Example string description. Min length 10, max 50.</desc>
+			<xs:minLength value="10" />
+			<xs:maxLength value="50" />
+		</setting>
+		<setting name="Example Int1" required="true" type="int" ref="ExampleInt1">
+			<desc>Example number description. Value must be between 2000-2100 (inclusive)</desc>
+			<xs:minInclusive value="2000" />
+			<xs:maxInclusive value="2100" />
+		</setting>
+		
+		<setting name="Example String2 with options" required="false" type="string" ref="ExampleString2">
+			<desc>Example string description 2. Not required field. Length 5 characters.</desc>
+			<xs:length value="5"/>
+		    <option name="Oulu-Pori" value="507" />
+		    <option name="Oulu-Tampere" value="488" />
+		    <option name="Oulu-Helsinki" value="609" />
+		    <option name="Oulu-Kuusamo" value="216" />
+		    <option name="Oulu-Tornio" value="132" />
+		    <option name="Oulu-KilpisjƤrvi" value="589" />
+		    <option name="Oulu-Utsjoki" value="671" />
+		</setting>
+		<setting name="Example Int2 with options" required="true" type="int" ref="ExampleInt2">
+			<desc>Example number description 2. Value must be between 0-799 (exclusive 800)</desc>
+			<xs:minInclusive value="0" /> 
+			<xs:maxExclusive value="800" /> 
+		    <option name="Option 1" value="1" />
+		    <option name="Option 2" value="2" />
+		    <option name="option 3" value="3" />
+		</setting>
+
+		<setting name="Example Int3" id="example2_id" required="true" type="int" ref="ExampleInt3">
+			<desc>Example number description 3. Value must be between 10-20.</desc>
+			<xs:minExclusive value="9" />
+			<xs:maxInclusive value="20" />
+		</setting>
+		
+  		<setting name="Example Filename" type="file" ref="ExampleFilename" required="true">
+       		<desc>Example file. Target read only, pattern .*\.png</desc>
+       		<property name="maxHeight" value="40" /> 
+		    <property name="maxWidth" value="120" />
+		    <localPath />
+		    <targetPath readOnly="true" /> 
+		    <xs:pattern value="(.*\.png)" /> 
+  		</setting>
+
+  		<setting name="Example Folder" type="folder" ref="ExampleFolder" required="true">
+       		<desc>Example folder.</desc>
+       		<localPath /> 
+		    <targetPath readOnly="true" /> 
+  		</setting>
+
+		<setting name="Example Real" required="false" type="real" ref="ExampleReal">
+			<desc>Example real description. Not required field.</desc>
+		</setting>
+
+	    <setting name="Example Selection" type="selection" ref="ExampleSelection" required="true">
+		<desc>Example selection numbers from 1 to 5</desc>
+		<option name="Number 1" value="1" />
+		<option name="Number 2" value="2" />
+		<option name="Number 3" value="3" />
+		<option name="Number 4" value="4" />
+		<option name="Number 5" value="5" />
+		<option name="New Number" value="12" />
+	    </setting>
+
+	    <setting name="Example MultiSelection" type="multiSelection" ref="ExampleMultiSelection" required="true">
+		<desc>Example multi selection characters from A to E</desc>
+		<option name="Char A" value="A A" />
+		<option name="Char B" value="B B" />
+		<option name="Char C" value="C C" />
+		<option name="Char D" value="D D" />
+		<option name="Char E" value="E E" />
+	    </setting>
+		
+	    <setting name="Example Boolean" type="boolean" ref="ExampleBoolean" required="true">
+		<desc>Example boolean</desc>
+	    </setting>
+	      
+	    <setting name="Example Sequence" type="sequence" ref="ExampleSequence" required="false" minOccurs="2" maxOccurs="10">
+		<desc>Example sequence containing one string and one int</desc>
+		
+		    <setting name="Example string in sequence" type="string" ref="ExampleStringInSequence" required="true">
+			<desc>Example string in sequence description</desc>
+		    </setting>
+		    <setting name="Example int in sequence" type="int" ref="ExampleIntInSequence" required="true">
+			<desc>Example int in sequence description</desc>
+		    </setting>
+		
+	      </setting>
+
+	      <setting name="Example Date" type="date" ref="ExampleDate" required="true">
+		<desc>Example date description</desc>
+	      </setting>
+	      
+	      <setting name="Example Time" type="time" ref="ExampleTime" required="true">
+		<desc>Example time description</desc>
+	      </setting>
+	      
+	      <setting name="Example DateTime" type="dateTime" ref="ExampleDateTime" required="true">
+		<desc>Example date/time description</desc>
+	      </setting>
+
+	      <setting name="Example Duration" type="duration" ref="ExampleDuration" required="true">
+		<desc>Example duration description, 2 days, 5 hours</desc>
+	      </setting>
+		
+	</feature>
+
+	<feature name="Options map group" ref="example2-feature">
+		<desc>This is another example feature group for testing different map options</desc>
+
+	    <setting name="Example Selection to options only (MB)" type="selection" ref="ExampleSelectionToOptions" required="true">
+		<desc>Example selection values (options)</desc>
+		<option name="Option-Volkswagen (1)" value="1" />
+		<option name="Option-Mercedes Bentz (2)" value="2" />
+		<option name="Option-Citroen :) (3)" value="3" />
+		<option name="Option-Daihatsu (4)" value="4" />
+		<option name="Option-Ford (5)" value="5" />
+		<option name="Option-Opel (6)" value="6" />
+	    </setting>
+
+	    <setting name="Selection, one map, german (Bmw)" type="selection" ref="ExampleSelectionToGermanCarsMap" required="true">
+		<desc>Example selection to one map, German cars</desc>
+        <option map="german-car-fea/CarSequence" />
+	    </setting>
+
+	    <setting name="Selection, one map, italian (Ferrari)" type="selection" ref="ExampleSelectionToItalianCarsMap" required="true">
+		<desc>Example selection to one map, Italian cars</desc>
+        <option map="italy-car-fea/CarSequence" />
+	    </setting>
+
+	    <setting name="Selection, one map, japanese (Toyota)" type="selection" ref="ExampleSelectionToJapaneseCarsMap" required="true">
+		<desc>Example selection to one map, Japanese cars</desc>
+        <option map="japan-car-fea/CarSequence" />
+	    </setting>
+
+	    <setting name="Selection, three maps, all cars (Mitsu)" type="selection" ref="ExampleSelectionToAllCarsMap" required="true">
+		<desc>Example selection to three maps, German, Italian and Japanese cars</desc>
+        <option map="german-car-fea/CarSequence" />
+        <option map="italy-car-fea/CarSequence" />
+        <option map="japan-car-fea/CarSequence" />
+	    </setting>
+
+	    <setting name="Selection, four maps and extra options (Opel)" type="selection" ref="ExampleSelectionToMap" required="true">
+		<desc>Example selection to four maps, bikes, all cars and some option values also</desc>
+        <option map="german-car-fea/CarSequence" />
+		<option name="Option-Volkswagen (1)" value="1" />
+		<option name="Option-Mercedes Bentz (2)" value="2" />
+		<option name="Option-Citroen :) (3)" value="3" />
+        <option map="bike-feature/BikeSequence" />
+        <option map="japan-car-fea/CarSequence" />
+		<option name="Option-Daihatsu (4)" value="4" />
+		<option name="Option-Ford (5)" value="5" />
+		<option name="Option-Opel (6)" value="6" />
+        <option map="italy-car-fea/CarSequence" />
+	    </setting>
+
+	    <setting name="Example MultiSelection to map (Merida and Helkama)" type="multiSelection" ref="ExampleMultiSelectionToMap" required="true">
+		<desc>Example multi selection values from x to y and map to bikes</desc>
+		<option name="Crescent (1)" value="1" />
+		<option name="Insera (2)" value="2" />
+        <option map="bike-feature/BikeSequence" />
+		<option name="Merida (3)" value="3" />
+	    </setting>
+
+	</feature>
+	
+	<data>
+            <constraints-int-fea>
+                <set_int1>4</set_int1>
+                <set_int2>2</set_int2>
+                <set_int3>3</set_int3>
+                <set_int4>3</set_int4>
+            </constraints-int-fea>
+
+            <german-car-fea>
+                <CarSequence>
+                    <CarName>Audi</CarName>
+                    <CarNum>111</CarNum>
+                </CarSequence>
+                <CarSequence>
+                    <CarName>Bmw</CarName>
+                    <CarNum>222</CarNum>
+                </CarSequence>
+            </german-car-fea>
+
+            <japan-car-fea>
+                <CarSequence>
+                    <CarName>Subaru</CarName>
+                    <CarNum>555</CarNum>
+                </CarSequence>
+                <CarSequence>
+                    <CarName>Mitsubishi</CarName>
+                    <CarNum>666</CarNum>
+                </CarSequence>
+                <CarSequence>
+                    <CarName>Toyota</CarName>
+                    <CarNum>777</CarNum>
+                </CarSequence>
+            </japan-car-fea>
+
+            <italy-car-fea>
+                <CarSequence>
+                    <CarName>Ferrari</CarName>
+                    <CarNum>888</CarNum>
+                </CarSequence>
+                <CarSequence>
+                    <CarName>Fiat</CarName>
+                    <CarNum>999</CarNum>
+                </CarSequence>
+            </italy-car-fea>
+
+            <bike-feature>
+                <BikeSequence>
+                    <BikeName>Tunturi</BikeName>
+                    <BikeNum>28</BikeNum>
+                </BikeSequence>
+                <BikeSequence>
+                    <BikeName>Helkama</BikeName>
+                    <BikeNum>26</BikeNum>
+                </BikeSequence>
+            </bike-feature>
+
+	        <example-feature>
+	           <ExampleString1>The Year (Current)</ExampleString1>
+	           <ExampleInt1>2009</ExampleInt1>
+	           <ExampleString2>Hello</ExampleString2>
+	           <ExampleInt2>555</ExampleInt2>
+	           <ExampleInt3>13</ExampleInt3>
+	           <ExampleReal>3.14</ExampleReal>
+		   <ExampleFilename>
+		       <localPath>somefile.png</localPath>
+		       <targetPath>BUILD:///data</targetPath>
+		   </ExampleFilename>
+		   <ExampleFolder>
+		       <localPath>UI/Application data</localPath>
+		       <targetPath>BUILD:///data/UI</targetPath>
+		   </ExampleFolder>
+		   <ExampleSelection>3</ExampleSelection>
+		   <ExampleMultiSelection>"B B" "C C" "E E"</ExampleMultiSelection>
+		   <ExampleBoolean>true</ExampleBoolean>
+		   <ExampleSequence>
+		       <ExampleStringInSequence>Some century</ExampleStringInSequence>
+		       <ExampleIntInSequence>1900</ExampleIntInSequence>
+		   </ExampleSequence>
+		   <ExampleSequence>
+		       <ExampleStringInSequence>Some century X</ExampleStringInSequence>
+		       <ExampleIntInSequence>2101</ExampleIntInSequence>
+		   </ExampleSequence>
+		   
+		   <ExampleSequence>
+		       <ExampleStringInSequence>Django!</ExampleStringInSequence>
+		       <ExampleIntInSequence>1</ExampleIntInSequence>
+		   </ExampleSequence>
+
+		   <ExampleSequence>
+		       <ExampleStringInSequence>Fox</ExampleStringInSequence>
+		       <ExampleIntInSequence>3</ExampleIntInSequence>
+		   </ExampleSequence>
+		   
+		   <ExampleDate>2009-01-19Z</ExampleDate>
+		   <ExampleTime>09:15:00</ExampleTime>
+		   <ExampleDateTime>2009-01-19T09:15:00Z</ExampleDateTime>
+		   <ExampleDuration>P2DT2H</ExampleDuration>
+
+	        </example-feature>
+
+	        <example2-feature>
+            <ExampleSelectionToOptions>2</ExampleSelectionToOptions>
+            <ExampleSelectionToGermanCarsMap>222</ExampleSelectionToGermanCarsMap>
+            <ExampleSelectionToItalianCarsMap>888</ExampleSelectionToItalianCarsMap>
+            <ExampleSelectionToJapaneseCarsMap>777</ExampleSelectionToJapaneseCarsMap>
+            <ExampleSelectionToAllCarsMap>666</ExampleSelectionToAllCarsMap>
+
+            <ExampleSelectionToMap>6</ExampleSelectionToMap>
+            <ExampleMultiSelectionToMap>"3" "26"</ExampleMultiSelectionToMap>
+	        </example2-feature>
+	</data>
+</configuration>