Class ProcessingInstruction
- Object
-
- nu.xom.Node
-
- nu.xom.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
-
-
Constructor Summary
Constructors Constructor Description ProcessingInstruction(String target, String data)
Create a processing instruction with a certain target and data.ProcessingInstruction(ProcessingInstruction instruction)
Create a copy of a processing instruction.
-
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)
ThrowsIndexOutOfBoundsException
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 aString
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 nu.xom.Node
detach, equals, getBaseURI, getDocument, getParent, hashCode, query, query
-
-
-
-
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 instructiondata
- the processing instruction data- Throws:
IllegalTargetException
- if the target is not a non-colonized name or is the string "xml" in any caseIllegalDataException
- 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
- ifdata
is null or otherwise not legal XML processing instruction data
-
getValue
public final String getValue()
Returns the processing instruction data.
-
getChild
public final Node getChild(int position)
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 classNode
- 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.
-
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.
-
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 classObject
- Returns:
- a non-XML string representation of this
ProcessingInstruction
-
-