package scala.xml
case class ProcInstr(target: String, proctext: String) extends SpecialNode
{
if (!Utility.isName(target))
throw new IllegalArgumentException(target+" must be an XML Name")
if (proctext contains "?>")
throw new IllegalArgumentException(proctext+" may not contain \"?>\"")
if (target.toLowerCase == "xml")
throw new IllegalArgumentException(target+" is reserved")
final override def doCollectNamespaces = false
final override def doTransform = false
final def label = "#PI"
override def text = ""
override def buildString(sb: StringBuilder) =
sb append "<?%s%s?>".format(target, (if (proctext == "") "" else " " + proctext))
}