Class DocumentType

  • All Implemented Interfaces:
    Cloneable

    public class DocumentType
    extends Node
    A <!DOCTYPE> node.
    • Constructor Detail

      • DocumentType

        public DocumentType​(String name,
                            String publicId,
                            String systemId)
        Create a new doctype element.
        Parameters:
        name - the doctype's name
        publicId - the doctype's public ID
        systemId - the doctype's system ID
    • Method Detail

      • setPubSysKey

        public void setPubSysKey​(String value)
      • name

        public String name()
        Get this doctype's name (when set, or empty string)
        Returns:
        doctype name
      • publicId

        public String publicId()
        Get this doctype's Public ID (when set, or empty string)
        Returns:
        doctype Public ID
      • systemId

        public String systemId()
        Get this doctype's System ID (when set, or empty string)
        Returns:
        doctype System ID
      • nodeName

        public String nodeName()
        Description copied from class: Node
        Get the node name of this node. Use for debugging purposes and not logic switching (for that, use instanceof).
        Specified by:
        nodeName in class Node
        Returns:
        node name
      • hasAttributes

        protected final boolean hasAttributes()
        Description copied from class: Node
        Check if this Node has an actual Attributes object.
        Specified by:
        hasAttributes in class Node
      • attributes

        public final Attributes attributes()
        Description copied from class: Node
        Get all of the element's attributes.
        Specified by:
        attributes in class Node
        Returns:
        attributes (which implements iterable, in same order as presented in original HTML).
      • attr

        public String attr​(String key)
        Description copied from class: Node
        Get an attribute's value by its key. Case insensitive

        To get an absolute URL from an attribute that may be a relative URL, prefix the key with abs, which is a shortcut to the Node.absUrl(java.lang.String) method.

        E.g.:
        String url = a.attr("abs:href");
        Overrides:
        attr in class Node
        Parameters:
        key - The attribute key.
        Returns:
        The attribute, or empty string if not present (to avoid nulls).
        See Also:
        Node.attributes(), Node.hasAttr(String), Node.absUrl(String)
      • attr

        public Node attr​(String key,
                         String value)
        Description copied from class: Node
        Set an attribute (key=value). If the attribute already exists, it is replaced. The attribute key comparison is case insensitive. The key will be set with case sensitivity as set in the parser settings.
        Overrides:
        attr in class Node
        Parameters:
        key - The attribute key.
        value - The attribute value.
        Returns:
        this (for chaining)
      • hasAttr

        public boolean hasAttr​(String key)
        Description copied from class: Node
        Test if this element has an attribute. Case insensitive
        Overrides:
        hasAttr in class Node
        Parameters:
        key - The attribute key to check.
        Returns:
        true if the attribute exists, false if not.
      • removeAttr

        public Node removeAttr​(String key)
        Description copied from class: Node
        Remove an attribute from this node.
        Overrides:
        removeAttr in class Node
        Parameters:
        key - The attribute to remove.
        Returns:
        this (for chaining)
      • absUrl

        public String absUrl​(String key)
        Description copied from class: Node
        Get an absolute URL from a URL attribute that may be relative (i.e. an <a href> or <img src>).

        E.g.: String absUrl = linkEl.absUrl("href");

        If the attribute value is already absolute (i.e. it starts with a protocol, like http:// or https:// etc), and it successfully parses as a URL, the attribute is returned directly. Otherwise, it is treated as a URL relative to the element's Node.baseUri(), and made absolute using that.

        As an alternate, you can use the Node.attr(java.lang.String) method with the abs: prefix, e.g.: String absUrl = linkEl.attr("abs:href");

        Overrides:
        absUrl in class Node
        Parameters:
        key - The attribute key
        Returns:
        An absolute URL if one could be made, or an empty string (not null) if the attribute was missing or could not be made successfully into a URL.
        See Also:
        Node.attr(java.lang.String), URL(java.net.URL, String)
      • baseUri

        public String baseUri()
        Description copied from class: Node
        Get the base URI that applies to this node. Empty string if not defined. Used to make relative links absolute to.
        Specified by:
        baseUri in class Node
        Returns:
        base URI
      • doSetBaseUri

        protected void doSetBaseUri​(String baseUri)
        Description copied from class: Node
        Set the baseUri for just this node (not its descendants), if this Node tracks base URIs.
        Specified by:
        doSetBaseUri in class Node
        Parameters:
        baseUri - new URI
      • childNodeSize

        public int childNodeSize()
        Description copied from class: Node
        Get the number of child nodes that this node holds.
        Specified by:
        childNodeSize in class Node
        Returns:
        the number of child nodes that this node holds.
      • empty

        public Node empty()
        Description copied from class: Node
        Delete all this node's children.
        Specified by:
        empty in class Node
        Returns:
        this node, for chaining
      • doClone

        protected org.jsoup.nodes.LeafNode doClone​(Node parent)
        Overrides:
        doClone in class Node