Remembering that you could also get comments or text nodes (the first child node of in your example is a text node), then if caml:Author is my current node, I would use the following to address the children:
test="(processing-instruction() | *)[1][self::processing-instruction()]"
The result is true if the first of the processing-instruction and element children is a processing-instruction.