## com.gargoylesoftware.htmlunit
Class SgmlPage

    java.lang.Object
      com.gargoylesoftware.htmlunit.html.DomNode
          com.gargoylesoftware.htmlunit.SgmlPage

All Implemented Interfaces:
  Page, java.io.Serializable, java.lang.Cloneable, org.w3c.dom.Document, org.w3c.dom.Node

Direct Known Subclasses:
  HtmlPage, XmlPage

    public abstract class SgmlPage

extends DomNode
implements Page, org.w3c.dom.Document

A basic class to be implemented by `HtmlPage` and `XmlPage`.

Version:
  $Revision: 4773 $
Author:
  Ahmed Ashour
See Also:
  Serialized Form

Nested Class Summary

Nested classes/interfaces inherited from class com.gargoylesoftware.htmlunit.html.DomNode
`DomNode.ChildIterator, DomNode.DescendantElementsIterator`

Field Summary

Fields inherited from class com.gargoylesoftware.htmlunit.html.DomNode
`AS_TEXT_BLANK, AS_TEXT_BLOCK_SEPARATOR, AS_TEXT_NEW_LINE, AS_TEXT_TAB, PROPERTY_ELEMENT, READY_STATE_COMPLETE, READY_STATE_INTERACTIVE, READY_STATE_LOADED, READY_STATE_LOADING, READY_STATE_UNINITIALIZED`

Fields inherited from interface org.w3c.dom.Node

`ATTRIBUTE_NODE, CDATA_SECTION_NODE, COMMENT_NODE, DOCUMENT_FRAGMENT_NODE, DOCUMENT_NODE, DOCUMENT_POSITION_CONTAINED_BY, DOCUMENT_POSITION_CONTAINS, DOCUMENT_POSITION_DISCONNECTED, DOCUMENT_POSITION_FOLLOWING, DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC, DOCUMENT_POSITION_PRECEDING, DOCUMENT_TYPE_NODE, ELEMENT_NODE, ENTITY_NODE, ENTITY_REFERENCE_NODE, NOTATION_NODE, PROCESSING_INSTRUCTION_NODE, TEXT_NODE`

Constructor Summary
`SgmlPage(WebResponse webResponse, WebWindow webWindow)` Creates an instance of SgmlPage.

Method Summary
`java.lang.String` `asXml()` Returns a string representation of the XML document from this element and all it's children (recursively).
`void` `cleanUp()` Clean up this page.
`protected SgmlPage` `clone()` Creates a clone of this instance, and clears cached state to be not shared with the original.
`DomDocumentFragment` `createDomDocumentFragment()` Creates an empty `DomDocumentFragment` object.
`abstract org.w3c.dom.Element` `createElement(java.lang.String tagName)` Creates an element, the type of which depends on the specified tag name.
`abstract org.w3c.dom.Element` `createElementNS(java.lang.String namespaceURI, java.lang.String qualifiedName)` Create a new Element with the given namespace and qualified name.
`org.w3c.dom.DocumentType` `getDoctype()` Returns the document type.
`DomElement` `getDocumentElement()` Returns the document element.
`WebWindow` `getEnclosingWindow()` Returns the window that this page is sitting inside.
`java.lang.String` `getNodeName()` Gets the name for the current node.
`short` `getNodeType()` Gets the type of the current node.
`SgmlPage` `getPage()` Returns the page that contains this node.
`abstract java.lang.String` `getPageEncoding()` Returns the page encoding.
`WebClient` `getWebClient()` Returns the WebClient that originally loaded this page.
`WebResponse` `getWebResponse()` Returns the web response that was originally used to create this page.
`abstract boolean` `hasCaseSensitiveTagNames()` Returns `true` if this page has case-sensitive tag names, `false` otherwise.
`void` `initialize()` Initialize this page.
`void` `normalizeDocument()` The current implementation just `DomNode.normalize()`s the document element.
`protected void` `setDocumentType(DomDocumentType type)` Sets the document type.
`void` `setEnclosingWindow(WebWindow window)` Sets the window that contains this page.

