E: Counting Elements

Because “doc” is in the default namespace and “//p” matches elements in no namespace.

This would work:

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
                xmlns="http://www.w3.org/1999/xhtml"
                xpath-default-namespace="http://www.w3.org/1999/xhtml"
                version="2.0">
  ...

So would this:

<xsl:value-of xmlns:x="http://www.w3.org/1999/xhtml"
              select="count($doc//x:p)"/>