As part of a larger XML I have elements like `<testdata>abc</testdata>` and this String `abc` gets nicely put into a table cell `<td>abc</td>` using the following fragment in an XSLT file...

```
<td><xsl:value-of select="testdata"/></td>

```

Now what if the test data itself is HTML like this?

```
<testdata>
    <ol>
        <li>abc</li>
        <li>xyz</li>
    </ol>
</testdata>

```

Can I somehow enhance the above `<xsl:value-of/>` to take the whole content of the `<testdata>` element as it is? I keep losing the HTML formatting, resulting in `<td>abcxyz</td>`, but what I would expect is this:

```
<td>
    <ol>
        <li>abc</li>
        <li>xyz</li>
    </ol>
</td>

```

**PS:**

In some other related questions I found this xsl template as a solution. But I don't understand how I can apply such an identity copy to only the contents of my `<testdata>` element:

```
<xsl:template match="@*|node()">
    <xsl:copy>
        <xsl:apply-templates select="@*|node()"/>
    </xsl:copy>  
</xsl:template>

```