This is continuing another thread under the same name whose form seems to have been corrupted.
As I surmised, your match="MRP_DETAIL" template is doing nothing other than processing one of the many fields. Let the MRP_DETAIL be matched by the default (identity) template, and define a template
<xsl:template match="NEED_DATE">
<xsl:copy>
.. then you reformatting logic, but referring to the current element as "." rather than as "NEED_DATE" ...
</xsl:copy>
</xsl:template>
Michael Kay
http://www.saxonica.com/
Author, XSLT Programmer's Reference and XPath 2.0 Programmer's Reference