]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/searchEngine/html/set.html
Branch V7_3_new_exportation merged.
[helm.git] / helm / searchEngine / html / set.html
diff --git a/helm/searchEngine/html/set.html b/helm/searchEngine/html/set.html
new file mode 100644 (file)
index 0000000..a070889
--- /dev/null
@@ -0,0 +1,178 @@
+<HTML>
+<HEAD>
+<SCRIPT language="Javascript">
+var inputok=0;
+function listrvars()
+       {
+       for (num=0; num<top.norvars; num++)
+               {
+               document.write("<OPTION value="+top.rvars[num]+">"+top.rvars[num]);
+               }
+       }
+function listsvars()
+       {
+       for (num=0; num<top.nosvars; num++)
+               {
+               document.write("<OPTION value="+top.svars[num]+">"+top.svars[num]);
+               }
+       }
+function listvvars()
+       {
+       for (num=0; num<top.novvars; num++)
+               {
+               document.write("<OPTION value="+top.vvars[num]+">"+top.vvars[num]);
+               }
+       }
+function help()
+       {
+with (document.form1) {
+       if (selopt[0].checked)
+       alert ("Turns a list of strings which cannot have attributes (the [val]) in a list of strings which can have them, but initially has none (a [set]).");
+       if (selopt[1].checked)
+       alert ("Taken a list of posix regular expressions, 'pattern [val]' searches the HELM library for all the URIs which match with at least one of those and returns a [set] representing them.");
+       if (selopt[2].checked)
+       alert ("A [svar] represents a list of URIs with attributes.");
+       if (selopt[3].checked)
+       alert ("A [rvar] is a single URI with attributes.");
+       if (selopt[4].checked)
+       alert ("Parenthesis are employed to force precedence between operators.");
+       if (selopt[5].checked)
+       alert ("The [path] you must enter represents a relation; this production returns a [set] composed by the union of all the URIs which match the chosen relation in the [val] you will enter afterwards, without attributes. If you select 'inverse', you'll obtain a list of all the URIs for which the [val] matches the chosen relation, 'sub' and 'super' modify the result depending on the chosen relation and the last input box allows you to add attributes to the result.");
+       if (selopt[6].checked)
+       alert ("This production returns a [set] composed by all the URIs in the given [set] which match the condition in the given [boole].");
+       if (selopt[7].checked)
+       alert ("'Union' returns a [set] which is the union of the two given [set]; should an URI be present in each [set] with different attributes, it will be included in the result only once with all the attributes.\n'Intersect' returns a [set] which contains the cartesian product of the URIs listed in each given [set].\n'Diff' returns a [set] which contains the URIs found in the first given [set] but not in the second. Attributes are ignored.");
+       if (selopt[8].checked)
+       alert ("Allows you to assign a value to a [svar]");
+       if (selopt[9].checked)
+       alert ("Allows you to assign a value to a [vvar]");
+       }
+       }
+function choice()
+{
+top.stadd="";
+with (document.form1) {
+       inputok=0;voidfield=0;top.wrong=0;
+       if (selopt[0].checked) {
+               top.stadd="ref [val]";
+               inputok=1;
+                                         }
+       if (selopt[1].checked) {
+               top.stadd="pattern [val]";
+               inputok=1;
+                                         }
+       if (selopt[2].checked) {
+               top.stadd=set1.value;
+               if (set1.value!="") {inputok=1} else voidfield=1;
+                                         }
+       if (selopt[3].checked) {
+               top.stadd=set2.value;
+               if (set2.value!="") {inputok=1} else voidfield=1;
+                                         }
+       if (selopt[4].checked) {
+               top.stadd="([set])";
+               inputok=1;
+                                         }
+       if (selopt[5].checked) {
+               if (set5.value.charAt(set5.value.length-1)==","){set5.value=set5.value.substring(0,set5.value.length-1)}
+               if (set5.value.length<7) {set5.value=""};
+               set4.value=top.tpa(set4.value);
+               top.stadd="relation "+set25.value+" "+set3.value+" "+set4.value+" [val] "+set5.value;
+               top.gramcheck("qp",set4.value);
+               //alert(set5.value.charAt(set5.value.length-1));
+               top.stadd=top.tpa(top.stadd);
+               //while (top.stadd.indexOf("<")>-1)
+                       //{top.stadd=top.stadd.replace("<","&lt;");}
+               if (set5.value!="")
+               {top.gramcheck("vlist",set5.value);}
+               else inputok=1;
+                                         }
+       if (selopt[6].checked) {
+               top.stadd="select @"+set6.value+" in [set] where [boole]";
+               top.gramcheck("id",set6.value);
+               if ((set6.value!="") && (inputok==1))
+                       {
+                       top.rvars[top.norvars]="@"+set6.value;
+                       top.norvars++;  
+                       }
+                                         }
+       if (selopt[7].checked) {
+               top.stadd="[set] "+set7.value+" [set]";
+               inputok=1;      
+                                         }
+       if (selopt[8].checked) {
+               top.stadd="let %"+set8.value+" be [set] in [set]";
+               top.gramcheck("id",set8.value);
+               if ((set8.value!="") && (inputok==1))
+                       {
+                       top.svars[top.nosvars]="%"+set8.value;
+                       top.nosvars++;  
+                       }
+                                         }
+       if (selopt[9].checked) {
+               top.stadd="let $"+set9.value+" be [val] in [set]";
+               top.gramcheck("id",set9.value);
+               if ((set9.value!="") && (inputok==1))
+                       {
+                       top.vvars1[top.novvars1]="$"+set9.value;
+                       top.novvars1++; 
+                       }
+                                         }
+       if (selopt[10].checked) {
+               set10.value=top.tpa(set10.value);
+               top.stadd=set10.value;
+               if (set10.value!="") {inputok=1} else voidfield=1;
+                                         }
+                  }
+if (top.stadd!="" && inputok==1) {top.aggq()}
+       else if (voidfield==1) alert("You left at least one field unfilled");
+}
+</SCRIPT>
+</HEAD>
+<BODY>
+<h1> <SCRIPT language="Javascript">document.write(top.ltr) </SCRIPT>
+<input type="button" value="&lt;-" onmouseOver="top.help(-8)" onclick="top.annulla()">
+<input type="button" value="-&gt;" onmouseOver="top.help(-81)" onclick="top.ripristina()"></h1>
+<h2> Select one of the following: </h2>
+<form name="form1" action="Javascript:choice();" method="get">
+<input type="radio" name="selopt"> ref [val] <br>
+<input type="radio" name="selopt"> pattern [val] <br>
+<input type="radio" name="selopt"> <select name="set1" type=text onFocus="selopt[2].checked=true;top.help(6)"> 
+<SCRIPT language=Javascript> listsvars(); </SCRIPT>
+</select>
+<br>
+<input type="radio" name="selopt"> <select name="set2" type=text onFocus="selopt[3].checked=true;top.help(4)">
+<SCRIPT language=Javascript> listrvars(); </SCRIPT>
+</select>
+<br>
+<input type="radio" name="selopt"> ( [set] ) <br>
+<input type="radio" name="selopt"> relation 
+<select name="set25" onFocus="selopt[5].checked=true">
+<OPTION selected value="">  
+<OPTION value=inverse> inverse
+</select> 
+<select name="set3" onFocus="selopt[5].checked=true">
+<OPTION selected value=""> 
+<OPTION value=sub> sub
+<OPTION value=super> super
+</select> 
+<input name="set4" type=text size=15 value="&quot;&quot;" onFocus="selopt[5].checked=true;top.help(5)">
+[val] <input name="set5" type=text size=20 onFocus="selopt[5].checked=true;top.help(2);if (this.value=='') this.value='attr $';">
+<br>
+<input type="radio" name="selopt"> select @ <input name="set6" type=text onFocus="selopt[6].checked=true;top.help(3)"> 
+in [set] where [boole] <br> <input type="radio" name="selopt"> [set] 
+<select name="set7" onFocus="selopt[7].checked=true">
+<OPTION value=union> union
+<OPTION value=intersect> intersect
+<OPTION value=diff> diff
+</select> 
+[set]  <br>
+<input type="radio" name="selopt"> let %<input name="set8" type=text onFocus="selopt[8].checked=true;top.help(3)"> be [set] in [set] <br>
+<input type="radio" name="selopt"> let $<input name="set9" type=text onFocus="selopt[9].checked=true;top.help(3)"> be [val] in [set] <br>
+<input type="radio" name="selopt"> <input name="set10" type=text 
+onFocus="selopt[10].checked=true;top.help(1)">  <br>
+<input type="submit" value="compose"><input type="button" value="get help" onclick="help()">
+<!--input type="button" value="compose" onclick="choice()"><!--input type="button" value="get help" onclick="help()">
+</form>
+</BODY>
+</HTML>