Methods inherited from class com.gargoylesoftware.htmlunit.html.DomNode

`addDomChangeListener, appendChild, asText, checkChildHierarchy, cloneNode, compareDocumentPosition, fireNodeAdded, fireNodeDeleted, getAllHtmlChildElements, getAncestors, getAttributes, getBaseURI, getByXPath, getCanonicalXPath, getChildNodes, getChildren, getEndColumnNumber, getEndLineNumber, getFeature, getFirstByXPath, getFirstChild, getLastChild, getLocalName, getNamespaceURI, getNextSibling, getNodeValue, getOwnerDocument, getParentNode, getPrefix, getPreviousSibling, getReadyState, getScriptObject, getStartColumnNumber, getStartLineNumber, getTextContent, getUserData, hasAttributes, hasChildNodes, insertBefore, insertBefore, isAncestorOf, isBlock, isDefaultNamespace, isDisplayed, isEqualNode, isSameNode, isSupported, isTrimmedText, lookupNamespaceURI, lookupPrefix, normalize, notifyIncorrectness, onAddedToPage, onAllChildrenAddedToPage, printChildrenAsXml, printXml, remove, removeAllChildren, removeChild, removeDomChangeListener, replace, replaceChild, selectNodes, selectSingleNode, setNextSibling, setNodeValue, setParentNode, setPrefix, setPreviousSibling, setReadyState, setScriptObject, setTextContent, setUserData`

