public NodeTypeTest(Axes axis, XPathNodeType type, string param) : base(axis)
 {
     this.type   = type;
     this._param = param;
     if (param != null && type != XPathNodeType.ProcessingInstruction)
     {
         throw new XPathException("No argument allowed for " + NodeTypeTest.ToString(type) + "() test");
     }
 }
        public override string ToString()
        {
            string text = NodeTypeTest.ToString(this.type);

            if (this.type == XPathNodeType.ProcessingInstruction && this._param != null)
            {
                text = text + "('" + this._param + "')";
            }
            else
            {
                text += "()";
            }
            return(this._axis.ToString() + "::" + text);
        }