Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
Description
Our transform20.xsl permits unknown namespaced elements under property-extension, global-metadata and component-metadata. While copying these unknown namespace elements, the immediate child element of these above mentioned nodes is left out and only sub-children nodes are copied over.
E.g. In transform20.xsl, we have this code
<xsl:template match="fmd:global-metadata/*[
namespace-uri() != 'http://java.sun.com/xml/ns/javaee'
and namespace-uri() !='http://myfaces.apache.org/maven-faces-plugin'
and namespace-uri() !='http://java.sun.com/xml/ns/javaee/faces/design-time-metadata']">
<xsl:copy-of select="*"/>
</xsl:template>
With "fmd:global-metadata/" we are already referring to child element of fmd:global-metadata. And then when we select "" in <xsl:copy-of select="*"/>, we are copying over the child of the child. Thus, the immediate child element of global-metadata element is left out.
The fix is to replace "" with "." in <xsl:copy-of select=""/>