Generating multiple output files is a standard feature in XSLT 2.0 (the xsl:result-document instruction) but not in XSLT 1.0. Some XSLT 1.0 processor offer an extension to do this.
Given your environment, I would suggest downloading Saxon for .NET (which is an XSLT 2.0 processor) and using xsl:result-document.
The code is then something like:
<xsl:template match="fields">
<xsl:result-document href="{position()}.xml">
<record>
<doccreated>
<xsl:value-of select="field[@name='doccreated']"/>
</
<docmodified>
<xsl:value-of select="field[@name='docmodified']"/>
</
</
</
</
etc.
Michael Kay
http://www.saxonica.com/
Author, XSLT Programmer's Reference and XPath 2.0 Programmer's Reference