Methods inherited from class java.lang.Object
`equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Methods inherited from interface org.w3c.dom.Document

`adoptNode, createAttribute, createAttributeNS, createCDATASection, createComment, createDocumentFragment, createEntityReference, createProcessingInstruction, createTextNode, getDocumentURI, getDomConfig, getElementById, getElementsByTagName, getElementsByTagNameNS, getImplementation, getInputEncoding, getStrictErrorChecking, getXmlEncoding, getXmlStandalone, getXmlVersion, importNode, renameNode, setDocumentURI, setStrictErrorChecking, setXmlStandalone, setXmlVersion`

Methods inherited from interface org.w3c.dom.Node

`appendChild, cloneNode, compareDocumentPosition, getAttributes, getBaseURI, getChildNodes, getFeature, getFirstChild, getLastChild, getLocalName, getNamespaceURI, getNextSibling, getNodeValue, getOwnerDocument, getParentNode, getPrefix, getPreviousSibling, getTextContent, getUserData, hasAttributes, hasChildNodes, insertBefore, isDefaultNamespace, isEqualNode, isSameNode, isSupported, lookupNamespaceURI, lookupPrefix, normalize, removeChild, replaceChild, setNodeValue, setPrefix, setTextContent, setUserData`

Constructor Detail

### SgmlPage

    public SgmlPage(WebResponse webResponse,
                    WebWindow webWindow)

  Creates an instance of SgmlPage.

  Parameters:
    `webResponse` - the web response that was used to create this page
    `webWindow` - the window that this page is being loaded into

Method Detail

### cleanUp

    public void cleanUp()
                 throws java.io.IOException

  Clean up this page. This method gets called by the web client when an other page is loaded in the window and you should probably never need to call it directly

  Specified by:
    `cleanUp` in interface `Page`
  Throws:
    `java.io.IOException` - if an IO problem occurs

### getWebResponse

    public WebResponse getWebResponse()

  Returns the web response that was originally used to create this page.

  Specified by:
    `getWebResponse` in interface `Page`
  Returns:
    the web response

### initialize

    public void initialize()
                    throws java.io.IOException

  Initialize this page. This method gets called when a new page is loaded and you should probably never need to call it directly.

  Specified by:
    `initialize` in interface `Page`
  Throws:
    `java.io.IOException` - if an IO problem occurs

### getNodeName

    public java.lang.String getNodeName()

  Gets the name for the current node.

  Specified by:
    `getNodeName` in interface `org.w3c.dom.Node`
  Specified by:
    `getNodeName` in class `DomNode`
  Returns:
    the node name

### getNodeType

    public short getNodeType()

  Gets the type of the current node.

  Specified by:
    `getNodeType` in interface `org.w3c.dom.Node`
  Specified by:
    `getNodeType` in class `DomNode`
  Returns:
    the node type

### getEnclosingWindow

    public WebWindow getEnclosingWindow()

  Returns the window that this page is sitting inside.

  Specified by:
    `getEnclosingWindow` in interface `Page`
  Returns:
    the enclosing frame or null if this page isn't inside a frame

### setEnclosingWindow

    public void setEnclosingWindow(WebWindow window)

  Sets the window that contains this page.

  Parameters:
    `window` - the new frame or null if this page is being removed from a frame

### getWebClient

    public WebClient getWebClient()

  Returns the WebClient that originally loaded this page.

  Returns:
    the WebClient that originally loaded this page

### createDomDocumentFragment

    public DomDocumentFragment createDomDocumentFragment()

  Creates an empty `DomDocumentFragment` object.

  Returns:
    a newly created `DomDocumentFragment`

### getDoctype

    public final org.w3c.dom.DocumentType getDoctype()

  Returns the document type.

  Specified by:
    `getDoctype` in interface `org.w3c.dom.Document`
  Returns:
    the document type

### setDocumentType

    protected void setDocumentType(DomDocumentType type)

  Sets the document type.

  Parameters:
    `type` - the document type

### getPage

    public SgmlPage getPage()

  Returns the page that contains this node.

  Overrides:
    `getPage` in class `DomNode`
  Returns:
    the page that contains this node

### createElement

    public abstract org.w3c.dom.Element createElement(java.lang.String tagName)

  Creates an element, the type of which depends on the specified tag name.

  Specified by:
    `createElement` in interface `org.w3c.dom.Document`
  Parameters:
    `tagName` - the tag name which determines the type of element to be created
  Returns:
    an element, the type of which depends on the specified tag name

### createElementNS

    public abstract org.w3c.dom.Element createElementNS(java.lang.String namespaceURI,
                                                        java.lang.String qualifiedName)

  Create a new Element with the given namespace and qualified name.

  Specified by:
    `createElementNS` in interface `org.w3c.dom.Document`
  Parameters:
    `namespaceURI` - the URI that identifies an XML namespace
    `qualifiedName` - the qualified name of the element type to instantiate
  Returns:
    the new element

### getPageEncoding

    public abstract java.lang.String getPageEncoding()

  Returns the page encoding.

  Returns:
    the page encoding

### getDocumentElement

    public DomElement getDocumentElement()

  Returns the document element.

  Specified by:
    `getDocumentElement` in interface `org.w3c.dom.Document`
  Returns:
    the document element

### clone

    protected SgmlPage clone()

  Creates a clone of this instance, and clears cached state to be not shared with the original.

  Overrides:
    `clone` in class `java.lang.Object`
  Returns:
    a clone of this instance

### asXml

    public java.lang.String asXml()

  Returns a string representation of the XML document from this element and all it's children (recursively). The charset used is the current page encoding.

  Overrides:
    `asXml` in class `DomNode`
  Returns:
    the XML string

### hasCaseSensitiveTagNames

    public abstract boolean hasCaseSensitiveTagNames()

  Returns `true` if this page has case-sensitive tag names, `false` otherwise. In general, XML has case-sensitive tag names, and HTML doesn't. This is especially important during XPath matching.

  Returns:
    `true` if this page has case-sensitive tag names, `false` otherwise

### normalizeDocument

    public void normalizeDocument()

  The current implementation just `DomNode.normalize()`s the document element.

  Specified by:
    `normalizeDocument` in interface `org.w3c.dom.Document`

Copyright © 2002-2011 Gargoyle Software Inc.. All Rights Reserved.