Java 类org.w3c.dom.html.HTMLBodyElement 实例源码

项目:SplitCharater    文件:HTMLDocumentImpl.java   
public synchronized HTMLElement getBody()
{
    Node    html;
    Node    head;
    Node    body;
    Node    child;
    Node    next;

    // Call getDocumentElement() to get the HTML element that is also the
    // top-level element in the document. Get the first element in the
    // document that is called BODY. Work with that.
    html = getDocumentElement();
    head = getHead();
    synchronized ( html )
    {
        body = head.getNextSibling();
        while ( body != null && ! ( body instanceof HTMLBodyElement )
                && ! ( body instanceof HTMLFrameSetElement ) )
            body = body.getNextSibling();

        // BODY/FRAMESET exists but might not be second element in HTML
        // (after HEAD): make sure it is and return it.
        if ( body != null )
        {
            synchronized ( body )
            {
                child = head.getNextSibling();
                while ( child != null && child != body )
                {
                    next = child.getNextSibling();
                    body.insertBefore( child, body.getFirstChild() );
                    child = next;
                }
            }
            return (HTMLElement) body;
        }

        // BODY does not exist, create a new one, place it in the HTML element
        // right after the HEAD and return it.
        body = new HTMLBodyElementImpl( this, "BODY" );
        html.appendChild( body );
    }
    return (HTMLElement) body;
}