The answer is no in the general case. Consider for instance <test>
<a>a</a>
<b>b</b>
</test>
<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<xsl:template match="/">
result from which you cannot get the initial XML document
</xsl:template>
</xsl:stylesheet>
But you can get some information about the document and its
content if you look inside the stylesheet and to the result.
If in this case we will have for instance the stylesheet as
<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<xsl:template match="/">
[<xsl:value-of select="test/a"/>]
[<xsl:value-of select="test/b"/>]
</xsl:template>
</xsl:stylesheet>
and the output:
[a]
[b]
Then you can infere that the initial document has test as
root element and at least two children a and b with content
"a" and "b" respectivelly.
Well if you are going to do that you may as well do:
<xsl:template match="/">
<xsl:copy-of select="."/>
</xsl:template>
But I think the poster was hoping that you could somehow reverse
engineer the output of a transform with the stylesheet, and obtain some
sort of input xml - which of course, you can't.
Cheers
andrew
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list