Index: trunk/autoquest-plugin-html/src/main/java/de/ugoe/cs/autoquest/plugin/html/guimodel/HTMLDocument.java
===================================================================
--- trunk/autoquest-plugin-html/src/main/java/de/ugoe/cs/autoquest/plugin/html/guimodel/HTMLDocument.java	(revision 1069)
+++ trunk/autoquest-plugin-html/src/main/java/de/ugoe/cs/autoquest/plugin/html/guimodel/HTMLDocument.java	(revision 1069)
@@ -0,0 +1,96 @@
+//   Copyright 2012 Georg-August-Universität Göttingen, Germany
+//
+//   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.
+
+package de.ugoe.cs.autoquest.plugin.html.guimodel;
+
+import de.ugoe.cs.autoquest.eventcore.guimodel.IDialog;
+
+/**
+ * <p>
+ * TODO comment
+ * </p>
+ * 
+ * @author Patrick Harms
+ */
+public class HTMLDocument extends HTMLGUIElement implements IDialog {
+
+    /**  */
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * <p>
+     * TODO: comment
+     * </p>
+     *
+     * @param specification
+     * @param parent
+     */
+    public HTMLDocument(HTMLDocumentSpec specification, HTMLServer parent) {
+        super(specification, parent);
+    }
+
+    /*
+     * (non-Javadoc)
+     * 
+     * @see java.lang.Object#toString()
+     */
+    @Override
+    public String toString() {
+        return "Document(" + getPath() + ", \"" + getTitle() + "\")";
+    }
+
+    /*
+     * (non-Javadoc)
+     * 
+     * @see de.ugoe.cs.autoquest.plugin.html.guimodel.HTMLGUIElement#getElementDescriptor()
+     */
+    @Override
+    protected String getElementDescriptor() {
+        return "Document";
+    }
+
+    /**
+     * <p>
+     * TODO: comment
+     * </p>
+     *
+     * @return
+     */
+    HTMLServerSpec getServer() {
+        return ((HTMLDocumentSpec) super.getSpecification()).getServer();
+    }
+
+    /**
+     * <p>
+     * TODO: comment
+     * </p>
+     *
+     * @return
+     */
+    String getPath() {
+        return ((HTMLDocumentSpec) super.getSpecification()).getPath();
+    }
+
+    /**
+     * <p>
+     * TODO: comment
+     * </p>
+     *
+     * @return
+     */
+    String getTitle() {
+        return ((HTMLDocumentSpec) super.getSpecification()).getTitle();
+    }
+
+}
Index: trunk/autoquest-plugin-html/src/main/java/de/ugoe/cs/autoquest/plugin/html/guimodel/HTMLDocumentSpec.java
===================================================================
--- trunk/autoquest-plugin-html/src/main/java/de/ugoe/cs/autoquest/plugin/html/guimodel/HTMLDocumentSpec.java	(revision 1069)
+++ trunk/autoquest-plugin-html/src/main/java/de/ugoe/cs/autoquest/plugin/html/guimodel/HTMLDocumentSpec.java	(revision 1069)
@@ -0,0 +1,140 @@
+//   Copyright 2012 Georg-August-Universität Göttingen, Germany
+//
+//   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.
+
+package de.ugoe.cs.autoquest.plugin.html.guimodel;
+
+import de.ugoe.cs.autoquest.eventcore.guimodel.IGUIElementSpec;
+
+/**
+ * <p>
+ * TODO comment
+ * </p>
+ * 
+ * @author Patrick Harms
+ */
+public class HTMLDocumentSpec extends HTMLGUIElementSpec implements IGUIElementSpec {
+
+    /**  */
+    private static final long serialVersionUID = 1L;
+    
+    /** */
+    private HTMLServerSpec server;
+    
+    /** */
+    private String path;
+    
+    /** */
+    private String query;
+    
+    /** */
+    private String title;
+    
+    /**
+     * <p>
+     * TODO: comment
+     * </p>
+     *
+     * @param server
+     * @param pagePath
+     * @param pageTitle
+     */
+    public HTMLDocumentSpec(HTMLServerSpec server, String path, String query, String title) {
+        super("document");
+        
+        if (server == null) {
+            throw new IllegalArgumentException("server must not be null");
+        }
+        else if (path == null) {
+            throw new IllegalArgumentException("pagePath must not be null");
+        }
+        
+        this.server = server;
+        this.path = path;
+        this.query = query;
+        this.title = title;
+    }
+
+    /* (non-Javadoc)
+     * @see de.ugoe.cs.autoquest.eventcore.guimodel.IGUIElementSpec#getSimilarity(IGUIElementSpec)
+     */
+    @Override
+    public boolean getSimilarity(IGUIElementSpec other) {
+        if (other instanceof HTMLDocumentSpec) {
+            HTMLDocumentSpec otherSpec = (HTMLDocumentSpec) other;
+            
+            if (!super.getSimilarity(otherSpec)) {
+                return false;
+            }
+            else if (!server.getSimilarity(otherSpec.server)) {
+                return false;
+            }
+            else if (!path.equals(otherSpec.path)) {
+                return false;
+            }
+            else if (query != null ? !query.equals(otherSpec.query) : otherSpec.query != null) {
+                return false;
+            }
+            else {
+                return (title != null ? title.equals(otherSpec.title) : otherSpec.title == null);
+            }
+        }
+        
+        return false;
+    }
+
+    /**
+     * <p>
+     * TODO: comment
+     * </p>
+     *
+     * @return
+     */
+    public HTMLServerSpec getServer() {
+        return server;
+    }
+
+    /**
+     * <p>
+     * TODO: comment
+     * </p>
+     *
+     * @return
+     */
+    String getPath() {
+        return path;
+    }
+
+    /**
+     * <p>
+     * TODO: comment
+     * </p>
+     *
+     * @return
+     */
+    String getQuery() {
+        return query;
+    }
+
+    /**
+     * <p>
+     * TODO: comment
+     * </p>
+     *
+     * @return
+     */
+    String getTitle() {
+        return title;
+    }
+
+}
Index: trunk/autoquest-plugin-html/src/main/java/de/ugoe/cs/autoquest/plugin/html/guimodel/HTMLPage.java
===================================================================
--- trunk/autoquest-plugin-html/src/main/java/de/ugoe/cs/autoquest/plugin/html/guimodel/HTMLPage.java	(revision 1059)
+++ 	(revision )
@@ -1,96 +1,0 @@
-//   Copyright 2012 Georg-August-Universität Göttingen, Germany
-//
-//   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.
-
-package de.ugoe.cs.autoquest.plugin.html.guimodel;
-
-import de.ugoe.cs.autoquest.eventcore.guimodel.IDialog;
-
-/**
- * <p>
- * TODO comment
- * </p>
- * 
- * @author Patrick Harms
- */
-public class HTMLPage extends HTMLGUIElement implements IDialog {
-
-    /**  */
-    private static final long serialVersionUID = 1L;
-
-    /**
-     * <p>
-     * TODO: comment
-     * </p>
-     *
-     * @param specification
-     * @param parent
-     */
-    public HTMLPage(HTMLPageSpec specification, HTMLServer parent) {
-        super(specification, parent);
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see java.lang.Object#toString()
-     */
-    @Override
-    public String toString() {
-        return "Page(" + getPagePath() + ", \"" + getPageTitle() + "\")";
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see de.ugoe.cs.autoquest.plugin.html.guimodel.HTMLGUIElement#getElementDescriptor()
-     */
-    @Override
-    protected String getElementDescriptor() {
-        return "Page";
-    }
-
-    /**
-     * <p>
-     * TODO: comment
-     * </p>
-     *
-     * @return
-     */
-    HTMLServerSpec getServer() {
-        return ((HTMLPageSpec) super.getSpecification()).getServer();
-    }
-
-    /**
-     * <p>
-     * TODO: comment
-     * </p>
-     *
-     * @return
-     */
-    String getPagePath() {
-        return ((HTMLPageSpec) super.getSpecification()).getPagePath();
-    }
-
-    /**
-     * <p>
-     * TODO: comment
-     * </p>
-     *
-     * @return
-     */
-    String getPageTitle() {
-        return ((HTMLPageSpec) super.getSpecification()).getPageTitle();
-    }
-
-}
Index: trunk/autoquest-plugin-html/src/main/java/de/ugoe/cs/autoquest/plugin/html/guimodel/HTMLPageElement.java
===================================================================
--- trunk/autoquest-plugin-html/src/main/java/de/ugoe/cs/autoquest/plugin/html/guimodel/HTMLPageElement.java	(revision 1059)
+++ trunk/autoquest-plugin-html/src/main/java/de/ugoe/cs/autoquest/plugin/html/guimodel/HTMLPageElement.java	(revision 1069)
@@ -47,5 +47,5 @@
      * @param parent
      */
-    public HTMLPageElement(HTMLPageElementSpec specification, HTMLPage parent) {
+    public HTMLPageElement(HTMLPageElementSpec specification, HTMLDocument parent) {
         super(specification, parent);
     }
@@ -58,11 +58,11 @@
     @Override
     public String toString() {
-        String str = getTag();
+        String str = getTagName();
         
-        if ((getTagId() != null) && (!"".equals(getTagId()))) {
-            str += "(id=\"" + getTagId() + "\")";
+        if ((getHtmlId() != null) && (!"".equals(getHtmlId()))) {
+            str += "(id=\"" + getHtmlId() + "\")";
         }
         else {
-            str += "[" + getTagIndex() + "]";
+            str += "[" + getIndex() + "]";
         }
         
@@ -77,5 +77,5 @@
     @Override
     protected String getElementDescriptor() {
-        return getTag();
+        return getTagName();
     }
 
@@ -87,5 +87,5 @@
      * @return
      */
-    HTMLPageSpec getPage() {
+    HTMLDocumentSpec getPage() {
         return ((HTMLPageElementSpec) super.getSpecification()).getPage();
     }
@@ -98,6 +98,6 @@
      * @return
      */
-    String getTag() {
-        return ((HTMLPageElementSpec) super.getSpecification()).getTag();
+    String getTagName() {
+        return ((HTMLPageElementSpec) super.getSpecification()).getTagName();
     }
 
@@ -109,6 +109,6 @@
      * @return
      */
-    String getTagId() {
-        return ((HTMLPageElementSpec) super.getSpecification()).getTagId();
+    String getHtmlId() {
+        return ((HTMLPageElementSpec) super.getSpecification()).getHtmlId();
     }
 
@@ -120,6 +120,6 @@
      * @return
      */
-    int getTagIndex() {
-        return ((HTMLPageElementSpec) super.getSpecification()).getTagIndex();
+    int getIndex() {
+        return ((HTMLPageElementSpec) super.getSpecification()).getIndex();
     }
 
Index: trunk/autoquest-plugin-html/src/main/java/de/ugoe/cs/autoquest/plugin/html/guimodel/HTMLPageElementSpec.java
===================================================================
--- trunk/autoquest-plugin-html/src/main/java/de/ugoe/cs/autoquest/plugin/html/guimodel/HTMLPageElementSpec.java	(revision 1059)
+++ trunk/autoquest-plugin-html/src/main/java/de/ugoe/cs/autoquest/plugin/html/guimodel/HTMLPageElementSpec.java	(revision 1069)
@@ -30,11 +30,11 @@
     
     /** */
-    private HTMLPageSpec page;
+    private HTMLDocumentSpec page;
     
     /** */
-    private String tag;
+    private String tagName;
     
     /** */
-    private String id;
+    private String htmlId;
     
     /** */
@@ -50,14 +50,14 @@
      * @param id
      */
-    public HTMLPageElementSpec(HTMLPageSpec page, String tag, String id, int index) {
-        super(tag);
+    public HTMLPageElementSpec(HTMLDocumentSpec page, String tagName, String htmlId, int index) {
+        super(tagName);
         
         if (page == null) {
             throw new IllegalArgumentException("page must not be null");
         }
-        else if (tag == null) {
+        else if (tagName == null) {
             throw new IllegalArgumentException("tag must not be null");
         }
-        else if ((id == null) && (index < 0)) {
+        else if ((htmlId == null) && (index < 0)) {
             throw new IllegalArgumentException
                 ("either id must not be null or the index must be greater or equal to 0");
@@ -65,6 +65,6 @@
         
         this.page = page;
-        this.tag = tag;
-        this.id = id;
+        this.tagName = tagName;
+        this.htmlId = htmlId;
         this.index = index;
     }
@@ -84,10 +84,10 @@
                 return false;
             }
-            else if (!tag.equals(otherSpec.tag)) {
+            else if (!tagName.equals(otherSpec.tagName)) {
                 return false;
             }
             
-            if (id != null) {
-                return id.equals(otherSpec.id);
+            if (htmlId != null) {
+                return htmlId.equals(otherSpec.htmlId);
             }
             else if (index >= 0) {
@@ -106,5 +106,5 @@
      * @return
      */
-    public HTMLPageSpec getPage() {
+    HTMLDocumentSpec getPage() {
         return page;
     }
@@ -117,6 +117,6 @@
      * @return
      */
-    String getTag() {
-        return tag;
+    String getTagName() {
+        return tagName;
     }
 
@@ -128,6 +128,6 @@
      * @return
      */
-    String getTagId() {
-        return id;
+    String getHtmlId() {
+        return htmlId;
     }
 
@@ -139,5 +139,5 @@
      * @return
      */
-    int getTagIndex() {
+    int getIndex() {
         return index;
     }
Index: trunk/autoquest-plugin-html/src/main/java/de/ugoe/cs/autoquest/plugin/html/guimodel/HTMLPageSpec.java
===================================================================
--- trunk/autoquest-plugin-html/src/main/java/de/ugoe/cs/autoquest/plugin/html/guimodel/HTMLPageSpec.java	(revision 1059)
+++ 	(revision )
@@ -1,151 +1,0 @@
-//   Copyright 2012 Georg-August-Universität Göttingen, Germany
-//
-//   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.
-
-package de.ugoe.cs.autoquest.plugin.html.guimodel;
-
-import java.net.URL;
-
-import de.ugoe.cs.autoquest.eventcore.guimodel.IGUIElementSpec;
-
-/**
- * <p>
- * TODO comment
- * </p>
- * 
- * @author Patrick Harms
- */
-public class HTMLPageSpec extends HTMLGUIElementSpec implements IGUIElementSpec {
-
-    /**  */
-    private static final long serialVersionUID = 1L;
-    
-    /** */
-    private HTMLServerSpec server;
-    
-    /** */
-    private String pagePath;
-    
-    /** */
-    private String pageTitle;
-    
-    /**
-     * <p>
-     * TODO: comment
-     * </p>
-     *
-     * @param server
-     * @param pagePath
-     * @param pageTitle
-     */
-    public HTMLPageSpec(HTMLServerSpec server, String pagePath, String pageTitle) {
-        super("page");
-        
-        if (server == null) {
-            throw new IllegalArgumentException("server must not be null");
-        }
-        else if (pagePath == null) {
-            throw new IllegalArgumentException("pagePath must not be null");
-        }
-//        else if (pageTitle == null) {
-//            throw new IllegalArgumentException("pageTitle must not be null");
-//        }
-        
-        this.server = server;
-        this.pagePath = pagePath;
-        this.pageTitle = pageTitle;
-    }
-
-    /**
-     * <p>
-     * TODO: comment
-     * </p>
-     *
-     * @param server
-     * @param pagePath
-     * @param pageTitle
-     */
-    public HTMLPageSpec(URL pageURL, String pageTitle) {
-        super("page");
-        
-        if (pageURL == null) {
-            throw new IllegalArgumentException("pageURL must not be null");
-        }
-        else if (pageTitle == null) {
-            throw new IllegalArgumentException("pageTitle must not be null");
-        }
-        
-        this.server = new HTMLServerSpec(pageURL);
-        this.pagePath = pageURL.getPath();
-        this.pageTitle = pageTitle;
-    }
-
-    /* (non-Javadoc)
-     * @see de.ugoe.cs.autoquest.eventcore.guimodel.IGUIElementSpec#getSimilarity(IGUIElementSpec)
-     */
-    @Override
-    public boolean getSimilarity(IGUIElementSpec other) {
-        if (other instanceof HTMLPageSpec) {
-            HTMLPageSpec otherSpec = (HTMLPageSpec) other;
-            
-            if (!super.getSimilarity(otherSpec)) {
-                return false;
-            }
-            else if (!server.getSimilarity(otherSpec.server)) {
-                return false;
-            }
-            else if (!pagePath.equals(otherSpec.pagePath)) {
-                return false;
-            }
-            else {
-                return pageTitle.equals(otherSpec.pageTitle);
-            }
-        }
-        
-        return false;
-    }
-
-    /**
-     * <p>
-     * TODO: comment
-     * </p>
-     *
-     * @return
-     */
-    public HTMLServerSpec getServer() {
-        return server;
-    }
-
-    /**
-     * <p>
-     * TODO: comment
-     * </p>
-     *
-     * @return
-     */
-    public String getPagePath() {
-        return pagePath;
-    }
-
-    /**
-     * <p>
-     * TODO: comment
-     * </p>
-     *
-     * @return
-     */
-    String getPageTitle() {
-        return pageTitle;
-    }
-
-}
Index: trunk/autoquest-plugin-html/src/main/java/de/ugoe/cs/autoquest/plugin/html/guimodel/HTMLServerSpec.java
===================================================================
--- trunk/autoquest-plugin-html/src/main/java/de/ugoe/cs/autoquest/plugin/html/guimodel/HTMLServerSpec.java	(revision 1059)
+++ trunk/autoquest-plugin-html/src/main/java/de/ugoe/cs/autoquest/plugin/html/guimodel/HTMLServerSpec.java	(revision 1069)
@@ -14,6 +14,4 @@
 
 package de.ugoe.cs.autoquest.plugin.html.guimodel;
-
-import java.net.URL;
 
 import de.ugoe.cs.autoquest.eventcore.guimodel.IGUIElementSpec;
@@ -58,22 +56,4 @@
         this.host = host;
         this.port = port;
-    }
-
-    /**
-     * <p>
-     * TODO: comment
-     * </p>
-     *
-     * @param pageURL
-     */
-    public HTMLServerSpec(URL pageURL) {
-        super("server");
-
-        if (pageURL == null) {
-            throw new IllegalArgumentException("page URL must not be null");
-        }
-
-        this.host = pageURL.getHost();
-        this.port = pageURL.getPort();
     }
 
