Если вы используете процессор XSLT 1.0, тогда значение параметра является фрагментом результирующего дерева, поэтому вам необходимо использовать функцию расширения, специфичную для процессора, например exsl:node-set
(http://exslt.org/exsl/functions/node-set/index.html), сначала преобразовать его в набор узлов, например
<xsl:template name="test">
<xsl:param name="pContent1"/>
<xsl:for-each select="exsl:node-set($pContent1)/tr" xmlns:exsl="http://exslt.org/common">
</xsl:for-each>
</xsl:template>
Узел, который делает копию фрагмента результирующего дерева, возможен без использования какого-либо расширения, например, <xsl:copy-of select="$pContent1"/>
должен делать.
Также для полноты примера я объявил пространство имен дляфункция расширения для элемента xsl:for-each
, обычно вы помещаете его в корневой элемент таблицы стилей xsl:stylesheet/transform
и дополнительно используете exclude-result-prefixes="exsl"
, чтобы гарантировать, что пространство имен не встречается ни в одном элементе результата.
При использованииXSLT 2 или 3 процессор, у вас не должно быть никаких проблем, чтобы использовать переменную непосредственно как узел фрагмента, содержащий ваши элементы tr
.