← Back to team overview

zorba-coders team mailing list archive

[Merge] lp:~ceejatec/zorba/http-client-test into lp:zorba

 

Chris Hillery has proposed merging lp:~ceejatec/zorba/http-client-test into lp:zorba.

Commit message:
Breaking http-client things

Requested reviews:
  Zorba Coders (zorba-coders)

For more details, see:
https://code.launchpad.net/~ceejatec/zorba/http-client-test/+merge/169745
-- 
https://code.launchpad.net/~ceejatec/zorba/http-client-test/+merge/169745
Your team Zorba Coders is requested to review the proposed merge of lp:~ceejatec/zorba/http-client-test into lp:zorba.
=== added file 'CMakeLists.txt'
--- CMakeLists.txt	1970-01-01 00:00:00 +0000
+++ CMakeLists.txt	2013-06-17 09:14:31 +0000
@@ -0,0 +1,42 @@
+# Copyright 2006-2010 The FLWOR Foundation.
+# 
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# 
+# http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
+
+PROJECT (zorba_http-client_module)
+ENABLE_TESTING ()
+INCLUDE (CTest)
+
+MESSAGE (FATAL_ERROR "Not yet")
+LIST (APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake_modules")
+
+FIND_PACKAGE (Zorba REQUIRED HINTS "${ZORBA_BUILD_DIR}")
+INCLUDE ("${Zorba_USE_FILE}")
+
+# The _SUPPRESS variables are a work-around for the Ubuntu packaging process.
+IF (NOT SUPPRESS_HTML_MODULE_FIND_PACKAGE)
+  FIND_PACKAGE(zorba_html_module
+    HINTS ${HTML_BUILD_DIR})
+ELSE (NOT SUPPRESS_HTML_MODULE_FIND_PACKAGE)
+  SET (zorba_html_module_FOUND 1)
+ENDIF (NOT SUPPRESS_HTML_MODULE_FIND_PACKAGE)
+
+IF (zorba_html_module_FOUND)
+  ADD_TEST_DIRECTORY("${PROJECT_SOURCE_DIR}/test")
+  ADD_SUBDIRECTORY("src")
+ELSE (zorba_html_module_FOUND)
+  MESSAGE (STATUS "Didn't find Zorba's HTML module - skipping http-client module")
+ENDIF (zorba_html_module_FOUND)
+
+DONE_DECLARING_ZORBA_URIS()

=== renamed file 'CMakeLists.txt' => 'CMakeLists.txt.moved'
=== added directory 'doc'
=== renamed directory 'doc' => 'doc.moved'
=== added file 'doc/HOW_TO_USE.TXT'
--- doc/HOW_TO_USE.TXT	1970-01-01 00:00:00 +0000
+++ doc/HOW_TO_USE.TXT	2013-06-17 09:14:31 +0000
@@ -0,0 +1,6 @@
+STEPS:
+
+1. Generate and build data-converters project first with libTidy library installed.
+2. Generate http-client project verify if the data-converters package was found.
+3. If data-converters wasnt found give add the next variable -D DATA_CONVERTERS_BUILD_DIR="path_to_data-converters/build"
+4. Generate project again and build.   
\ No newline at end of file

=== added directory 'src'
=== renamed directory 'src' => 'src.moved'
=== added file 'src/CMakeLists.txt'
--- src/CMakeLists.txt	1970-01-01 00:00:00 +0000
+++ src/CMakeLists.txt	2013-06-17 09:14:31 +0000
@@ -0,0 +1,19 @@
+# Copyright 2006-2008 The FLWOR Foundation.
+# 
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# 
+# http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# all external module libraries are generated in the directory
+# of the corresponding .xq file
+MESSAGE(STATUS "Add org")
+ADD_SUBDIRECTORY(org)
+MESSAGE(STATUS "End modules")

=== added directory 'src/org'
=== added file 'src/org/CMakeLists.txt'
--- src/org/CMakeLists.txt	1970-01-01 00:00:00 +0000
+++ src/org/CMakeLists.txt	2013-06-17 09:14:31 +0000
@@ -0,0 +1,14 @@
+# Copyright 2006-2008 The FLWOR Foundation.
+# 
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# 
+# http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+ADD_SUBDIRECTORY(expath)

=== added directory 'src/org/expath'
=== added file 'src/org/expath/CMakeLists.txt'
--- src/org/expath/CMakeLists.txt	1970-01-01 00:00:00 +0000
+++ src/org/expath/CMakeLists.txt	2013-06-17 09:14:31 +0000
@@ -0,0 +1,14 @@
+# Copyright 2006-2008 The FLWOR Foundation.
+# 
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# 
+# http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+ADD_SUBDIRECTORY(ns)

=== added directory 'src/org/expath/ns'
=== added file 'src/org/expath/ns/CMakeLists.txt'
--- src/org/expath/ns/CMakeLists.txt	1970-01-01 00:00:00 +0000
+++ src/org/expath/ns/CMakeLists.txt	2013-06-17 09:14:31 +0000
@@ -0,0 +1,15 @@
+# Copyright 2006-2008 The FLWOR Foundation.
+# 
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# 
+# http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+DECLARE_ZORBA_MODULE (URI "http://expath.org/ns/http-client"; FILE "http-client.xq" VERSION 1.0)

=== added file 'src/org/expath/ns/http-client.xq'
--- src/org/expath/ns/http-client.xq	1970-01-01 00:00:00 +0000
+++ src/org/expath/ns/http-client.xq	2013-06-17 09:14:31 +0000
@@ -0,0 +1,226 @@
+xquery version "3.0";
+
+(:
+ : Copyright 2006-2009 The FLWOR Foundation.
+ :
+ : Licensed under the Apache License, Version 2.0 (the "License");
+ : you may not use this file except in compliance with the License.
+ : You may obtain a copy of the License at
+ :
+ : http://www.apache.org/licenses/LICENSE-2.0
+ :
+ : Unless required by applicable law or agreed to in writing, software
+ : distributed under the License is distributed on an "AS IS" BASIS,
+ : WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ : See the License for the specific language governing permissions and
+ : limitations under the License.
+:)
+
+(:~
+ : <p>
+ : This module provides an implementation of the
+ : <a href="http://expath.org/modules/http-client/";>EXPath Http Client</a>.
+ : It provides functions for making HTTP requests and is a superset of the
+ : module specified by EXPath.
+ : Specifically, it implements the <code>http:send-request()</code> functions
+ : as specified by EXPath. Moreover, it adds an additional function
+ : <code>http:read()</code> (with several arities for the sake of ease).
+ : </p>
+ :
+ : <p>
+ : In general, both functions take a description of the HTTP request to make
+ : as parameter, execute the request, and return a representation of the HTTP
+ : response. For instance, in the following code snippet, we fetch the blog feed from Zorba:
+ : </p>
+ : <pre class="ace-static" ace-mode="xquery"><![CDATA[import module namespace http = "http://expath.org/ns/http-client";;
+ : 
+ : http:send-request(
+ :  <http:request href="http://www.zorba-xquery.com/blog/feed";  method="get" />
+ : )
+ : ]]></pre>
+ : <p>You can try this example <a href="http://www.zorba-xquery.com/html/demo#GKnscDSYqVadJ+CQftvnRw+LUd0=";>live</a>.</p>
+ : 
+ : <p>
+ : The <code>http:send-request()</code> functions are declared as sequential. 
+ : Sequential functions are allowed to have side effects. For example, most probably,
+ : an HTTP POST request is a request that has side effects because it adds/changes
+ : a remote resource. Sequential functions are specified in the
+ : <a href="http://www.zorba-xquery.com/html/documentation/latest/zorba/scripting_tutorial";>XQuery Scripting Extension</a>.
+ : In contrast, the http:read() functions are not declared as sequential -
+ : they are declared as nondeterministic though, which
+ : means that several calls may return different results.
+ : HTTP requests performed using these functions are <b>not</b> allowed to have
+ : side effects.
+ : </p>
+ :
+ : <p>
+ : The response is returned as a sequence of one or more items. The first
+ : one is an <code>http:response</code> element with quite the same
+ : structure as an http:request, but without the content itself.
+ : The content is returned as the second item (or several items in case of
+ : a multipart response) as a string, a document node, or a binary item.
+ : This depends on the content-type returned.
+ : Specifically, the rules are as follows:
+ : 
+ : <ul>
+ :  <li>A document node is returned if the media type has a MIME type of
+ :     text/xml, application/xml, text/xml-external-parsed-entity, or
+ :     application/xml-external-parsed-entity, as defined in [RFC 3023]
+ :     (except that application/xml-dtd is considered a text media type).
+ :     MIME types ending by +xml are also XML media types.</li>
+ :  <li>A document node is returned if the media type has a MIME type of
+ :      text/html. In order to be able to make HTML parseable, tidy is automatically
+ :      invoked. If you want to prevent that, you can also set your own content-type
+ :      by setting the override-media-type attribute in the request element.
+ :       For tidying, the following <a href="http://tidy.sourceforge.net/docs/quickref.html";>options</a>
+ :       will be used:
+ :       <ul>
+ :         <li>TidyXmlOut=yes</li>
+ :         <li>TidyDoctypeMode=TidyDoctypeOmit</li>
+ :         <li>TidyQuoteNbsp=yes</li>
+ :         <li>TidyCharEncoding="utf8"</li>
+ :         <li>TidyNewline="LF"</li>
+ :       </ul>
+ :  </li>
+ :  <li>An xs:string item is returned if the media type has a text MIME type,
+ :     i.e. beginning with text/.</li>
+ :  <li>An xs:base64Binary item is returned for all the other media types.</li>
+ : </ul>
+ : </p>
+ :
+ :
+ : <p>
+ : The structure of a request element is defined in the schema that is imported
+ : by this module. The details are described in the
+ : <a href="http://expath.org/spec/http-client#d2e183";>specification</a>.
+ : Analogously, the response element is also described in this
+ : <a href="http://expath.org/spec/http-client#d2e491";>specification</a>.
+ : </p>
+ :
+ : @author Markus Pilman
+ : @see <a href="http://www.w3.org/TR/xquery-3/#FunctionDeclns";>XQuery 3.0: Function Declaration</a>
+ : @library <a href="http://curl.haxx.se/";>cURL Library</a>
+ : @project EXPath/EXPath HTTP Client
+ :
+ :)
+module namespace http = "http://expath.org/ns/http-client";;
+
+import module namespace zorba-http = "http://www.zorba-xquery.com/modules/http-client";;
+import module namespace err = "http://expath.org/ns/error";;
+
+import module namespace tidy="http://www.zorba-xquery.com/modules/converters/html";;
+import schema namespace tidy-options="http://www.zorba-xquery.com/modules/converters/html-options";;
+
+import schema namespace https = "http://expath.org/ns/http-client";;
+
+declare namespace an = "http://www.zorba-xquery.com/annotations";;
+
+declare namespace ver = "http://www.zorba-xquery.com/options/versioning";;
+declare option ver:module-version "1.0";
+
+(:~
+ : This function sends an HTTP request and returns the corresponding response. 
+ :
+ : <p>
+ : This function is declared as sequential (see XQuery Scripting).
+ : Sequential functions are allowed to have side effects. For example, most probably,
+ : an HTTP POST request is a request that has side effects because it adds/changes
+ : a remote resource.
+ : </p>
+ :
+ : @param $request Contains the various parameters of the request. 
+ :   See the 
+ :   <a href="http://expath.org/spec/http-client#d2e183";>specification</a>.
+ :   for a full description of the structure of this element.
+ : @param $href is the HTTP or HTTPS URI to send the request to. It must be a valid
+ :  xs:anyURI, but is declared as a string to be able to pass literal strings
+ :  (without requiring to explicitly cast it to an xs:anyURI.)
+ : @param $content is the request body content, for HTTP methods that can
+ :  contain a body in the request (i.e. POST and PUT). It is an error, if this
+ :  param is not the empty sequence for methods other then DELETE, GET, HEAD
+ :  and OPTIONS.
+ : @return a sequence of items, where the first item is a element of type
+ :  http:responseType. The response element is also described in the
+ :  <a href="http://expath.org/spec/http-client#d2e483";>specification</a>.
+ :  If there is one (or several, in case of multipart) response body, the response bodies
+ :  are the next items in the sequence.
+ :)   
+declare %an:sequential function http:send-request(
+  $request as element()?,
+  $href as xs:string?,
+  $bodies as item()*) as item()+ {
+  try 
+  {
+     {
+       variable $result := zorba-http:send-request($request, $href, $bodies);
+       http:tidy-result($result, fn:data($request/@override-media-type))
+     }
+  } catch XPTY0004 {
+    fn:error($err:HC005, "The request element is not valid.")
+  }
+};
+
+(:~
+ : Function for convenience.
+ :
+ : Calling this function is equivalent to calling
+ :
+ : <code>
+ : http:send-request($request, (), ())
+ : </code>
+ :
+ : @see documentation of <a href="#send-request-3">send-request</a> with three parameters.
+ :
+ : @param $request see request parameter of the sequential
+ :  <a href="#send-request-3">send-request</a> function with three parameters.
+ : @return see return value of the sequential 
+ :  <a href="#send-request-3">send-request</a> function with three parameters.
+ :)
+declare %an:sequential function http:send-request (
+  $request as element()) as item()+ {
+  try {
+    http:send-request($request, (), ())
+  } catch XPTY0004 {
+    fn:error($err:HC005, "The request element is not valid.")
+  }
+};
+
+(:~
+ : Function for convenience.
+ :
+ : Calling this function is equivalent to calling
+ :
+ : <code>
+ : http:send-request($request, $href, ())
+ : </code>
+ :
+ : @see documentation of <a href="#send-request-3">send-request</a> with three parameters.
+ :
+ : @param $request see request parameter of the sequential
+ :  <a href="#send-request-3">send-request</a> function with three parameters.
+ : @param $href see href parameter of the sequential
+ :  <a href="#send-request-3">send-request</a> function with three parameters.
+ : @return see return of
+ :  <a href="#send-request-3">send-request</a>
+ :)
+declare %an:sequential function http:send-request(
+  $request as element()?,
+  $href as xs:string?) as item()+ {
+  try {
+    http:send-request($request, $href, ())
+  } catch XPTY0004 {
+    fn:error($err:HC005, "The request element is not valid.")
+  }
+};
+
+declare %private function http:tidy-result($result as item()+, $override-media-type as xs:string?) as item()+
+{
+  $result[1],
+  for $body at $pos in fn:subsequence($result, 2)
+  let $media-type := ($override-media-type, $result[1]//https:body[$pos]/@media-type/fn:data(.))[1]
+  return
+    if ($media-type eq "text/html") then
+      tidy:parse($body)
+    else
+      $body
+};                          

=== added directory 'test'
=== renamed directory 'test' => 'test.moved'
=== added directory 'test/ExpQueryResults'
=== added file 'test/ExpQueryResults/http-read-html-tidy2.xml.res'
--- test/ExpQueryResults/http-read-html-tidy2.xml.res	1970-01-01 00:00:00 +0000
+++ test/ExpQueryResults/http-read-html-tidy2.xml.res	2013-06-17 09:14:31 +0000
@@ -0,0 +1,1 @@
+<r>François Yergeau</r>
\ No newline at end of file

=== added file 'test/ExpQueryResults/http1-redirect.xml.res'
--- test/ExpQueryResults/http1-redirect.xml.res	1970-01-01 00:00:00 +0000
+++ test/ExpQueryResults/http1-redirect.xml.res	2013-06-17 09:14:31 +0000
@@ -0,0 +1,1 @@
+200

=== added file 'test/ExpQueryResults/http1.xml.res'
--- test/ExpQueryResults/http1.xml.res	1970-01-01 00:00:00 +0000
+++ test/ExpQueryResults/http1.xml.res	2013-06-17 09:14:31 +0000
@@ -0,0 +1,1 @@
+<simpletest/>
\ No newline at end of file

=== added file 'test/ExpQueryResults/http2-read-base64.xml.res'
--- test/ExpQueryResults/http2-read-base64.xml.res	1970-01-01 00:00:00 +0000
+++ test/ExpQueryResults/http2-read-base64.xml.res	2013-06-17 09:14:31 +0000
@@ -0,0 +1,1 @@
+true true true

=== added file 'test/ExpQueryResults/http2-read-html-tidy.xml.res'
--- test/ExpQueryResults/http2-read-html-tidy.xml.res	1970-01-01 00:00:00 +0000
+++ test/ExpQueryResults/http2-read-html-tidy.xml.res	2013-06-17 09:14:31 +0000
@@ -0,0 +1,1129 @@
+<html xmlns="http://www.w3.org/1999/xhtml";>
+<head>
+
+<style type="text/css">
+/**/
+/**/
+&amp;lt;!--
+.portalLink { font-weight: bold; margin-top: 8px; }
+.portalInfo { margin-bottom: 8px; }
+.portalViski { margin-top: 0px; margin-bottom: 15px; }
+--&amp;gt;
+/**/
+/**/
+</style>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+<meta name="generator" content="vBulletin 3.8.5"/>
+<meta name="keywords" content="vis,forum,bbs,discussion,bulletin board"/>
+<meta name="description" content="Dies ist das Diskussionsforum des VIS - des Vereins der Informatik Studierenden an der ETH Zuerich."/>
+<!-- CSS Stylesheet -->
+
+<style type="text/css" id="vbulletin_css">
+/**/
+/**/
+/**
+* vBulletin 3.8.5 CSS
+* Style: 'VIS-Look'; Style ID: 2
+*/
+body
+{
+        background: #FFFFFF;
+        color: #000000;
+        font: 10pt Arial, Helvetica, sans-serif;
+        margin: 0px 0px 0px 0px;
+        padding: 0px;
+}
+a:link, body_alink
+{
+        color: #22229C;
+}
+a:visited, body_avisited
+{
+        color: #22229C;
+}
+a:hover, a:active, body_ahover
+{
+        color: #FF4400;
+}
+.page
+{
+        background: #FFFFFF;
+        color: #000000;
+}
+td, th, p, li
+{
+        font: 10pt Arial, Helvetica, sans-serif;
+}
+.tborder
+{
+        background: #AAAAAA;
+        color: #000000;
+}
+.tcat
+{
+        background: #5A85B0 url(images/vislook/cellpic.png) repeat-x top left;
+        color: #FFFFFF;
+        font: bold 10pt Arial, Helvetica, sans-serif;
+}
+.tcat a:link, .tcat_alink
+{
+        color: #ffffff;
+        text-decoration: none;
+}
+.tcat a:visited, .tcat_avisited
+{
+        color: #ffffff;
+        text-decoration: none;
+}
+.tcat a:hover, .tcat a:active, .tcat_ahover
+{
+        color: #FFFF66;
+        text-decoration: underline;
+}
+.thead
+{
+        background: #5A85B0 url(images/vislook/cellpic.png) repeat-x top left;
+        color: #FFFFFF;
+        font: bold 11px Arial, Helvetica, sans-serif;
+}
+.thead a:link, .thead_alink
+{
+        color: #FFFFFF;
+}
+.thead a:visited, .thead_avisited
+{
+        color: #FFFFFF;
+}
+.thead a:hover, .thead a:active, .thead_ahover
+{
+        color: #FFFF00;
+}
+.tfoot
+{
+        background: #3E678E;
+        color: #FFFFFF;
+}
+.tfoot a:link, .tfoot_alink
+{
+        color: #FFFFFF;
+}
+.tfoot a:visited, .tfoot_avisited
+{
+        color: #FFFFFF;
+}
+.tfoot a:hover, .tfoot a:active, .tfoot_ahover
+{
+        color: #FFFF66;
+}
+.alt1, .alt1Active
+{
+        background: #F7F7F7;
+        color: #000000;
+}
+.alt2, .alt2Active
+{
+        background: #E7E7E7;
+        color: #000000;
+}
+.inlinemod
+{
+        background: #FFFFCC;
+        color: #000000;
+}
+.wysiwyg
+{
+        font: 10pt Arial, Helvetica, sans-serif;
+}
+textarea, .bginput
+{
+        font: 10pt verdana, geneva, lucida, 'lucida grande', arial, helvetica, sans-serif;
+}
+.bginput option, .bginput optgroup
+{
+        font-size: 10pt;
+        font-family: verdana, geneva, lucida, 'lucida grande', arial, helvetica, sans-serif;
+}
+.button
+{
+        font: 11px Arial, Helvetica, sans-serif;
+}
+select
+{
+        font: 11px Arial, Helvetica, sans-serif;
+}
+option, optgroup
+{
+        font-size: 11px;
+        font-family: Arial, Helvetica, sans-serif;
+}
+.smallfont
+{
+        font: 11px Arial, Helvetica, sans-serif;
+}
+.time
+{
+        color: #555555;
+}
+.navbar
+{
+        font: 11px Arial, Helvetica, sans-serif;
+}
+.highlight
+{
+        color: #FF0000;
+        font-weight: bold;
+}
+.fjsel
+{
+        background: #3E5C92;
+        color: #E0E0F6;
+}
+.fjdpth0
+{
+        background: #F7F7F7;
+        color: #000000;
+}
+.panel
+{
+        background: #EEEEEE;
+        color: #000000;
+        padding: 10px;
+        border: 1px solid #9C9C9C;
+}
+.panelsurround
+{
+        background: #C6D1DB;
+        color: #000000;
+}
+legend
+{
+        color: #22229C;
+        font: 11px tahoma, verdana, geneva, lucida, 'lucida grande', arial, helvetica, sans-serif;
+}
+.vbmenu_control
+{
+        background: #5A85B0 url(images/vislook/cellpic.png) repeat-x top left;
+        color: #FFFFFF;
+        font: bold 11px Arial, Helvetica, sans-serif;
+        padding: 3px 6px 3px 6px;
+        white-space: nowrap;
+}
+.vbmenu_control a:link, .vbmenu_control_alink
+{
+        color: #FFFFFF;
+        text-decoration: none;
+}
+.vbmenu_control a:visited, .vbmenu_control_avisited
+{
+        color: #FFFFFF;
+        text-decoration: none;
+}
+.vbmenu_control a:hover, .vbmenu_control a:active, .vbmenu_control_ahover
+{
+        color: #FFFFFF;
+        text-decoration: underline;
+}
+.vbmenu_popup
+{
+        background: #FFFFFF;
+        color: #000000;
+        border: 1px solid #0B198C;
+}
+.vbmenu_option
+{
+        background: #BBC7CE;
+        color: #000000;
+        font: 11px Arial, Helvetica, sans-serif;
+        white-space: nowrap;
+        cursor: pointer;
+}
+.vbmenu_option a:link, .vbmenu_option_alink
+{
+        color: #22229C;
+        text-decoration: none;
+}
+.vbmenu_option a:visited, .vbmenu_option_avisited
+{
+        color: #22229C;
+        text-decoration: none;
+}
+.vbmenu_option a:hover, .vbmenu_option a:active, .vbmenu_option_ahover
+{
+        color: #FFFFFF;
+        text-decoration: none;
+}
+.vbmenu_hilite
+{
+        background: #8A949E;
+        color: #FFFFFF;
+        font: 11px Arial, Helvetica, sans-serif;
+        white-space: nowrap;
+        cursor: pointer;
+}
+.vbmenu_hilite a:link, .vbmenu_hilite_alink
+{
+        color: #FFFFFF;
+        text-decoration: none;
+}
+.vbmenu_hilite a:visited, .vbmenu_hilite_avisited
+{
+        color: #FFFFFF;
+        text-decoration: none;
+}
+.vbmenu_hilite a:hover, .vbmenu_hilite a:active, .vbmenu_hilite_ahover
+{
+        color: #FFFFFF;
+        text-decoration: none;
+}
+/* ***** styling for 'big' usernames on postbit etc. ***** */
+.bigusername { font-size: 14pt; }
+
+/* ***** small padding on 'thead' elements ***** */
+td.thead, th.thead, div.thead { padding: 4px; }
+
+/* ***** basic styles for multi-page nav elements */
+.pagenav a { text-decoration: none; }
+.pagenav td { padding: 2px 4px 2px 4px; }
+
+/* ***** de-emphasized text */
+.shade, a.shade:link, a.shade:visited { color: #777777; text-decoration: none; }
+a.shade:active, a.shade:hover { color: #FF4400; text-decoration: underline; }
+.tcat .shade, .thead .shade, .tfoot .shade { color: #DDDDDD; }
+
+/* ***** define margin and font-size for elements inside panels ***** */
+.fieldset { margin-bottom: 6px; }
+.fieldset, .fieldset td, .fieldset p, .fieldset li { font-size: 11px; }
+
+/* ***** don't change the following ***** */
+form { margin: 0px; }
+label { cursor: default; }
+.normal { font-weight: normal; }
+.inlineimg { vertical-align: middle; }
+.underline { text-decoration: underline; }
+
+div.spoiler-hidden { background-color:#FFFFFF; color:#FFFFFF; border:1px solid #555555; padding:2px; }
+div.spoiler-visible { background-color:#FFFFFF; color:#000000; border:1px solid #555555; padding:2px; }
+div.spoiler-hidden img { visibility: hidden; }
+div.spoiler-visible img { visibility: visible; }
+.inlineimg { vertical-align: bottom; }
+/**/
+/**/
+</style>
+<link rel="stylesheet" type="text/css" href="clientscript/vbulletin_important.css?v=385"/>
+<!-- / CSS Stylesheet -->
+
+<script type="text/javascript" src="clientscript/yui/yahoo-dom-event/yahoo-dom-event.js?v=385">
+</script>
+<script type="text/javascript" src="clientscript/yui/connection/connection-min.js?v=385">
+</script>
+<script type="text/javascript">
+//
+//
+&amp;lt;!--
+var SESSIONURL = "s=51176e0685fc06c8ae3be0491b4e2b2a&amp;amp;";
+var SECURITYTOKEN = "guest";
+var IMGDIR_MISC = "images/misc";
+var vb_disable_ajax = parseInt("0", 10);
+// --&amp;gt;
+//
+//
+</script>
+<script type="text/javascript" src="clientscript/vbulletin_global.js?v=385">
+</script>
+<link rel="alternate" type="application/rss+xml" title="Inforum RSS Feed" href="external.php?type=RSS2"/>
+<script type="text/javascript">
+//
+//
+&amp;lt;!--
+function ie_load_pngs() {
+        var tmp = navigator.appVersion.match(/MSIE (\d+\.\d+)/);
+        if (tmp != null &amp;amp;&amp;amp; parseFloat(tmp[1]) &amp;gt;= 5.5) {
+                for (var i = 0, n = document.images.length; i &amp;lt; n; i++) {
+                        var img = document.images[i];
+                        if (img.complete &amp;amp;&amp;amp; img.src.match(/data\/public\/(avatars|pictures|signatures)\//i) != null) {
+                                img.style.width = img.width + "px";
+                                img.style.height = img.height + "px";
+                                img.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + img.src + "', sizingMethod='scale')";
+                                img.src = "clear.gif";
+                        }
+                }
+        }
+}
+if (navigator.platform == "Win32" &amp;amp;&amp;amp; navigator.appName == "Microsoft Internet Explorer" &amp;amp;&amp;amp; window.attachEvent &amp;amp;&amp;amp; navigator.userAgent.indexOf("Opera") == -1) {
+        window.attachEvent("onload", ie_load_pngs);
+}
+//--&amp;gt;
+//
+//
+</script>
+<title>Inforum - Portal</title>
+
+<script type="text/javascript">
+//
+//
+&amp;lt;!--
+function changeMensa() {
+        document.getElementById(prevMensa + "_title").style.display = "none";
+        document.getElementById(prevMensa + "_menu").style.display = "none";
+        prevMensa = document.forms.mensaForm.mensa.value;
+        document.getElementById(prevMensa + "_title").style.display = "inline";
+        document.getElementById(prevMensa + "_menu").style.display = "block";
+}
+
+function who_viski(article) {
+        return openWindow(
+                'http://wiki.vis.ethz.ch/' + article + '&amp;amp;action=history',
+                800, 600
+        );
+}
+
+//--&amp;gt;
+//
+//
+</script>
+</head>
+<body>
+<!-- logo -->
+<a name="top" id="top"/>
+<table border="0" width="95%" cellpadding="0" cellspacing="0" align="center">
+<tr>
+<td align="left"><a href="portal.php?s=51176e0685fc06c8ae3be0491b4e2b2a"><img src="images/vislook/vishead.jpg" border="0" alt="Inforum"/></a></td>
+<td align="right" id="header_right_cell"> </td>
+</tr>
+</table>
+<!-- /logo -->
+<!-- content table -->
+<!-- open content container -->
+<div align="center">
+<div class="page" style="width:95%; text-align:left">
+<div style="padding:0px 0px 0px 0px" align="left"><br/>
+<!-- breadcrumb, login, pm info -->
+<table class="tborder" cellpadding="6" cellspacing="1" border="0" width="100%" align="center">
+<tr>
+<td class="alt1" width="100%">
+<div class="navbar" style="font-size:10pt"><a href="index.php?s=51176e0685fc06c8ae3be0491b4e2b2a" accesskey="1"><img class="inlineimg" src="images/misc/navbits_start.gif" alt="" border="0"/></a> <strong>Inforum</strong></div>
+</td>
+<td class="alt2" nowrap="nowrap" style="padding:0px">
+<!-- login form -->
+<form action="login.php?do=login" method="post" onsubmit="md5hash(vb_login_password, vb_login_md5password, vb_login_md5password_utf, 0)">
+<script type="text/javascript" src="clientscript/vbulletin_md5.js?v=385">
+</script>
+<table cellpadding="0" cellspacing="3" border="0">
+<tr>
+<td class="smallfont" style="white-space: nowrap;"><label for="navbar_username">Benutzername</label></td>
+<td><input type="text" class="bginput" style="font-size: 11px" name="vb_login_username" id="navbar_username" size="10" accesskey="u" tabindex="101" value="Benutzername" onfocus="if (this.value == 'Benutzername') this.value = '';"/></td>
+<td class="smallfont" nowrap="nowrap"><label for="cb_cookieuser_navbar"><input type="checkbox" name="cookieuser" value="1" tabindex="103" id="cb_cookieuser_navbar" accesskey="c"/><acronym style="border-bottom: 1px dotted #000000; cursor: help;" title="Sie bleiben angemeldet, bis Sie sich selbst abmelden.">Angemeldet
+bleiben?</acronym></label></td>
+</tr>
+<tr>
+<td class="smallfont"><label for="navbar_password">Kennwort</label></td>
+<td><input type="password" class="bginput" style="font-size: 11px" name="vb_login_password" id="navbar_password" size="10" tabindex="102"/></td>
+<td><input type="submit" class="button" value="Anmelden" tabindex="104" title="Geben Sie zur Anmeldung Ihren Benutzernamen und Ihr Kennwort in die dafür vorgesehenen Textfelder ein oder klicken Sie auf die 'Registrieren'-Schaltfläche, um ein neues Benutzerkonto anzulegen." accesskey="s"/></td>
+</tr>
+</table>
+<input type="hidden" name="s" value="51176e0685fc06c8ae3be0491b4e2b2a"/> <input type="hidden" name="securitytoken" value="guest"/> <input type="hidden" name="do" value="login"/> <input type="hidden" name="vb_login_md5password"/> <input type="hidden" name="vb_login_md5password_utf"/></form>
+<!-- / login form --></td>
+</tr>
+</table>
+<!-- / breadcrumb, login, pm info -->
+<!-- nav buttons bar -->
+<div class="tborder" style="padding:1px; border-top-width:0px">
+<table cellpadding="0" cellspacing="0" border="0" width="100%" align="center">
+<tr align="center">
+<td class="vbmenu_control"><a href="register.php?s=51176e0685fc06c8ae3be0491b4e2b2a" rel="nofollow">Registrieren</a></td>
+<td class="vbmenu_control"><a href="showgroups.php">Moderationsteam</a></td>
+<td class="vbmenu_control"><a rel="help" href="faq.php?s=51176e0685fc06c8ae3be0491b4e2b2a" accesskey="5">Hilfe</a></td>
+<td class="vbmenu_control"><a href="memberlist.php?s=51176e0685fc06c8ae3be0491b4e2b2a">Benutzerliste</a></td>
+<td class="vbmenu_control"><a href="group.php?s=51176e0685fc06c8ae3be0491b4e2b2a&amp;">Interessengemeinschaften</a></td>
+<td class="vbmenu_control"><a href="calendar.php?s=51176e0685fc06c8ae3be0491b4e2b2a">Kalender</a></td>
+<td class="vbmenu_control"><a href="search.php?s=51176e0685fc06c8ae3be0491b4e2b2a" accesskey="4">Suchen</a></td>
+<td class="vbmenu_control"><a href="search.php?s=51176e0685fc06c8ae3be0491b4e2b2a&amp;do=getdaily" accesskey="2">Heutige Beiträge</a></td>
+<td class="vbmenu_control"><a href="forumdisplay.php?s=51176e0685fc06c8ae3be0491b4e2b2a&amp;do=markread&amp;markreadhash=guest" rel="nofollow">Alle Foren als gelesen markieren</a></td>
+</tr>
+</table>
+</div>
+<!-- / nav buttons bar -->
+<br/>
+<table cellpadding="0" cellspacing="0" width="100%">
+<tr valign="top">
+<td width="18%"><!--=== ForenListBox ===-->
+<table id="portalForums" class="tborder" cellspacing="1" cellpadding="4" width="100%">
+<tbody>
+<tr>
+<td class="thead" align="center">Forenübersicht</td>
+</tr>
+</tbody>
+<tbody>
+<tr>
+<td class="alt2" align="center">
+<div class="smallfont"><a href="forumdisplay.php?f=107">Bachelor</a></div>
+<div class="smallfont"><a href="forumdisplay.php?f=11">Masterstudium</a></div>
+<div class="smallfont"><a href="forumdisplay.php?f=9">ETH /
+VIS</a></div>
+<div class="smallfont"><a href="forumdisplay.php?f=3">Lounge</a></div>
+<div class="smallfont"><a href="forumdisplay.php?f=4">Computer</a></div>
+</td>
+</tr>
+</tbody>
+</table>
+<!--=== EndForenListBox ===-->
+<img src="clear.gif" width="2" height="12" alt=""/> 
+<!--=== ImportantLinksBox ===-->
+<table id="portalLinks" class="tborder" cellspacing="1" cellpadding="4" width="100%">
+<tbody>
+<tr>
+<td class="thead" align="center">Wichtige Links</td>
+</tr>
+</tbody>
+<tbody>
+<tr>
+<td class="alt2" align="center">
+<div class="portalLink"><a href="http://www.vis.ethz.ch/";>VIS-Homepage</a></div>
+<div class="smallfont portalInfo">Informatik-Fachverein</div>
+<div class="portalLink"><a href="showthread.php?t=2052">IRC
+Channel</a></div>
+<div class="smallfont portalInfo">Forum IRC Channel</div>
+<div class="portalLink"><a href="https://www.visit.ethz.ch/index.php?v=Job";>Jobbörse</a></div>
+<div class="smallfont portalInfo">Dienstleistung vom VIS</div>
+<!-- <div class="portalLink"><a 
+href="http://ethz.studentenbuecher.ch/";>B&uuml;cherb&ouml;rse</a></div>
+<div class="smallfont portalInfo">Dienstleistung ohne VSETH</div> --></td>
+</tr>
+</tbody>
+</table>
+<!--=== EndImportantLinksBox ===-->
+<img src="clear.gif" width="2" height="12" alt=""/> 
+<!--=== WhoIsOnlineBox ===-->
+<table id="portalUsers" class="tborder" cellspacing="1" cellpadding="4" width="100%">
+<tbody>
+<tr>
+<td class="thead" align="center">Wer ist online?</td>
+</tr>
+</tbody>
+<tbody>
+<tr>
+<td class="alt2" align="center">
+<div class="smallfont portalInfo">17 Mitglieder, 61 Gäste</div>
+<div class="smallfont portalInfo"><a href="member.php?u=2238">-KraBaT^</a>, <a href="member.php?u=1477">daniela</a>, <a href="member.php?u=1174">Exception</a>, <a href="member.php?u=57">ga_thrawn</a>, <a href="member.php?u=1528">Hermi</a>, <a href="member.php?u=2185">Manesh</a>, <a href="member.php?u=2091">Namelezz</a>, <a href="member.php?u=1459">Oxim
+Oresi</a>, <a href="member.php?u=907">Perro</a>, <a href="member.php?u=36">Raistlin</a>, <a href="member.php?u=940">sanakan</a>, <a href="member.php?u=253">sässiphus</a>, <a href="member.php?u=1251">thom</a>, <a href="member.php?u=3639">thomask</a>, <a href="member.php?u=1501">tiradur</a>, <a href="member.php?u=1601">zarzu</a></div>
+<div class="smallfont"><a href="online.php">Wer ist wo?</a></div>
+</td>
+</tr>
+</tbody>
+</table>
+<!--=== EndWhoIsOnlineBox ===--></td>
+<td width="0%"><img src="clear.gif" width="12" height="2" alt=""/></td>
+<td width="64%"><!--=== TopicBox ===-->
+<table id="portalTopics" class="tborder" cellspacing="1" cellpadding="4" width="100%">
+<tbody>
+<tr>
+<td class="thead" colspan="3" align="center">Thema</td>
+<td class="thead" align="center">Antworten</td>
+<td class="thead" align="center">Letzter Beitrag</td>
+</tr>
+</tbody>
+<tbody>
+<tr>
+<td class="alt1" align="center"><img src="images/statusicon/thread_hot.gif" alt=""/></td>
+<td class="alt2" align="center"><img src="clear.gif" width="15" height="15" alt=""/></td>
+<td class="alt1">
+<div><a href="showthread.php?t=13175">Minarett-Initiative</a></div>
+<div class="smallfont">Forum: <a href="forumdisplay.php?f=53">Politik und Gesellschaft</a></div>
+</td>
+<td class="alt2" align="center"><a href="misc.php?do=whoposted&amp;t=13175" onclick="who(13175);return(false)">409</a></td>
+<td class="alt1" align="right">
+<div class="smallfont" style="white-space:nowrap">Heute
+<span class="time">11:31</span><br/>
+<a href="member.php?u=1528">Hermi</a> <a href="showthread.php?p=203708#post203708"><img src="images/buttons/lastpost.gif" class="inlineimg" alt="Gehe zum letzten Beitrag" border="0"/></a></div>
+</td>
+</tr>
+<tr>
+<td class="alt1" align="center"><img src="images/statusicon/thread_hot.gif" alt=""/></td>
+<td class="alt2" align="center"><img src="images/oldicons/mad.gif" alt="Böse"/></td>
+<td class="alt1">
+<div><a href="showthread.php?t=6055">Der Pranger</a></div>
+<div class="smallfont">Forum: <a href="forumdisplay.php?f=98">Dauerbrenner</a></div>
+</td>
+<td class="alt2" align="center"><a href="misc.php?do=whoposted&amp;t=6055" onclick="who(6055);return(false)">7206</a></td>
+<td class="alt1" align="right">
+<div class="smallfont" style="white-space:nowrap">Heute
+<span class="time">11:25</span><br/>
+<a href="member.php?u=2207">smf68</a> <a href="showthread.php?p=203707#post203707"><img src="images/buttons/lastpost.gif" class="inlineimg" alt="Gehe zum letzten Beitrag" border="0"/></a></div>
+</td>
+</tr>
+<tr>
+<td class="alt1" align="center"><img src="images/statusicon/thread.gif" alt=""/></td>
+<td class="alt2" align="center"><img src="clear.gif" width="15" height="15" alt=""/></td>
+<td class="alt1">
+<div><a href="showthread.php?t=13809">Old exams Inf Sec</a></div>
+<div class="smallfont">Forum: <a href="forumdisplay.php?f=45">Information Systems</a></div>
+</td>
+<td class="alt2" align="center"><a href="misc.php?do=whoposted&amp;t=13809" onclick="who(13809);return(false)">1</a></td>
+<td class="alt1" align="right">
+<div class="smallfont" style="white-space:nowrap">Heute
+<span class="time">11:24</span><br/>
+<a href="member.php?u=2207">smf68</a> <a href="showthread.php?p=203706#post203706"><img src="images/buttons/lastpost.gif" class="inlineimg" alt="Gehe zum letzten Beitrag" border="0"/></a></div>
+</td>
+</tr>
+<tr>
+<td class="alt1" align="center"><img src="images/statusicon/thread.gif" alt=""/></td>
+<td class="alt2" align="center"><img src="clear.gif" width="15" height="15" alt=""/></td>
+<td class="alt1">
+<div><a href="showthread.php?t=13482">Sets, example 3.16</a></div>
+<div class="smallfont">Forum: <a href="forumdisplay.php?f=62">Diskrete Mathematik</a></div>
+</td>
+<td class="alt2" align="center"><a href="misc.php?do=whoposted&amp;t=13482" onclick="who(13482);return(false)">11</a></td>
+<td class="alt1" align="right">
+<div class="smallfont" style="white-space:nowrap">Heute
+<span class="time">10:12</span><br/>
+<a href="member.php?u=3036">louis</a> <a href="showthread.php?p=203705#post203705"><img src="images/buttons/lastpost.gif" class="inlineimg" alt="Gehe zum letzten Beitrag" border="0"/></a></div>
+</td>
+</tr>
+<tr>
+<td class="alt1" align="center"><img src="images/statusicon/thread.gif" alt=""/></td>
+<td class="alt2" align="center"><img src="images/oldicons/mad.gif" alt="Böse"/></td>
+<td class="alt1">
+<div><a href="showthread.php?t=13807">APIs fuer
+Mobile-GUIs</a></div>
+<div class="smallfont">Forum: <a href="forumdisplay.php?f=21">Developer</a></div>
+</td>
+<td class="alt2" align="center"><a href="misc.php?do=whoposted&amp;t=13807" onclick="who(13807);return(false)">9</a></td>
+<td class="alt1" align="right">
+<div class="smallfont" style="white-space:nowrap">Heute
+<span class="time">10:09</span><br/>
+<a href="member.php?u=1501">tiradur</a> <a href="showthread.php?p=203704#post203704"><img src="images/buttons/lastpost.gif" class="inlineimg" alt="Gehe zum letzten Beitrag" border="0"/></a></div>
+</td>
+</tr>
+<tr>
+<td class="alt1" align="center"><img src="images/statusicon/thread.gif" alt=""/></td>
+<td class="alt2" align="center"><img src="clear.gif" width="15" height="15" alt=""/></td>
+<td class="alt1">
+<div><a href="showthread.php?t=13808">Alte Prüfungen Parallel
+Programming</a></div>
+<div class="smallfont">Forum: <a href="forumdisplay.php?f=116">Parallele Programmierung</a></div>
+</td>
+<td class="alt2" align="center"><a href="misc.php?do=whoposted&amp;t=13808" onclick="who(13808);return(false)">2</a></td>
+<td class="alt1" align="right">
+<div class="smallfont" style="white-space:nowrap">Heute
+<span class="time">09:23</span><br/>
+<a href="member.php?u=3515">El-Che</a> <a href="showthread.php?p=203702#post203702"><img src="images/buttons/lastpost.gif" class="inlineimg" alt="Gehe zum letzten Beitrag" border="0"/></a></div>
+</td>
+</tr>
+<tr>
+<td class="alt1" align="center"><img src="images/statusicon/thread_hot.gif" alt=""/></td>
+<td class="alt2" align="center"><img src="images/oldicons/chat.gif" alt="Reden"/></td>
+<td class="alt1">
+<div><a href="showthread.php?t=13673">Witze</a></div>
+<div class="smallfont">Forum: <a href="forumdisplay.php?f=98">Dauerbrenner</a></div>
+</td>
+<td class="alt2" align="center"><a href="misc.php?do=whoposted&amp;t=13673" onclick="who(13673);return(false)">360</a></td>
+<td class="alt1" align="right">
+<div class="smallfont" style="white-space:nowrap">Heute
+<span class="time">08:55</span><br/>
+<a href="member.php?u=2347">Heinz el Mann</a> <a href="showthread.php?p=203701#post203701"><img src="images/buttons/lastpost.gif" class="inlineimg" alt="Gehe zum letzten Beitrag" border="0"/></a></div>
+</td>
+</tr>
+<tr>
+<td class="alt1" align="center"><img src="images/statusicon/thread_hot.gif" alt=""/></td>
+<td class="alt2" align="center"><img src="images/oldicons/cool.gif" alt="Cool"/></td>
+<td class="alt1">
+<div><a href="showthread.php?t=7919">Das Podest</a></div>
+<div class="smallfont">Forum: <a href="forumdisplay.php?f=98">Dauerbrenner</a></div>
+</td>
+<td class="alt2" align="center"><a href="misc.php?do=whoposted&amp;t=7919" onclick="who(7919);return(false)">5145</a></td>
+<td class="alt1" align="right">
+<div class="smallfont" style="white-space:nowrap">Gestern
+<span class="time">23:10</span><br/>
+<a href="member.php?u=3036">louis</a> <a href="showthread.php?p=203690#post203690"><img src="images/buttons/lastpost.gif" class="inlineimg" alt="Gehe zum letzten Beitrag" border="0"/></a></div>
+</td>
+</tr>
+<tr>
+<td class="alt1" align="center"><img src="images/statusicon/thread.gif" alt=""/></td>
+<td class="alt2" align="center"><img src="clear.gif" width="15" height="15" alt=""/></td>
+<td class="alt1">
+<div><a href="showthread.php?t=13793">Swisscom Router Reconnect
+Script</a></div>
+<div class="smallfont">Forum: <a href="forumdisplay.php?f=94">Internet</a></div>
+</td>
+<td class="alt2" align="center"><a href="misc.php?do=whoposted&amp;t=13793" onclick="who(13793);return(false)">19</a></td>
+<td class="alt1" align="right">
+<div class="smallfont" style="white-space:nowrap">Gestern
+<span class="time">21:40</span><br/>
+<a href="member.php?u=3018">finalcu</a> <a href="showthread.php?p=203686#post203686"><img src="images/buttons/lastpost.gif" class="inlineimg" alt="Gehe zum letzten Beitrag" border="0"/></a></div>
+</td>
+</tr>
+<tr>
+<td class="alt1" align="center"><img src="images/statusicon/thread.gif" alt=""/></td>
+<td class="alt2" align="center"><img src="images/oldicons/cool.gif" alt="Cool"/></td>
+<td class="alt1">
+<div><a href="showthread.php?t=13806">Wimbledon 2010</a></div>
+<div class="smallfont">Forum: <a href="forumdisplay.php?f=19">Plauderecke</a></div>
+</td>
+<td class="alt2" align="center"><a href="misc.php?do=whoposted&amp;t=13806" onclick="who(13806);return(false)">10</a></td>
+<td class="alt1" align="right">
+<div class="smallfont" style="white-space:nowrap">Gestern
+<span class="time">18:23</span><br/>
+<a href="member.php?u=13">Apophis</a> <a href="showthread.php?p=203684#post203684"><img src="images/buttons/lastpost.gif" class="inlineimg" alt="Gehe zum letzten Beitrag" border="0"/></a></div>
+</td>
+</tr>
+<tr>
+<td class="alt1" align="center"><img src="images/statusicon/thread.gif" alt=""/></td>
+<td class="alt2" align="center"><img src="clear.gif" width="15" height="15" alt=""/></td>
+<td class="alt1">
+<div><a href="showthread.php?t=13805">Taylorentwicklung mit
+Potenzreihen</a></div>
+<div class="smallfont">Forum: <a href="forumdisplay.php?f=55">Analysis</a></div>
+</td>
+<td class="alt2" align="center"><a href="misc.php?do=whoposted&amp;t=13805" onclick="who(13805);return(false)">2</a></td>
+<td class="alt1" align="right">
+<div class="smallfont" style="white-space:nowrap">Gestern
+<span class="time">13:44</span><br/>
+<a href="member.php?u=3652">giggs</a> <a href="showthread.php?p=203662#post203662"><img src="images/buttons/lastpost.gif" class="inlineimg" alt="Gehe zum letzten Beitrag" border="0"/></a></div>
+</td>
+</tr>
+<tr>
+<td class="alt1" align="center"><img src="vis/wiki/img/discussion_read.png" alt=""/></td>
+<td class="alt2" align="center"><img src="clear.gif" width="15" height="15" alt=""/></td>
+<td class="alt1">
+<div><a href="vis/wiki/go.php?namespace=1&amp;title=L%C3%B6sungsvorschlag_Diskrete_Mathematik_Sommer_2009">
+Lösungsvorschlag Diskrete Mathematik Sommer 2009</a></div>
+<div class="smallfont">VISki: Diskussion über <a href="vis/wiki/go.php?namespace=0&amp;title=L%C3%B6sungsvorschlag_Diskrete_Mathematik_Sommer_2009">
+Artikel</a></div>
+</td>
+<td class="alt2" align="center"><a href="http://wiki.vis.ethz.ch/Diskussion:L%C3%B6sungsvorschlag_Diskrete_Mathematik_Sommer_2009&amp;action=history"; onclick="who_viski('Diskussion:Lösungsvorschlag_Diskrete_Mathematik_Sommer_2009'); return(false)">
+1</a></td>
+<td class="alt1" align="right">
+<div class="smallfont" style="white-space:nowrap">Gestern
+<span class="time">08:45</span><br/>
+<a href="member.php?u=3492">baerj</a> <a href="vis/wiki/go.php?namespace=1&amp;title=L%C3%B6sungsvorschlag_Diskrete_Mathematik_Sommer_2009&amp;mode=diff">
+<img src="images/buttons/lastpost.gif" class="inlineimg" alt="Gehe zum letzten Beitrag" border="0"/></a></div>
+</td>
+</tr>
+<tr>
+<td class="alt1" align="center"><img src="images/statusicon/thread.gif" alt=""/></td>
+<td class="alt2" align="center"><img src="images/oldicons/question.gif" alt="Frage"/></td>
+<td class="alt1">
+<div><a href="showthread.php?t=13796">Fehler in Assignment
+11?</a></div>
+<div class="smallfont">Forum: <a href="forumdisplay.php?f=116">Parallele Programmierung</a></div>
+</td>
+<td class="alt2" align="center"><a href="misc.php?do=whoposted&amp;t=13796" onclick="who(13796);return(false)">4</a></td>
+<td class="alt1" align="right">
+<div class="smallfont" style="white-space:nowrap">23.06.2010
+<span class="time">20:59</span><br/>
+<a href="member.php?u=3290">fbesser</a> <a href="showthread.php?p=203640#post203640"><img src="images/buttons/lastpost.gif" class="inlineimg" alt="Gehe zum letzten Beitrag" border="0"/></a></div>
+</td>
+</tr>
+<tr>
+<td class="alt1" align="center"><img src="images/statusicon/thread.gif" alt=""/></td>
+<td class="alt2" align="center"><img src="clear.gif" width="15" height="15" alt=""/></td>
+<td class="alt1">
+<div><a href="showthread.php?t=13804">Externes Sortieren &amp;
+Co.</a></div>
+<div class="smallfont">Forum: <a href="forumdisplay.php?f=60">Datenstrukturen und Algorithmen</a></div>
+</td>
+<td class="alt2" align="center"><a href="misc.php?do=whoposted&amp;t=13804" onclick="who(13804);return(false)">3</a></td>
+<td class="alt1" align="right">
+<div class="smallfont" style="white-space:nowrap">23.06.2010
+<span class="time">15:55</span><br/>
+<a href="member.php?u=2745">Er$an</a> <a href="showthread.php?p=203629#post203629"><img src="images/buttons/lastpost.gif" class="inlineimg" alt="Gehe zum letzten Beitrag" border="0"/></a></div>
+</td>
+</tr>
+<tr>
+<td class="alt1" align="center"><img src="images/statusicon/thread_hot.gif" alt=""/></td>
+<td class="alt2" align="center"><img src="images/oldicons/chat.gif" alt="Reden"/></td>
+<td class="alt1">
+<div><a href="showthread.php?t=3612">Apropos Flash Games</a></div>
+<div class="smallfont">Forum: <a href="forumdisplay.php?f=22">Games</a></div>
+</td>
+<td class="alt2" align="center"><a href="misc.php?do=whoposted&amp;t=3612" onclick="who(3612);return(false)">233</a></td>
+<td class="alt1" align="right">
+<div class="smallfont" style="white-space:nowrap">23.06.2010
+<span class="time">14:23</span><br/>
+<a href="member.php?u=615">Kdansky</a> <a href="showthread.php?p=203623#post203623"><img src="images/buttons/lastpost.gif" class="inlineimg" alt="Gehe zum letzten Beitrag" border="0"/></a></div>
+</td>
+</tr>
+<tr>
+<td class="alt1" align="center"><img src="images/statusicon/thread.gif" alt=""/></td>
+<td class="alt2" align="center"><img src="clear.gif" width="15" height="15" alt=""/></td>
+<td class="alt1">
+<div><a href="showthread.php?t=13803">IllegalThreadStateException</a></div>
+<div class="smallfont">Forum: <a href="forumdisplay.php?f=116">Parallele Programmierung</a></div>
+</td>
+<td class="alt2" align="center"><a href="misc.php?do=whoposted&amp;t=13803" onclick="who(13803);return(false)">5</a></td>
+<td class="alt1" align="right">
+<div class="smallfont" style="white-space:nowrap">23.06.2010
+<span class="time">14:05</span><br/>
+<a href="member.php?u=1601">zarzu</a> <a href="showthread.php?p=203620#post203620"><img src="images/buttons/lastpost.gif" class="inlineimg" alt="Gehe zum letzten Beitrag" border="0"/></a></div>
+</td>
+</tr>
+<tr>
+<td class="alt1" align="center"><img src="images/statusicon/thread_hot.gif" alt=""/></td>
+<td class="alt2" align="center"><img src="clear.gif" width="15" height="15" alt=""/></td>
+<td class="alt1">
+<div><a href="showthread.php?t=5918">AKWs mal wieder...</a></div>
+<div class="smallfont">Forum: <a href="forumdisplay.php?f=53">Politik und Gesellschaft</a></div>
+</td>
+<td class="alt2" align="center"><a href="misc.php?do=whoposted&amp;t=5918" onclick="who(5918);return(false)">330</a></td>
+<td class="alt1" align="right">
+<div class="smallfont" style="white-space:nowrap">23.06.2010
+<span class="time">13:02</span><br/>
+<a href="member.php?u=1524">mensi</a> <a href="showthread.php?p=203608#post203608"><img src="images/buttons/lastpost.gif" class="inlineimg" alt="Gehe zum letzten Beitrag" border="0"/></a></div>
+</td>
+</tr>
+<tr>
+<td class="alt1" align="center"><img src="vis/wiki/img/discussion_read.png" alt=""/></td>
+<td class="alt2" align="center"><img src="clear.gif" width="15" height="15" alt=""/></td>
+<td class="alt1">
+<div><a href="vis/wiki/go.php?namespace=1&amp;title=L%C3%B6sungsvorschlag_Einf%C3%BChrung_in_die_Programmierung_Herbst_2009">
+Lösungsvorschlag Einführung in die Programmierung Herbst
+2009</a></div>
+<div class="smallfont">VISki: Diskussion über <a href="vis/wiki/go.php?namespace=0&amp;title=L%C3%B6sungsvorschlag_Einf%C3%BChrung_in_die_Programmierung_Herbst_2009">
+Artikel</a></div>
+</td>
+<td class="alt2" align="center"><a href="http://wiki.vis.ethz.ch/Diskussion:L%C3%B6sungsvorschlag_Einf%C3%BChrung_in_die_Programmierung_Herbst_2009&amp;action=history"; onclick="who_viski('Diskussion:Lösungsvorschlag_Einführung_in_die_Programmierung_Herbst_2009'); return(false)">
+1</a></td>
+<td class="alt1" align="right">
+<div class="smallfont" style="white-space:nowrap">23.06.2010
+<span class="time">10:45</span><br/>
+<a href="member.php?u=3502">Limi</a> <a href="vis/wiki/go.php?namespace=1&amp;title=L%C3%B6sungsvorschlag_Einf%C3%BChrung_in_die_Programmierung_Herbst_2009&amp;mode=diff">
+<img src="images/buttons/lastpost.gif" class="inlineimg" alt="Gehe zum letzten Beitrag" border="0"/></a></div>
+</td>
+</tr>
+<tr>
+<td class="alt1" align="center"><img src="images/statusicon/thread.gif" alt=""/></td>
+<td class="alt2" align="center"><img src="images/oldicons/question.gif" alt="Frage"/></td>
+<td class="alt1">
+<div><a href="showthread.php?t=13797">Inheritance</a></div>
+<div class="smallfont">Forum: <a href="forumdisplay.php?f=59">Einführung in die Programmierung</a></div>
+</td>
+<td class="alt2" align="center"><a href="misc.php?do=whoposted&amp;t=13797" onclick="who(13797);return(false)">18</a></td>
+<td class="alt1" align="right">
+<div class="smallfont" style="white-space:nowrap">23.06.2010
+<span class="time">10:16</span><br/>
+<a href="member.php?u=3082">Thuva</a> <a href="showthread.php?p=203601#post203601"><img src="images/buttons/lastpost.gif" class="inlineimg" alt="Gehe zum letzten Beitrag" border="0"/></a></div>
+</td>
+</tr>
+<tr>
+<td class="alt1" align="center"><img src="images/statusicon/thread.gif" alt=""/></td>
+<td class="alt2" align="center"><img src="images/oldicons/wink.gif" alt="Blinzeln"/></td>
+<td class="alt1">
+<div><a href="showthread.php?t=13801">Elektromotor-Dingsda</a></div>
+<div class="smallfont">Forum: <a href="forumdisplay.php?f=17">Hardware</a></div>
+</td>
+<td class="alt2" align="center"><a href="misc.php?do=whoposted&amp;t=13801" onclick="who(13801);return(false)">3</a></td>
+<td class="alt1" align="right">
+<div class="smallfont" style="white-space:nowrap">23.06.2010
+<span class="time">09:49</span><br/>
+<a href="member.php?u=337">Valio</a> <a href="showthread.php?p=203600#post203600"><img src="images/buttons/lastpost.gif" class="inlineimg" alt="Gehe zum letzten Beitrag" border="0"/></a></div>
+</td>
+</tr>
+<tr>
+<td class="alt1" align="center"><img src="images/statusicon/thread.gif" alt=""/></td>
+<td class="alt2" align="center"><img src="clear.gif" width="15" height="15" alt=""/></td>
+<td class="alt1">
+<div><a href="showthread.php?t=13773">Fussball-WM 2010</a></div>
+<div class="smallfont">Forum: <a href="forumdisplay.php?f=19">Plauderecke</a></div>
+</td>
+<td class="alt2" align="center"><a href="misc.php?do=whoposted&amp;t=13773" onclick="who(13773);return(false)">17</a></td>
+<td class="alt1" align="right">
+<div class="smallfont" style="white-space:nowrap">23.06.2010
+<span class="time">00:44</span><br/>
+<a href="member.php?u=2883">davids</a> <a href="showthread.php?p=203589#post203589"><img src="images/buttons/lastpost.gif" class="inlineimg" alt="Gehe zum letzten Beitrag" border="0"/></a></div>
+</td>
+</tr>
+<tr>
+<td class="alt1" align="center"><img src="images/statusicon/thread.gif" alt=""/></td>
+<td class="alt2" align="center"><img src="images/oldicons/mad.gif" alt="Böse"/></td>
+<td class="alt1">
+<div><a href="showthread.php?t=13786">Fahrpruefung und
+Fuehrerschein</a></div>
+<div class="smallfont">Forum: <a href="forumdisplay.php?f=19">Plauderecke</a></div>
+</td>
+<td class="alt2" align="center"><a href="misc.php?do=whoposted&amp;t=13786" onclick="who(13786);return(false)">16</a></td>
+<td class="alt1" align="right">
+<div class="smallfont" style="white-space:nowrap">22.06.2010
+<span class="time">18:38</span><br/>
+<a href="member.php?u=2965">Arnold</a> <a href="showthread.php?p=203579#post203579"><img src="images/buttons/lastpost.gif" class="inlineimg" alt="Gehe zum letzten Beitrag" border="0"/></a></div>
+</td>
+</tr>
+<tr>
+<td class="alt1" align="center"><img src="images/statusicon/thread.gif" alt=""/></td>
+<td class="alt2" align="center"><img src="images/oldicons/chat.gif" alt="Reden"/></td>
+<td class="alt1">
+<div><a href="showthread.php?t=13772">SVP will der Schweiz
+Nachbargebiete einverleiben</a></div>
+<div class="smallfont">Forum: <a href="forumdisplay.php?f=53">Politik und Gesellschaft</a></div>
+</td>
+<td class="alt2" align="center"><a href="misc.php?do=whoposted&amp;t=13772" onclick="who(13772);return(false)">7</a></td>
+<td class="alt1" align="right">
+<div class="smallfont" style="white-space:nowrap">22.06.2010
+<span class="time">18:27</span><br/>
+<a href="member.php?u=3515">El-Che</a> <a href="showthread.php?p=203578#post203578"><img src="images/buttons/lastpost.gif" class="inlineimg" alt="Gehe zum letzten Beitrag" border="0"/></a></div>
+</td>
+</tr>
+<tr>
+<td class="alt1" align="center"><img src="images/statusicon/thread.gif" alt=""/></td>
+<td class="alt2" align="center"><img src="clear.gif" width="15" height="15" alt=""/></td>
+<td class="alt1">
+<div><a href="showthread.php?t=13800">Reporting Results: Mean
+Values and Standard Deviations</a></div>
+<div class="smallfont">Forum: <a href="forumdisplay.php?f=121">Computational Intelligence Lab</a></div>
+</td>
+<td class="alt2" align="center"><a href="misc.php?do=whoposted&amp;t=13800" onclick="who(13800);return(false)">0</a></td>
+<td class="alt1" align="right">
+<div class="smallfont" style="white-space:nowrap">22.06.2010
+<span class="time">17:11</span><br/>
+<a href="member.php?u=1780">chrsigg</a> <a href="showthread.php?p=203574#post203574"><img src="images/buttons/lastpost.gif" class="inlineimg" alt="Gehe zum letzten Beitrag" border="0"/></a></div>
+</td>
+</tr>
+<tr>
+<td class="alt1" align="center"><img src="images/statusicon/thread_hot.gif" alt=""/></td>
+<td class="alt2" align="center"><img src="images/oldicons/smile.gif" alt="Lächeln"/></td>
+<td class="alt1">
+<div><a href="showthread.php?t=9959">Das Lied des Tages</a></div>
+<div class="smallfont">Forum: <a href="forumdisplay.php?f=98">Dauerbrenner</a></div>
+</td>
+<td class="alt2" align="center"><a href="misc.php?do=whoposted&amp;t=9959" onclick="who(9959);return(false)">2901</a></td>
+<td class="alt1" align="right">
+<div class="smallfont" style="white-space:nowrap">22.06.2010
+<span class="time">16:26</span><br/>
+<a href="member.php?u=4422">pcfreak</a> <a href="showthread.php?p=203571#post203571"><img src="images/buttons/lastpost.gif" class="inlineimg" alt="Gehe zum letzten Beitrag" border="0"/></a></div>
+</td>
+</tr>
+</tbody>
+<tbody>
+<tr>
+<td colspan="5" class="tfoot" align="center">
+<div class="smallfont"><b><a href="portal.php?markread=1277461897">Alle Themen als gelesen
+markieren</a></b></div>
+</td>
+</tr>
+</tbody>
+</table>
+<!--=== EndTopicBox ===--></td>
+<td width="0%"><img src="clear.gif" width="12" height="2" alt=""/></td>
+<td width="18%"><!--=== EventBox ===-->
+<table id="portalLinks" class="tborder" cellspacing="1" cellpadding="4" width="100%">
+<tbody>
+<tr>
+<td class="thead" align="center">Next VIS Events</td>
+</tr>
+</tbody>
+<tbody>
+<tr>
+<td class="alt2" align="center">
+<div class="portalLink"><a href="http://www.vis.ethz.ch/auto/Aktuell/Events";>VSETH-ESF</a></div>
+<div class="smallfont portalInfo">30.9.2010</div>
+<div class="portalLink"><a href="http://www.vis.ethz.ch/auto/Aktuell/Events";>VIS
+Jassturnier</a></div>
+<div class="smallfont portalInfo">29.10.2010</div>
+<div class="portalLink"><a href="http://www.vis.ethz.ch/auto/Aktuell/Events";><img src="vis/vis.png" alt="events" style="border-width:0px;"/></a></div>
+</td>
+</tr>
+</tbody>
+</table>
+<!--=== EndEventBox ===-->
+<img src="clear.gif" width="2" height="12" alt=""/> 
+<!--=== MensaBox ===-->
+<table id="portalMenus" class="tborder" cellspacing="1" cellpadding="4" width="100%">
+<tbody>
+<tr>
+<td class="thead" align="center"><span id="cab_title" style="display:none">Foodlab CAB</span> <span id="cla_title" style="display:none">Clausiusbar CLA</span> <span id="etz_title" style="display:none">Gloriabar ETZ</span> <span id="hph_title" style="display:none">Physik-Restaurant</span> <span id="ifw_title" style="display:none">Informatikbar IFW</span> <span id="mm_title" style="display:none">Mensa Polyterrasse</span> <span id="uni_title" style="display:none">Mensa Uni Zentrum</span></td>
+</tr>
+</tbody>
+<tbody>
+<tr>
+<td class="alt2" align="center">
+<div class="smallfont portalInfo"><i>Freitag Mittag</i></div>
+<form name="mensaForm" action="#" onsubmit="return(false)" id="mensaForm">
+<div class="portalInfo"><select name="mensa" onchange="changeMensa()">
+<option value="cab">CAB-Mensa</option>
+<option value="cla">Clausiusbar</option>
+<option value="etz">Gloriabar</option>
+<option value="hph">Physikmensa</option>
+<option value="ifw">Informatikbar</option>
+<option selected="selected" value="mm">Polyterrasse</option>
+<option value="uni">Unimensa</option>
+</select></div>
+</form>
+<div id="cab_menu" style="display:none">
+<div class="smallfont portalInfo"><i>11:30–13:30</i></div>
+<div class="smallfont"><b>k.A.</b></div>
+<div class="smallfont portalInfo">–</div>
+<div class="smallfont"><a href="http://www.gastro.ethz.ch/meals/index";>Mensa Startseite</a></div>
+</div>
+<div id="cla_menu" style="display:none">
+<div class="smallfont portalInfo"><i>11:00–14:00</i></div>
+<div class="smallfont"><b>Tagesmenü</b></div>
+<div class="smallfont portalInfo">Geschnetzeltes Schweinefleisch
+"Laos Kua Style", Nudeln, Karotten</div>
+<div class="smallfont"><b>Snack</b></div>
+<div class="smallfont portalInfo">Gebratenes Gemüse "Kerala Style"
+mit 1 Eier Omelette</div>
+<div class="smallfont"><a href="http://www.gastro.ethz.ch/meals/index";>Mensa Startseite</a></div>
+</div>
+<div id="etz_menu" style="display:none">
+<div class="smallfont portalInfo"><i>11:15–13:30</i></div>
+<div class="smallfont"><b>Menü 1</b></div>
+<div class="smallfont portalInfo">liveEasy, Pouletragout mit
+Rucolarahmsauce, Nudeln, Thymian-Zucchetti</div>
+<div class="smallfont"><b>Menü Spezial</b></div>
+<div class="smallfont portalInfo">Schweinskotelett, Senfsauce,
+Gebackene Ofenkartoffeln, Ofentomate, Tagesgemüse</div>
+<div class="smallfont"><b>Vegi-Menü</b></div>
+<div class="smallfont portalInfo">Gemüsewürfeli an Pilzsauce, im
+Blätterteigpastetli, Salat</div>
+<div class="smallfont"><a href="http://www.gastro.ethz.ch/meals/index";>Mensa Startseite</a></div>
+</div>
+<div id="hph_menu" style="display:none">
+<div class="smallfont portalInfo"><i>11:15–13:30</i></div>
+<div class="smallfont"><b>Menü 1</b></div>
+<div class="smallfont portalInfo">Gebratenes Snapperfilet mit
+Kokos-Mango-Sauce, Basmatireis, Kefen</div>
+<div class="smallfont"><b>Menü Spezial</b></div>
+<div class="smallfont portalInfo">Lammspiess mit provenzalischer
+Sauce, Griessgnocchi, Zwei Gemüse nach Wahl</div>
+<div class="smallfont"><b>Vegi-Menü</b></div>
+<div class="smallfont portalInfo">Aelpler Makkronen mit Kartoffeln
+und Käse, Röstzwiebeln, Salat</div>
+<div class="smallfont"><a href="http://www.gastro.ethz.ch/meals/index";>Mensa Startseite</a></div>
+</div>
+<div id="ifw_menu" style="display:none">
+<div class="smallfont portalInfo"><i>11:15–13:30</i></div>
+<div class="smallfont"><b>Menü</b></div>
+<div class="smallfont portalInfo">liveEasy, Pouletragout mit
+Rucolarahmsauce, Nudeln, Thymian-Zucchetti</div>
+<div class="smallfont"><a href="http://www.gastro.ethz.ch/meals/index";>Mensa Startseite</a></div>
+</div>
+<div id="mm_menu" style="display:none">
+<div class="smallfont portalInfo"><i>11:15–13:30</i></div>
+<div class="smallfont"><b>Menü 1</b></div>
+<div class="smallfont portalInfo">liveEasy, Pouletragout mit
+Rucolarahmsauce, Nudeln, Thymian-Zucchetti</div>
+<div class="smallfont"><b>Menü Spezial</b></div>
+<div class="smallfont portalInfo">Schweinskotelett, Senfsauce,
+Gebackene Ofenkartoffeln, Ofentomate, Tagesgemüse</div>
+<div class="smallfont"><b>Vegi-Menü</b></div>
+<div class="smallfont portalInfo">Gemüsewürfeli an Pilzsauce, im
+Blätterteigpastetli, Salat</div>
+<div class="smallfont"><b>Bio-Menü</b></div>
+<div class="smallfont portalInfo">Risottokroketten auf mediterranem
+Gemüse, Salat</div>
+<div class="smallfont"><b>Tagessuppe</b></div>
+<div class="smallfont portalInfo">Kochbananen-Currysuppe
+"Elfenbeinküste"</div>
+<div class="smallfont"><a href="http://www.gastro.ethz.ch/meals/index";>Mensa Startseite</a></div>
+</div>
+<div id="uni_menu" style="display:none">
+<div class="smallfont portalInfo"><i>11:00–14:30</i></div>
+<div class="smallfont"><b>Menü 1</b></div>
+<div class="smallfont portalInfo">Gebackene Fischknusperli mit
+Sauce Rouille, Schnittlauchkartoffeln und Kräutertomate</div>
+<div class="smallfont"><b>Vegi-Menü</b></div>
+<div class="smallfont portalInfo">VEGI PLUS, Bami goreng mit
+Gemüse, Pilzen, Tofu und Curryei, Salat oder Apfelmus</div>
+<div class="smallfont"><a href="http://www.zfv.ch/d/business.asp?kat=4";>Mensa Startseite</a></div>
+</div>
+</td>
+</tr>
+</tbody>
+</table>
+<!--=== MensaBoxEnd ===-->
+<img src="clear.gif" width="2" height="12" alt=""/> 
+<!--=== ViskiBox ===-->
+<table id="portalViski" class="tborder" cellspacing="1" cellpadding="4" width="100%">
+<tbody>
+<tr>
+<td class="thead" align="center">VISki ‒ Letzte Änderungen</td>
+</tr>
+</tbody>
+<tbody>
+<tr>
+<td class="alt2" align="center">
+<div class="smallfont portalViski"><b><a href="vis/wiki/go.php?namespace=0&amp;title=L%C3%B6sungsvorschlag_Einf%C3%BChrung_in_die_Programmierung_Herbst_2009">
+Lösungsvorschlag Einführung in die Programmierung Herbst
+2009</a></b><br/>
+23.06.2010 <span class="time">11:02</span> von <a href="member.php?u=3502">Limi</a> <a href="vis/wiki/go.php?namespace=0&amp;title=L%C3%B6sungsvorschlag_Einf%C3%BChrung_in_die_Programmierung_Herbst_2009&amp;mode=diff">
+<img src="images/buttons/lastpost.gif" class="inlineimg" alt="Vergleiche mit letzter Version" border="0"/></a><br/></div>
+<div class="smallfont portalViski"><b><a href="vis/wiki/go.php?namespace=0&amp;title=L%C3%B6sungsvorschlag_Datenstrukturen_und_Algorithmen_Fr%C3%BChling_2010">
+Lösungsvorschlag Datenstrukturen und Algorithmen Frühling
+2010</a></b><br/>
+20.06.2010 <span class="time">17:17</span> von <a href="member.php?u=3055">Simon the Sorcerer</a> <a href="vis/wiki/go.php?namespace=0&amp;title=L%C3%B6sungsvorschlag_Datenstrukturen_und_Algorithmen_Fr%C3%BChling_2010&amp;mode=diff">
+<img src="images/buttons/lastpost.gif" class="inlineimg" alt="Vergleiche mit letzter Version" border="0"/></a><br/></div>
+<div class="smallfont portalViski"><b><a href="vis/wiki/go.php?namespace=0&amp;title=Portal:1._Semester">Portal:1.
+Semester</a></b><br/>
+17.06.2010 <span class="time">16:08</span> von <a href="member.php?u=3502">Limi</a> <a href="vis/wiki/go.php?namespace=0&amp;title=Portal:1._Semester&amp;mode=diff">
+<img src="images/buttons/lastpost.gif" class="inlineimg" alt="Vergleiche mit letzter Version" border="0"/></a><br/></div>
+<div class="smallfont"><a href="http://wiki.vis.ethz.ch/Spezial:Recentchanges";>Alle letzten
+Änderungen</a></div>
+<div class="smallfont"><a href="http://wiki.vis.ethz.ch/";>VISki
+Startseite</a></div>
+</td>
+</tr>
+</tbody>
+</table>
+<!--=== ViskiBoxEnd ===-->
+<script type="text/javascript">
+//
+//
+prevMensa = document.forms.mensaForm.mensa.value;
+changeMensa();
+//
+//
+</script></td>
+</tr>
+</table>
+<br/>
+<div class="smallfont" align="center">Alle Zeitangaben in WEZ +1.
+Es ist jetzt <span class="time">11:48</span> Uhr.</div>
+<br/></div>
+</div>
+</div>
+<!-- / close content container -->
+<!-- /content area table -->
+<form action="index.php" method="get" style="clear:left">
+<table cellpadding="6" cellspacing="0" border="0" width="95%" class="page" align="center">
+<tr>
+<td class="tfoot"><select name="styleid" onchange="switch_id(this, 'style')">
+<optgroup label="Style auswählen">
+<option value="1" class="">-- Standard-Style</option>
+<option value="2" class="" selected="selected">----
+VIS-Look</option>
+<option value="3" class="">---- Lean-Style</option>
+<option value="4" class="">---- Interklick Dark</option>
+<option value="12" class="">---- Interklick Bright II</option>
+</optgroup>
+</select></td>
+<td class="tfoot" align="right" width="100%">
+<div class="smallfont"><strong><a href="sendmessage.php?s=51176e0685fc06c8ae3be0491b4e2b2a" rel="nofollow" accesskey="9">Kontakt</a> - <a href="archive/index.php">Archiv</a>
+- <a href="#top" onclick="self.scrollTo(0, 0); return false;">Nach
+oben</a></strong></div>
+</td>
+</tr>
+</table>
+<br/>
+<div align="center">
+<div class="smallfont" align="center">
+<!-- Do not remove this copyright notice -->
+Powered by vBulletin® Version 3.8.5 (Deutsch)<br/>
+Copyright ©2000 - 2010, Jelsoft Enterprises Ltd. 
+<!-- Do not remove this copyright notice --></div>
+<div class="smallfont" align="center">
+<!-- Do not remove cronimage or your scheduled tasks will cease to function -->
+<!-- Do not remove cronimage or your scheduled tasks will cease to function --></div>
+</div>
+</form>
+<script type="text/javascript">
+//
+//
+&amp;lt;!--
+        // Main vBulletin Javascript Initialization
+        vBulletin_init();
+//--&amp;gt;
+//
+//
+</script>
+<p align="center" class="smallfont">89.750 msec</p>
+</body>
+</html>
\ No newline at end of file

=== added file 'test/ExpQueryResults/http2-read-html.xml.res'
--- test/ExpQueryResults/http2-read-html.xml.res	1970-01-01 00:00:00 +0000
+++ test/ExpQueryResults/http2-read-html.xml.res	2013-06-17 09:14:31 +0000
@@ -0,0 +1,36 @@
+<html xmlns="http://www.w3.org/1999/xhtml"; lang="EN" xml:lang="EN">
+<head>
+<title/>
+</head>
+<body>
+<h1>http://www.zorba-xquery.com/zorba/excel-functions</h1>
+<h2>Module Description</h2>
+<p>Module Name: eXcel<br/>
+Module Version: 0.1<br/>
+Date: August 1, 2009<br/>
+Copyright: 2006-2008 The FLWOR Foundation. Licensed under the
+Apache License, Version 2.0.<br/>
+Proprietary XQuery Extensions Used: None<br/>
+XQuery Specification: January 2007<br/>
+Module Overview: This is a library module offering the same set of
+functions<br/>
+defined by Microsoft Excel into</p>
+<ul>
+<li><span class="bold">see:</span> <a href="http://office.microsoft.com/en-us/excel/CH062528191033.aspx"; target="_blank">http://office.microsoft.com/en-us/excel/CH062528191033.aspx</a></li>
+<li><span class="bold">authors:</span> <span xmlns="">Sorin
+Nasoi,</span> <span xmlns="">Daniel Turcanu</span></li>
+</ul>
+<h2>Function Reference</h2>
+<ul>
+<li><a href="datetime.html">Date and Time Functions</a></li>
+<li><a href="engineering.html">Engineering Functions</a></li>
+<li><a href="information.html">Information Functions</a></li>
+<li><a href="logical.html">Logical Functions</a></li>
+<li><a href="lookup.html">Lookup Functions</a></li>
+<li><a href="math.html">Math Functions</a></li>
+<li><a href="math-sumproduct.html">Math Functions 2</a></li>
+<li><a href="statistical.html">Statistical Functions</a></li>
+<li><a href="text.html">Text and Data Functions</a></li>
+</ul>
+</body>
+</html>

=== added file 'test/ExpQueryResults/http2-read-override.xml.res'
--- test/ExpQueryResults/http2-read-override.xml.res	1970-01-01 00:00:00 +0000
+++ test/ExpQueryResults/http2-read-override.xml.res	2013-06-17 09:14:31 +0000
@@ -0,0 +1,37 @@
+<html xmlns="http://www.w3.org/1999/xhtml"; lang="EN" xml:lang="EN">
+<head>
+<title/>
+</head>
+<body>
+<h1>http://www.zorba-xquery.com/zorba/excel-functions</h1>
+<h2>Module Description</h2>
+<p>Module Name: eXcel<br/>
+Module Version: 0.1<br/>
+Date: August 1, 2009<br/>
+Copyright: 2006-2008 The FLWOR Foundation. Licensed under the
+Apache License, Version 2.0.<br/>
+Proprietary XQuery Extensions Used: None<br/>
+XQuery Specification: January 2007<br/>
+Module Overview: This is a library module offering the same set of
+functions<br/>
+defined by Microsoft Excel into</p>
+<ul>
+<li><span class="bold">see:</span> <a href="http://office.microsoft.com/en-us/excel/CH062528191033.aspx"; target="_blank">http://office.microsoft.com/en-us/excel/CH062528191033.aspx</a></li>
+<li><span class="bold">authors:</span> <span xmlns="">Sorin
+Nasoi,</span> <span xmlns="">Daniel Turcanu</span></li>
+</ul>
+<h2>Function Reference</h2>
+<ul>
+<li><a href="datetime.html">Date and Time Functions</a></li>
+<li><a href="engineering.html">Engineering Functions</a></li>
+<li><a href="information.html">Information Functions</a></li>
+<li><a href="logical.html">Logical Functions</a></li>
+<li><a href="lookup.html">Lookup Functions</a></li>
+<li><a href="math.html">Math Functions</a></li>
+<li><a href="math-sumproduct.html">Math Functions 2</a></li>
+<li><a href="statistical.html">Statistical Functions</a></li>
+<li><a href="text.html">Text and Data Functions</a></li>
+</ul>
+</body>
+</html>
+

=== added file 'test/ExpQueryResults/http2-read-status-only.xml.res'
--- test/ExpQueryResults/http2-read-status-only.xml.res	1970-01-01 00:00:00 +0000
+++ test/ExpQueryResults/http2-read-status-only.xml.res	2013-06-17 09:14:31 +0000
@@ -0,0 +1,1 @@
+true

=== added file 'test/ExpQueryResults/http2-read-svg.xml.res'
--- test/ExpQueryResults/http2-read-svg.xml.res	1970-01-01 00:00:00 +0000
+++ test/ExpQueryResults/http2-read-svg.xml.res	2013-06-17 09:14:31 +0000
@@ -0,0 +1,11 @@
+<svg xmlns="http://www.w3.org/2000/svg"; xmlns:xlink="http://www.w3.org/1999/xlink"; xmlns:ev="http://www.w3.org/2001/xml-events"; version="1.1" baseProfile="full" width="700px" height="400px" viewBox="0 0 700 400">
+ 
+ <!-- Anschlüsse links und rechts -->
+ <line x1="0" y1="200" x2="700" y2="200" stroke="black" stroke-width="20px"/>
+ <!-- Das Rechteck -->
+ <rect x="100" y="100" width="500" height="200" fill="white" stroke="black" stroke-width="20px"/>
+ <!-- Der Schleifer -->
+ <line x1="180" y1="370" x2="500" y2="50" stroke="black" stroke-width="15px"/>
+ <!-- Die Pfeilspitze -->
+  <polygon points="585 0 525 25 585 50" transform="rotate(135 525 25)"/>
+</svg>

=== added file 'test/ExpQueryResults/http3-multipart.xml.res'
--- test/ExpQueryResults/http3-multipart.xml.res	1970-01-01 00:00:00 +0000
+++ test/ExpQueryResults/http3-multipart.xml.res	2013-06-17 09:14:31 +0000
@@ -0,0 +1,1 @@
+<result><number-of-bodies>3</number-of-bodies><headers><http:header xmlns:http="http://expath.org/ns/http-client"; name="User-Agent" value="libcurl-agent/1.0"/><http:header xmlns:http="http://expath.org/ns/http-client"; name="Host" value="zorbatest.lambda.nu:8080"/><http:header xmlns:http="http://expath.org/ns/http-client"; name="Accept" value="*/*"/><http:header xmlns:http="http://expath.org/ns/http-client"; name="foo" value="bar"/><http:header xmlns:http="http://expath.org/ns/http-client"; name="Expect" value="100-continue"/><http:header xmlns:http="http://expath.org/ns/http-client"; name="Content-Disposition" value="form-data; name=&quot;zorba-default&quot;"/><http:header xmlns:http="http://expath.org/ns/http-client"; name="insidemutlipart" value="blubb"/><http:header xmlns:http="http://expath.org/ns/http-client"; name="Content-Type" value="text/plain"/><http:header xmlns:http="http://expath.org/ns/http-client"; name="Content-Disposition" value="form-data; name=&quot;zorba-default&quot;"/><http:header xmlns:http="http://expath.org/ns/http-client"; name="Content-Type" value="text/plain"/><http:header xmlns:http="http://expath.org/ns/http-client"; name="Content-Disposition" value="form-data; name=&quot;zorba-default&quot;"/><http:header xmlns:http="http://expath.org/ns/http-client"; name="Content-Type" value="img/png"/></headers></result>

=== added file 'test/ExpQueryResults/http3-post.xml.res'
--- test/ExpQueryResults/http3-post.xml.res	1970-01-01 00:00:00 +0000
+++ test/ExpQueryResults/http3-post.xml.res	2013-06-17 09:14:31 +0000
@@ -0,0 +1,12 @@
+<http:request xmlns:http="http://expath.org/ns/http-client"; method="POST" href="zorbatest.lambda.nu:8080/http-test-data/request.php">
+  <http:header name="User-Agent" value="libcurl-agent/1.0"/>
+  <http:header name="Host" value="zorbatest.lambda.nu:8080"/>
+  <http:header name="Accept" value="*/*"/>
+  <http:header name="foo" value="bar"/>
+  <http:header name="Content-Type" value="text/plain"/>
+  <http:header name="Content-Length" value="37"/>
+  <http:body content-type="text/plain">
+
+      Dies ist ein kleiner Test
+      </http:body>
+</http:request>

=== added file 'test/ExpQueryResults/http4_tidy_applied.xml.res'
--- test/ExpQueryResults/http4_tidy_applied.xml.res	1970-01-01 00:00:00 +0000
+++ test/ExpQueryResults/http4_tidy_applied.xml.res	2013-06-17 09:14:31 +0000
@@ -0,0 +1,29 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+<title>Example Web Page</title>
+</head>
+<body>
+<p>You have reached this web page by typing "example.com",
+"example.net","example.org" or "example.edu" into your web
+browser.</p>
+<p>These domain names are reserved for use in documentation and are
+not available for registration. See 
+<a href="http://www.rfc-editor.org/rfc/rfc2606.txt";>RFC 2606</a>,
+Section 3.</p>
+</body>
+</html>&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"&gt;
+&lt;HTML&gt;
+&lt;HEAD&gt;
+  &lt;META http-equiv="Content-Type" content="text/html; charset=utf-8"&gt;
+  &lt;TITLE&gt;Example Web Page&lt;/TITLE&gt;
+&lt;/HEAD&gt; 
+&lt;body&gt;  
+&lt;p&gt;You have reached this web page by typing &amp;quot;example.com&amp;quot;,
+&amp;quot;example.net&amp;quot;,&amp;quot;example.org&amp;quot
+  or &amp;quot;example.edu&amp;quot; into your web browser.&lt;/p&gt;
+&lt;p&gt;These domain names are reserved for use in documentation and are not available 
+  for registration. See &lt;a href="http://www.rfc-editor.org/rfc/rfc2606.txt"&gt;RFC 
+  2606&lt;/a&gt;, Section 3.&lt;/p&gt;
+&lt;/BODY&gt;
+&lt;/HTML&gt;

=== added file 'test/ExpQueryResults/http_error_hc002.xml.res'
--- test/ExpQueryResults/http_error_hc002.xml.res	1970-01-01 00:00:00 +0000
+++ test/ExpQueryResults/http_error_hc002.xml.res	2013-06-17 09:14:31 +0000
@@ -0,0 +1,1 @@
+ok

=== added file 'test/ExpQueryResults/http_error_hc004.xml.res'
--- test/ExpQueryResults/http_error_hc004.xml.res	1970-01-01 00:00:00 +0000
+++ test/ExpQueryResults/http_error_hc004.xml.res	2013-06-17 09:14:31 +0000
@@ -0,0 +1,1 @@
+ok

=== added file 'test/ExpQueryResults/http_error_hc005.xml.res'
--- test/ExpQueryResults/http_error_hc005.xml.res	1970-01-01 00:00:00 +0000
+++ test/ExpQueryResults/http_error_hc005.xml.res	2013-06-17 09:14:31 +0000
@@ -0,0 +1,1 @@
+ok

=== added file 'test/ExpQueryResults/http_tidy1.xml.res'
--- test/ExpQueryResults/http_tidy1.xml.res	1970-01-01 00:00:00 +0000
+++ test/ExpQueryResults/http_tidy1.xml.res	2013-06-17 09:14:31 +0000
@@ -0,0 +1,1 @@
+200
\ No newline at end of file

=== added file 'test/ExpQueryResults/http_tidy2.xml.res'
--- test/ExpQueryResults/http_tidy2.xml.res	1970-01-01 00:00:00 +0000
+++ test/ExpQueryResults/http_tidy2.xml.res	2013-06-17 09:14:31 +0000
@@ -0,0 +1,1 @@
+200

=== added directory 'test/Queries'
=== added file 'test/Queries/http-read-html-tidy2.xq'
--- test/Queries/http-read-html-tidy2.xq	1970-01-01 00:00:00 +0000
+++ test/Queries/http-read-html-tidy2.xq	2013-06-17 09:14:31 +0000
@@ -0,0 +1,14 @@
+import module namespace http = "http://expath.org/ns/http-client";;
+
+declare namespace h = "http://expath.org/ns/http-client";;
+
+variable $h := <h:request method="GET"
+               href="http://zorbatest.lambda.nu:8080/http-test-data/basic-auth/utf8.html";
+               auth-method="Basic"
+               send-authorization="true"
+               username="zorba"
+               password="blub"/>;
+
+variable $r := http:send-request($h);
+
+<r>{($r//text()[starts-with(., "Fran")])[1]}</r>

=== added file 'test/Queries/http1-redirect.xq'
--- test/Queries/http1-redirect.xq	1970-01-01 00:00:00 +0000
+++ test/Queries/http1-redirect.xq	2013-06-17 09:14:31 +0000
@@ -0,0 +1,14 @@
+import module namespace http = 'http://expath.org/ns/http-client';
+
+variable $http-res-with := 
+http:send-request(<http:request href="http://zorbatest.lambda.nu:8080/remotequeue"; method="HEAD" follow-redirect="true"/>);
+
+variable $http-res-without := 
+http:send-request(<http:request href="http://zorbatest.lambda.nu:8080/remotequeue"; method="HEAD" follow-redirect="false"/>);
+
+let $status-with := $http-res-with[1]/@status/data(.)
+let $status-without := $http-res-without[1]/@status/data(.)
+return
+  if ($status-without eq 301) then
+    $status-with
+  else "failed"

=== added file 'test/Queries/http1.xq'
--- test/Queries/http1.xq	1970-01-01 00:00:00 +0000
+++ test/Queries/http1.xq	2013-06-17 09:14:31 +0000
@@ -0,0 +1,7 @@
+import module namespace http = "http://expath.org/ns/http-client";;
+
+variable $res := 
+http:send-request((), "http://zorbatest.lambda.nu:8080/http-test-data/http1.xml";);
+
+$res[2]
+

=== added file 'test/Queries/http2-read-base64.xq'
--- test/Queries/http2-read-base64.xq	1970-01-01 00:00:00 +0000
+++ test/Queries/http2-read-base64.xq	2013-06-17 09:14:31 +0000
@@ -0,0 +1,16 @@
+import module namespace http = "http://expath.org/ns/http-client";;
+declare namespace h = "http://expath.org/ns/http-client";;
+
+variable $req := <h:request method="GET"
+               href="http://zorbatest.lambda.nu:8080/http-test-data/basic-auth/download.png";
+               auth-method="Basic"
+               send-authorization="true"
+               username="zorba"
+               password="blub"/>;
+
+variable $http-res := http:send-request($req, ());
+
+let $res := $http-res[1]
+return (exists($res//h:header[@name = 'Content-Type' and @value = 'image/png']),
+        exists($res//h:body[@media-type = 'image/png']),
+        exists($res//h:header[@name = 'Content-Length' and @value = '5577']))

=== added file 'test/Queries/http2-read-html-tidy.xq'
--- test/Queries/http2-read-html-tidy.xq	1970-01-01 00:00:00 +0000
+++ test/Queries/http2-read-html-tidy.xq	2013-06-17 09:14:31 +0000
@@ -0,0 +1,16 @@
+(: test content having a content type text/html that needs to run through tidy :)
+import module namespace http = "http://expath.org/ns/http-client";;
+declare namespace h = "http://expath.org/ns/http-client";;
+
+variable $req := <h:request method="GET"
+               href="http://zorbatest.lambda.nu:8080/http-test-data/basic-auth/to-tidy.html";
+               auth-method="Basic"
+               send-authorization="true"
+               username="zorba"
+               password="blub"/>;
+
+variable $res := http:send-request($req, ());
+
+$res[2]
+
+

=== added file 'test/Queries/http2-read-html.xq'
--- test/Queries/http2-read-html.xq	1970-01-01 00:00:00 +0000
+++ test/Queries/http2-read-html.xq	2013-06-17 09:14:31 +0000
@@ -0,0 +1,14 @@
+import module namespace http = "http://expath.org/ns/http-client";;
+declare namespace h = "http://expath.org/ns/http-client";;
+
+variable $req := <h:request method="GET"
+               href="http://zorbatest.lambda.nu:8080/http-test-data/basic-auth/doc.html";
+               auth-method="Basic"
+               send-authorization="true"
+               username="zorba"
+               password="blub"/>;
+
+variable $res := http:send-request($req, ());
+
+$res[2]
+

=== added file 'test/Queries/http2-read-override.xq'
--- test/Queries/http2-read-override.xq	1970-01-01 00:00:00 +0000
+++ test/Queries/http2-read-override.xq	2013-06-17 09:14:31 +0000
@@ -0,0 +1,15 @@
+import module namespace http = "http://expath.org/ns/http-client";;
+declare namespace h = "http://expath.org/ns/http-client";;
+
+variable $req := <h:request method="GET"
+               href="http://zorbatest.lambda.nu:8080/http-test-data/basic-auth/no-type.bin";
+               auth-method="Basic"
+               send-authorization="true"
+               username="zorba"
+               password="blub"
+               override-media-type="text/html"/>;
+
+variable $res := http:send-request($req, ());
+
+$res[2]
+

=== added file 'test/Queries/http2-read-status-only.xq'
--- test/Queries/http2-read-status-only.xq	1970-01-01 00:00:00 +0000
+++ test/Queries/http2-read-status-only.xq	2013-06-17 09:14:31 +0000
@@ -0,0 +1,15 @@
+import module namespace http = "http://expath.org/ns/http-client";;
+declare namespace h = "http://expath.org/ns/http-client";;
+
+variable $req := <h:request method="GET"
+               href="http://www.zorba-xquery.com/http-client/no-type.blub";
+               auth-method="Basic"
+               send-authorization="true"
+               username="zorba"
+               password="blub"
+               override-media-type="text/html"
+               status-only="true"/>;
+
+variable $res := http:send-request($req, ());
+
+fn:not(exists($res[1]//*:body))

=== added file 'test/Queries/http2-read-svg.xq'
--- test/Queries/http2-read-svg.xq	1970-01-01 00:00:00 +0000
+++ test/Queries/http2-read-svg.xq	2013-06-17 09:14:31 +0000
@@ -0,0 +1,16 @@
+(: test content having a content type ending with +xml, i.e. image/svg+xml :)
+import module namespace http = "http://expath.org/ns/http-client";;
+declare namespace h = "http://expath.org/ns/http-client";;
+
+variable $req := <h:request method="GET"
+               href="http://zorbatest.lambda.nu:8080/http-test-data/basic-auth/example.svg";
+               auth-method="Basic"
+               send-authorization="true"
+               username="zorba"
+               password="blub"
+               override-media-type="application/xml; charset=utf-8"/>;
+
+variable $http-res := http:send-request($req, ());
+
+$http-res[2]
+

=== added file 'test/Queries/http3-multipart.xq'
--- test/Queries/http3-multipart.xq	1970-01-01 00:00:00 +0000
+++ test/Queries/http3-multipart.xq	2013-06-17 09:14:31 +0000
@@ -0,0 +1,34 @@
+import module namespace httpc = "http://expath.org/ns/http-client";;
+
+declare namespace http = "http://expath.org/ns/http-client";;
+
+variable $req :=
+  <http:request method="POST" href="http://zorbatest.lambda.nu:8080/http-test-data/request.php";>
+    <http:header name="foo" value="bar"/>
+    <http:multipart media-type="multipart/mixed">
+      <http:header name="insidemutlipart" value="blubb"/>
+      <http:body media-type="text/plain">
+        A small text test
+      </http:body>
+      <http:body media-type="text/plain">
+        Another small text body
+      </http:body>
+      <http:body media-type="img/png">lqenw</http:body>
+    </http:multipart>
+  </http:request>;
+
+variable $http-res := httpc:send-request($req);
+
+variable $res := $http-res[2];
+
+<result>
+      <number-of-bodies>{fn:count($res//http:body)}</number-of-bodies>
+      <headers>{
+        $res//http:header[fn:not(
+          fn:contains(data(@value), "boundary")
+            or
+          fn:contains(data(@name), "------")
+            or
+          fn:contains(data(@name), "Content-Length"))]}</headers>
+</result>
+

=== added file 'test/Queries/http3-post.xq'
--- test/Queries/http3-post.xq	1970-01-01 00:00:00 +0000
+++ test/Queries/http3-post.xq	2013-06-17 09:14:31 +0000
@@ -0,0 +1,16 @@
+import module namespace http = "http://expath.org/ns/http-client";;
+
+declare default element namespace "http://expath.org/ns/http-client";;
+
+variable $req :=
+  <request method="POST" href="http://zorbatest.lambda.nu:8080/http-test-data/request.php";>
+    <header name="foo" value="bar"/>
+    <body media-type="text/plain">
+      Dies ist ein kleiner Test
+    </body>
+  </request>;
+
+variable $http-res := http:send-request($req);
+
+$http-res[2]
+

=== added file 'test/Queries/http4_tidy_applied.xq'
--- test/Queries/http4_tidy_applied.xq	1970-01-01 00:00:00 +0000
+++ test/Queries/http4_tidy_applied.xq	2013-06-17 09:14:31 +0000
@@ -0,0 +1,22 @@
+import module namespace httpc = "http://expath.org/ns/http-client";;
+declare namespace http = "http://expath.org/ns/http-client";;
+
+variable $http-res1 :=
+httpc:send-request(
+  <http:request href="http://zorbatest.lambda.nu:8080/http-test-data/basic-auth/example_com.html"; method="GET" 
+               auth-method="Basic"
+               send-authorization="true"
+               username="zorba"
+               password="blub"/>);
+
+variable $http-res2 :=
+httpc:send-request(
+  <http:request href="http://zorbatest.lambda.nu:8080/http-test-data/basic-auth/example_com.html"; method="GET"
+               override-media-type="text/plain"
+               auth-method="Basic"
+               send-authorization="true"
+               username="zorba"
+               password="blub"/>);
+
+$http-res1[2],
+$http-res2[2]

=== added file 'test/Queries/http_error_hc002.spec'
--- test/Queries/http_error_hc002.spec	1970-01-01 00:00:00 +0000
+++ test/Queries/http_error_hc002.spec	2013-06-17 09:14:31 +0000
@@ -0,0 +1,1 @@
+ Error: http://expath.org/ns/error:HC002
\ No newline at end of file

=== added file 'test/Queries/http_error_hc002.xq'
--- test/Queries/http_error_hc002.xq	1970-01-01 00:00:00 +0000
+++ test/Queries/http_error_hc002.xq	2013-06-17 09:14:31 +0000
@@ -0,0 +1,6 @@
+import module namespace http = 'http://expath.org/ns/http-client';
+
+declare namespace err = 'http://expath.org/ns/error';
+
+http:send-request(<http:request method="GET" href="http://www.google.com/"; override-media-type="text/xml"/>)
+

=== added file 'test/Queries/http_error_hc004.spec'
--- test/Queries/http_error_hc004.spec	1970-01-01 00:00:00 +0000
+++ test/Queries/http_error_hc004.spec	2013-06-17 09:14:31 +0000
@@ -0,0 +1,1 @@
+ Error: http://expath.org/ns/error:HC004
\ No newline at end of file

=== added file 'test/Queries/http_error_hc004.xq'
--- test/Queries/http_error_hc004.xq	1970-01-01 00:00:00 +0000
+++ test/Queries/http_error_hc004.xq	2013-06-17 09:14:31 +0000
@@ -0,0 +1,6 @@
+import module namespace http = 'http://expath.org/ns/http-client';
+
+declare namespace err = 'http://expath.org/ns/error';
+
+http:send-request(<http:request method="POST" href="http://www.google.com";><http:body src="http://www.zorba-xquery.com"; media-type="html" method="xml"/></http:request>)
+

=== added file 'test/Queries/http_error_hc005.spec'
--- test/Queries/http_error_hc005.spec	1970-01-01 00:00:00 +0000
+++ test/Queries/http_error_hc005.spec	2013-06-17 09:14:31 +0000
@@ -0,0 +1,1 @@
+ Error: http://expath.org/ns/error:HC005
\ No newline at end of file

=== added file 'test/Queries/http_error_hc005.xq'
--- test/Queries/http_error_hc005.xq	1970-01-01 00:00:00 +0000
+++ test/Queries/http_error_hc005.xq	2013-06-17 09:14:31 +0000
@@ -0,0 +1,14 @@
+import module namespace http = 'http://expath.org/ns/http-client';
+
+declare namespace err = 'http://expath.org/ns/error';
+
+try {
+  http:send-request(<request/>)
+} catch err:HC005 {
+  try {
+    http:send-request(<http:request/>)
+  } catch err:HC005 {
+    "ok"
+  }
+}
+

=== added file 'test/Queries/http_tidy1.xq'
--- test/Queries/http_tidy1.xq	1970-01-01 00:00:00 +0000
+++ test/Queries/http_tidy1.xq	2013-06-17 09:14:31 +0000
@@ -0,0 +1,6 @@
+import module namespace http = "http://expath.org/ns/http-client";;
+
+variable $tmp := http:send-request((), "http://www.google.com/search?q=zorba+xquery";);
+
+$tmp[1]/@status/fn:data(.)
+

=== added file 'test/Queries/http_tidy2.xq'
--- test/Queries/http_tidy2.xq	1970-01-01 00:00:00 +0000
+++ test/Queries/http_tidy2.xq	2013-06-17 09:14:31 +0000
@@ -0,0 +1,15 @@
+import module namespace httpc = "http://expath.org/ns/http-client";;
+
+declare namespace http = "http://expath.org/ns/http-client";;
+
+variable $req := <http:request method="GET"
+  href="http://zorbatest.lambda.nu:8080/http-test-data/basic-auth/example_com.html";
+  auth-method="Basic"
+  send-authorization="true"
+  username="zorba"
+  password="blub"/>;
+
+variable $http-res := httpc:send-request($req);
+
+$http-res[1]/@status/fn:data(.)
+


Follow ups