Package nu.xom

Class ProcessingInstruction


  • public class ProcessingInstruction
    extends Node

    This class represents an XML processing instruction. Each processing instruction has two key properties:

    • The target, a non-colonized name
    • The data, a string which does not contain the two character sequence ?>. The syntax of the data depends completely on the processing instruction. Other than forbidding ?>, XML defines no rules for processing instruction data.
    Version:
    1.0
    Author:
    Elliotte Rusty Harold
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      Node copy()
      Returns a deep copy of this processing instruction with no parent, that can be added to this document or a different one.
      Node getChild​(int position)
      Throws IndexOutOfBoundsException because processing instructions do not have children.
      int getChildCount()
      Returns 0 because processing instructions do not have children.
      String getTarget()
      Returns the processing instruction target.
      String getValue()
      Returns the processing instruction data.
      void setTarget​(String target)
      Sets the target.
      void setValue​(String data)
      Sets the data.
      String toString()
      Returns a String representation of this processing instruction suitable for debugging and diagnosis.
      String toXML()
      Returns the actual XML form of this processing instruction, such as might be copied and pasted from the original document.
      • Methods inherited from class java.lang.Object

        clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • ProcessingInstruction

        public ProcessingInstruction​(String target,
                                     String data)

        Create a processing instruction with a certain target and data.

        Parameters:
        target - the target of the processing instruction
        data - the processing instruction data
        Throws:
        IllegalTargetException - if the target is not a non-colonized name or is the string "xml" in any case
        IllegalDataException - if data contains "?>" or any other illegal characters
      • ProcessingInstruction

        public ProcessingInstruction​(ProcessingInstruction instruction)

        Create a copy of a processing instruction.

        Parameters:
        instruction - the processing instruction to copy
    • Method Detail

      • getTarget

        public final String getTarget()

        Returns the processing instruction target.

        Returns:
        the target
      • setTarget

        public void setTarget​(String target)

        Sets the target.

        Parameters:
        target - the new target
        Throws:
        IllegalTargetException - if the proposed target is not an XML 1.0 non-colonized name or is the string "xml" in any case
      • setValue

        public void setValue​(String data)

        Sets the data.

        Parameters:
        data - the data to set
        Throws:
        IllegalDataException - if data is null or otherwise not legal XML processing instruction data
      • getValue

        public final String getValue()

        Returns the processing instruction data.

        Specified by:
        getValue in class Node
        Returns:
        the data of the processing instruction
      • getChild

        public final Node getChild​(int position)

        Throws IndexOutOfBoundsException because processing instructions do not have children.

        Specified by:
        getChild in class Node
        Parameters:
        position - the index of the child node to return
        Returns:
        never returns because processing instructions do not have children; always throws an exception.
        Throws:
        IndexOutOfBoundsException - because processing instructions do not have children
      • getChildCount

        public final int getChildCount()

        Returns 0 because processing instructions do not have children.

        Specified by:
        getChildCount in class Node
        Returns:
        zero
      • toXML

        public final String toXML()

        Returns the actual XML form of this processing instruction, such as might be copied and pasted from the original document.

        Specified by:
        toXML in class Node
        Returns:
        an XML representation of this processing instruction as a String
      • copy

        public Node copy()

        Returns a deep copy of this processing instruction with no parent, that can be added to this document or a different one.

        Specified by:
        copy in class Node
        Returns:
        a copy of this ProcessingInstruction with no parent
      • toString

        public final String toString()

        Returns a String representation of this processing instruction suitable for debugging and diagnosis. This is not the XML representation of this processing instruction.

        Overrides:
        toString in class Object
        Returns:
        a non-XML string representation of this ProcessingInstruction