You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by ma...@apache.org on 2009/12/16 17:36:04 UTC
svn commit: r891297 -
/myfaces/trinidad-maven/branches/1.2.10.1-branch/maven-faces-plugin/src/main/resources/org/apache/myfaces/trinidadbuild/plugin/faces/resources/transform12.xsl
Author: matzew
Date: Wed Dec 16 16:36:04 2009
New Revision: 891297
URL: http://svn.apache.org/viewvc?rev=891297&view=rev
Log:
removed wrongly applied patch (TRINIDAD-1656) from this branch...
Modified:
myfaces/trinidad-maven/branches/1.2.10.1-branch/maven-faces-plugin/src/main/resources/org/apache/myfaces/trinidadbuild/plugin/faces/resources/transform12.xsl
Modified: myfaces/trinidad-maven/branches/1.2.10.1-branch/maven-faces-plugin/src/main/resources/org/apache/myfaces/trinidadbuild/plugin/faces/resources/transform12.xsl
URL: http://svn.apache.org/viewvc/myfaces/trinidad-maven/branches/1.2.10.1-branch/maven-faces-plugin/src/main/resources/org/apache/myfaces/trinidadbuild/plugin/faces/resources/transform12.xsl?rev=891297&r1=891296&r2=891297&view=diff
==============================================================================
--- myfaces/trinidad-maven/branches/1.2.10.1-branch/maven-faces-plugin/src/main/resources/org/apache/myfaces/trinidadbuild/plugin/faces/resources/transform12.xsl (original)
+++ myfaces/trinidad-maven/branches/1.2.10.1-branch/maven-faces-plugin/src/main/resources/org/apache/myfaces/trinidadbuild/plugin/faces/resources/transform12.xsl Wed Dec 16 16:36:04 2009
@@ -1,1072 +1,1071 @@
-<?xml version="1.0" ?>
-<!--
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements. See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership. The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied. See the License for the
- specific language governing permissions and limitations
- under the License.
-
--->
-<xsl:stylesheet xmlns="http://java.sun.com/xml/ns/javaee"
- xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
- xmlns:xs="http://www.w3.org/2001/XMLSchema"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:javaee="http://java.sun.com/xml/ns/javaee"
- xmlns:mfp="http://myfaces.apache.org/maven-faces-plugin"
- xmlns:fmd="http://java.sun.com/xml/ns/javaee/faces/design-time-metadata"
- xmlns:exsl="http://exslt.org/common"
- exclude-result-prefixes="xsl xs javaee mfp fmd"
- version="1.0">
-
- <xsl:output method="xml" indent="yes"/>
- <xsl:param name="packageContains" />
- <xsl:param name="converterPackageContains" />
- <xsl:param name="validatorPackageContains" />
- <xsl:param name="typePrefix" />
- <xsl:param name="removeRenderers" />
-
-
-
- <xsl:key name="component-type"
- match="javaee:component"
- use="javaee:component-type/text()" />
-
- <xsl:key name="render-kit-id"
- match="javaee:render-kit"
- use="javaee:render-kit-id/text()" />
-
- <!-- switch off default text processing -->
- <xsl:template match="//text()" />
-
- <!-- these are used for inserting a namespace declaration in xslt 1.0 -->
- <xsl:variable name="tr">
- <xsl:element name="tr:xxx" namespace="http://myfaces.apache.org/trinidad"/>
- </xsl:variable>
- <xsl:variable name="trh">
- <xsl:element name="trh:xxx" namespace="http://myfaces.apache.org/trinidad/html"/>
- </xsl:variable>
- <xsl:variable name="fmd">
- <xsl:element name="fmd:xxx" namespace="http://java.sun.com/xml/ns/javaee/faces/design-time-metadata"/>
- </xsl:variable>
- <xsl:variable name="mfp">
- <xsl:element name="mfp:xxx" namespace="http://myfaces.apache.org/maven-faces-plugin"/>
- </xsl:variable>
- <xsl:variable name="mafp">
- <xsl:element name="mafp:xxx" namespace="http://xmlns.oracle.com/maven-adf-faces-plugin"/>
- </xsl:variable>
-
- <xsl:template match="/javaee:faces-config" >
- <xsl:element name="faces-config"
- namespace="http://java.sun.com/xml/ns/javaee" >
- <!-- Add namespace declarations at root element, so they don't show up at lower elements when we change namespaces -->
- <xsl:copy-of select="exsl:node-set($tr)//namespace::*"/>
- <xsl:copy-of select="exsl:node-set($trh)//namespace::*"/>
- <xsl:copy-of select="exsl:node-set($fmd)//namespace::*"/>
- <xsl:copy-of select="exsl:node-set($mfp)//namespace::*"/>
- <xsl:copy-of select="exsl:node-set($mafp)//namespace::*"/>
- <xsl:attribute name="xsi:schemaLocation">http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd</xsl:attribute>
- <xsl:attribute name="version">1.2</xsl:attribute>
- <xsl:apply-templates select="javaee:application" />
- <xsl:apply-templates select="javaee:factory" />
- <xsl:apply-templates select="javaee:component[not(contains(javaee:component-extension/mfp:component-class-modifier/text(), 'abstract')) and
- (starts-with(javaee:component-type, $typePrefix) or
- (contains(javaee:component-type, 'javax.faces.ViewRoot')))]" />
- <xsl:apply-templates select="javaee:converter[contains(javaee:converter-class, $converterPackageContains)]" />
- <xsl:apply-templates select="javaee:managed-bean[contains(javaee:managed-bean-class, $packageContains)]" />
- <xsl:apply-templates select="javaee:navigation-rule" />
- <xsl:apply-templates select="javaee:referenced-bean" />
- <!-- merge the render-kits together -->
- <xsl:for-each select="javaee:render-kit[contains(javaee:render-kit-class, $packageContains)]" >
- <xsl:element name="render-kit" >
- <xsl:apply-templates select="javaee:description" />
- <xsl:apply-templates select="javaee:display-name" />
- <xsl:apply-templates select="javaee:icon" />
- <xsl:apply-templates select="javaee:render-kit-id" />
- <xsl:apply-templates select="javaee:render-kit-class" />
- <!-- Drop renderers if desired -->
- <xsl:if test="$removeRenderers != 'true'">
- <xsl:for-each select="key('render-kit-id', javaee:render-kit-id/text())" >
- <xsl:apply-templates select="javaee:renderer[contains(javaee:renderer-class, $packageContains)]" />
- </xsl:for-each>
- </xsl:if>
- </xsl:element>
- </xsl:for-each>
- <xsl:apply-templates select="javaee:lifecycle[contains(javaee:phase-listener, $packageContains)]" />
- <xsl:apply-templates select="javaee:validator[contains(javaee:validator-class, $validatorPackageContains)]" />
- <xsl:apply-templates select="javaee:faces-config-extension" />
- </xsl:element>
- </xsl:template>
-
- <!-- this templates applies javaee:property templates
- for a component and all supertypes -->
- <xsl:template name="apply-property-templates" >
- <xsl:param name="component" />
- <xsl:param name="skip"></xsl:param>
- <xsl:variable name="componentSupertype"
- select="$component/javaee:component-extension/mfp:component-supertype/text()" />
- <xsl:if test="$componentSupertype" >
- <xsl:call-template name="apply-property-templates" >
- <xsl:with-param name="component"
- select="key('component-type', $componentSupertype)" />
- <!-- "Recursively" build a skip set of nodes. This is created as a
- string and appended to for every super class applied. The square
- brackets are used for a "whole-world" type of functionality. -->
- <xsl:with-param name="skip"><xsl:value-of select="$skip"
- /><xsl:for-each
- select="$component/javaee:property/javaee:property-name"
- >[<xsl:value-of select="normalize-space(text())" />]</xsl:for-each>
- </xsl:with-param>
- </xsl:call-template>
- </xsl:if>
- <!-- uncomment this code to help debug the skip functionality: -->
- <!--xsl:comment>
- Skip is: <xsl:value-of select="$skip" />
- </xsl:comment-->
- <xsl:for-each select="$component/javaee:property">
- <xsl:variable name="searchFor">[<xsl:value-of
- select="normalize-space(javaee:property-name/text())"/>]</xsl:variable>
- <!-- Do not include this element if it is overridden in the sub-type -->
- <xsl:if
- test="not(contains($skip, $searchFor))">
- <xsl:apply-templates select="." />
- </xsl:if>
- </xsl:for-each>
- </xsl:template>
-
- <!-- this templates applies javaee:attribute templates
- for a component and all supertypes -->
- <xsl:template name="apply-attribute-templates" >
- <xsl:param name="component" />
- <xsl:param name="skip"></xsl:param>
- <xsl:variable name="componentSupertype"
- select="$component/javaee:component-extension/mfp:component-supertype/text()" />
- <xsl:if test="$componentSupertype" >
- <xsl:call-template name="apply-attribute-templates" >
- <xsl:with-param name="component"
- select="key('component-type', $componentSupertype)" />
- <!-- "Recursively" build a skip set of nodes. This is created as a
- string and appended to for every super class applied. The square
- brackets are used for a "whole-world" type of functionality. -->
- <xsl:with-param name="skip"><xsl:value-of select="$skip"
- /><xsl:for-each
- select="$component/javaee:attribute/javaee:attribute-name"
- >[<xsl:value-of select="normalize-space(text())" />]</xsl:for-each>
- </xsl:with-param>
- </xsl:call-template>
- </xsl:if>
- <!-- uncomment this code to help debug the skip functionality: -->
- <!--xsl:comment>
- Skip is: <xsl:value-of select="$skip" />
- </xsl:comment-->
- <xsl:for-each select="$component/javaee:attribute">
- <xsl:variable name="searchFor">[<xsl:value-of
- select="normalize-space(javaee:attribute-name/text())"/>]</xsl:variable>
- <!-- Do not include this element if it is overridden in the sub-type -->
- <xsl:if
- test="not(contains($skip, $searchFor))">
- <xsl:apply-templates select="." />
- </xsl:if>
- </xsl:for-each>
- </xsl:template>
-
- <!-- this templates applies javaee:facet templates
- for a component and all supertypes -->
- <xsl:template name="apply-facet-templates" >
- <xsl:param name="component" />
- <xsl:param name="skip"></xsl:param>
- <xsl:variable name="componentSupertype"
- select="$component/javaee:component-extension/mfp:component-supertype/text()" />
- <xsl:if test="$componentSupertype" >
- <xsl:call-template name="apply-facet-templates" >
- <xsl:with-param name="component"
- select="key('component-type', $componentSupertype)" />
- <!-- "Recursively" build a skip set of nodes. This is created as a
- string and appended to for every super class applied. The square
- brackets are used for a "whole-world" type of functionality. -->
- <xsl:with-param name="skip"><xsl:value-of select="$skip"
- /><xsl:for-each
- select="$component/javaee:facet/javaee:facet-name"
- >[<xsl:value-of select="normalize-space(text())" />]</xsl:for-each>
- </xsl:with-param>
- </xsl:call-template>
- </xsl:if>
- <!-- uncomment this code to help debug the skip functionality: -->
- <!--xsl:comment>
- Skip is: <xsl:value-of select="$skip" />
- </xsl:comment-->
- <xsl:for-each select="$component/javaee:facet">
- <xsl:variable name="searchFor">[<xsl:value-of
- select="normalize-space(javaee:facet-name/text())"/>]</xsl:variable>
- <!-- Do not include this element if it is overridden in the sub-type -->
- <xsl:if
- test="not(contains($skip, $searchFor))">
- <xsl:apply-templates select="." />
- </xsl:if>
- </xsl:for-each>
- </xsl:template>
-
- <xsl:template match="//javaee:component[javaee:component-extension/mfp:component-supertype]"
- priority="1" >
- <xsl:element name="component" >
- <xsl:apply-templates select="javaee:description" />
- <xsl:apply-templates select="javaee:display-name" />
- <xsl:apply-templates select="javaee:icon" />
- <xsl:apply-templates select="javaee:component-type" />
- <xsl:apply-templates select="javaee:component-class" />
- <xsl:call-template name="apply-facet-templates" >
- <xsl:with-param name="component" select="." />
- </xsl:call-template>
- <xsl:call-template name="apply-attribute-templates" >
- <xsl:with-param name="component" select="." />
- </xsl:call-template>
- <xsl:call-template name="apply-property-templates" >
- <xsl:with-param name="component" select="." />
- </xsl:call-template>
- <xsl:apply-templates select="javaee:component-extension" />
- </xsl:element>
- </xsl:template>
-
- <xsl:template match="//javaee:application" >
- <xsl:element name="application" >
- <xsl:apply-templates select="javaee:action-listener[contains(text(), $packageContains)]" />
- <xsl:apply-templates select="javaee:default-render-kit-id" />
- <xsl:apply-templates select="javaee:message-bundle[contains(text(), $packageContains)]" />
- <xsl:apply-templates select="javaee:view-handler[contains(text(), $packageContains)]" />
- <xsl:apply-templates select="javaee:state-manager[contains(text(), $packageContains)]" />
- <xsl:apply-templates select="javaee:navigation-handler[contains(text(), $packageContains)]" />
- <xsl:apply-templates select="javaee:el-resolver[contains(text(), $packageContains)]" />
- <xsl:apply-templates select="javaee:property-resolver[contains(text(), $packageContains)]" />
- <xsl:apply-templates select="javaee:variable-resolver[contains(text(), $packageContains)]" />
- <xsl:apply-templates select="javaee:locale-config" />
- <xsl:apply-templates select="javaee:resource-bundle" />
- </xsl:element>
- </xsl:template>
-
- <xsl:template match="//javaee:action-listener" >
- <xsl:element name="action-listener" >
- <xsl:value-of select="text()" />
- </xsl:element>
- </xsl:template>
-
- <xsl:template match="//javaee:default-render-kit-id" >
- <xsl:element name="default-render-kit-id" >
- <xsl:value-of select="text()" />
- </xsl:element>
- </xsl:template>
-
- <xsl:template match="//javaee:message-bundle" >
- <xsl:element name="message-bundle" >
- <xsl:value-of select="text()" />
- </xsl:element>
- </xsl:template>
-
- <xsl:template match="//javaee:navigation-handler" >
- <xsl:element name="navigation-handler" >
- <xsl:value-of select="text()" />
- </xsl:element>
- </xsl:template>
-
- <xsl:template match="//javaee:view-handler" >
- <xsl:element name="view-handler" >
- <xsl:value-of select="text()" />
- </xsl:element>
- </xsl:template>
-
- <xsl:template match="//javaee:state-manager" >
- <xsl:element name="state-manager" >
- <xsl:value-of select="text()" />
- </xsl:element>
- </xsl:template>
-
- <xsl:template match="//javaee:el-resolver" >
- <xsl:element name="el-resolver" >
- <xsl:value-of select="text()" />
- </xsl:element>
- </xsl:template>
-
- <xsl:template match="//javaee:property-resolver" >
- <xsl:element name="property-resolver" >
- <xsl:value-of select="text()" />
- </xsl:element>
- </xsl:template>
-
- <xsl:template match="//javaee:variable-resolver" >
- <xsl:element name="variable-resolver" >
- <xsl:value-of select="text()" />
- </xsl:element>
- </xsl:template>
-
- <xsl:template match="//javaee:locale-config" >
- <xsl:element name="locale-config" >
- <xsl:apply-templates />
- </xsl:element>
- </xsl:template>
-
- <xsl:template match="//javaee:factory" >
- <xsl:element name="factory" >
- <xsl:apply-templates select="javaee:application-factory[contains(text(), $packageContains)]" />
- <xsl:apply-templates select="javaee:faces-context-factory[contains(text(), $packageContains)]" />
- <xsl:apply-templates select="javaee:lifecycle-factory[contains(text(), $packageContains)]" />
- <xsl:apply-templates select="javaee:render-kit-factory[contains(text(), $packageContains)]" />
- </xsl:element>
- </xsl:template>
-
- <xsl:template match="//javaee:application-factory" >
- <xsl:element name="application-factory" >
- <xsl:value-of select="text()" />
- </xsl:element>
- </xsl:template>
-
- <xsl:template match="//javaee:faces-context-factory" >
- <xsl:element name="faces-context-factory" >
- <xsl:value-of select="text()" />
- </xsl:element>
- </xsl:template>
-
- <xsl:template match="//javaee:lifecycle-factory" >
- <xsl:element name="lifecycle-factory" >
- <xsl:value-of select="text()" />
- </xsl:element>
- </xsl:template>
-
- <xsl:template match="//javaee:render-kit-factory" >
- <xsl:element name="render-kit-factory" >
- <xsl:value-of select="text()" />
- </xsl:element>
- </xsl:template>
-
- <xsl:template match="//javaee:component" >
- <xsl:element name="component" >
- <xsl:apply-templates />
- </xsl:element>
- </xsl:template>
-
- <xsl:template match="//javaee:component-type" >
- <xsl:element name="component-type" >
- <xsl:value-of select="text()" />
- </xsl:element>
- </xsl:template>
-
- <xsl:template match="//javaee:component-class" >
- <xsl:element name="component-class" >
- <xsl:value-of select="text()" />
- </xsl:element>
- </xsl:template>
-
- <xsl:template match="//javaee:component/javaee:facet[1]" priority="1" >
- <xsl:comment><xsl:value-of select="parent::node()/javaee:component-type/text()" /> facets</xsl:comment>
- <xsl:element name="facet" >
- <xsl:apply-templates/>
- </xsl:element>
- </xsl:template>
-
- <xsl:template match="//javaee:facet" >
- <xsl:element name="facet" >
- <xsl:apply-templates/>
- </xsl:element>
- </xsl:template>
-
- <xsl:template match="//javaee:facet-name" >
- <xsl:element name="facet-name" >
- <xsl:value-of select="text()" />
- </xsl:element>
- </xsl:template>
-
- <xsl:template match="//javaee:facet-extension">
- <!-- Make sure not empty -->
- <xsl:if test="*">
- <xsl:element name="facet-extension">
- <!-- Check for possible children of the metadata -->
- <xsl:if test="*[namespace-uri() != 'http://java.sun.com/xml/ns/javaee']">
- <xsl:apply-templates select="fmd:facet-metadata"/>
- <xsl:element name="facet-metadata">
- <!-- Select metadata children -->
- <xsl:apply-templates select="mfp:facet-metadata/*[
- namespace-uri() != 'http://java.sun.com/xml/ns/javaee']" />
- <!-- Add non-metadata children under the metadata -->
- <xsl:apply-templates select="*[namespace-uri() != 'http://java.sun.com/xml/ns/javaee'
- and namespace-uri() != 'http://java.sun.com/xml/ns/javaee/faces/design-time-metadata'
- and (
- namespace-uri() != 'http://myfaces.apache.org/maven-faces-plugin'
- or name() != 'mfp:facet-metadata'
- )]" />
- </xsl:element>
- </xsl:if>
- </xsl:element>
- </xsl:if>
- </xsl:template>
-
-
- <xsl:template match="//javaee:component/javaee:attribute[1]" priority="1" >
- <xsl:comment><xsl:value-of select="parent::node()/javaee:component-type/text()" /> attributes</xsl:comment>
- <xsl:element name="attribute" >
- <xsl:apply-templates/>
- </xsl:element>
- </xsl:template>
-
- <xsl:template match="//javaee:component/javaee:attribute[1]" priority="1" >
- <xsl:comment><xsl:value-of select="parent::node()/javaee:component-type/text()" /> attributes</xsl:comment>
- <xsl:element name="attribute" >
- <xsl:apply-templates/>
- </xsl:element>
- </xsl:template>
-
- <xsl:template match="//javaee:attribute" >
- <xsl:element name="attribute" >
- <xsl:apply-templates/>
- </xsl:element>
- </xsl:template>
-
- <xsl:template match="//javaee:attribute-name" >
- <xsl:element name="attribute-name" >
- <xsl:value-of select="text()" />
- </xsl:element>
- </xsl:template>
-
- <xsl:template match="//javaee:attribute-class" >
- <xsl:element name="attribute-class" >
- <xsl:value-of select="text()" />
- </xsl:element>
- </xsl:template>
-
- <xsl:template match="//javaee:attribute-extension" >
- <xsl:element name="attribute-extension" >
- <xsl:apply-templates />
- </xsl:element>
- </xsl:template>
-
- <xsl:template match="//javaee:component/javaee:property[1]" priority="1" >
- <xsl:comment><xsl:value-of select="parent::node()/javaee:component-type/text()" /> properties</xsl:comment>
- <xsl:element name="property" >
- <xsl:apply-templates/>
- </xsl:element>
- </xsl:template>
-
- <xsl:template match="//javaee:property[javaee:property-name/text() = 'binding']" priority='2' >
- <!-- skip over properties named 'binding' -->
- </xsl:template>
-
- <xsl:template match="//javaee:property" >
- <xsl:element name="property" >
- <xsl:apply-templates/>
- </xsl:element>
- </xsl:template>
-
- <xsl:template match="//javaee:property-name" >
- <xsl:element name="property-name" >
- <xsl:value-of select="text()" />
- </xsl:element>
- </xsl:template>
-
- <xsl:template match="//javaee:property-class" >
- <xsl:element name="property-class" >
- <!-- eliminate generics for 1.4-based classes in JSF 1.1 -->
- <xsl:choose>
- <xsl:when test="contains(text(), '<')" >
- <xsl:value-of select="substring-before(text(), '<')" />
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="text()" />
- </xsl:otherwise>
- </xsl:choose>
- </xsl:element>
- </xsl:template>
-
- <xsl:template match="//javaee:property-extension">
- <!-- Make sure not empty -->
- <xsl:if test="*">
- <xsl:element name="property-extension">
- <!-- Check for possible children of the metadata -->
- <xsl:if test="*[namespace-uri() != 'http://java.sun.com/xml/ns/javaee']">
- <xsl:apply-templates select="fmd:property-metadata"/>
- <xsl:element name="property-metadata">
- <!-- Select metadata children -->
- <xsl:apply-templates select="mfp:property-metadata/*[
- namespace-uri() != 'http://java.sun.com/xml/ns/javaee']" />
- <!-- Add non-metadata children under the metadata -->
- <xsl:apply-templates select="*[namespace-uri() != 'http://java.sun.com/xml/ns/javaee'
- and namespace-uri() != 'http://java.sun.com/xml/ns/javaee/faces/design-time-metadata'
- and (
- namespace-uri() != 'http://myfaces.apache.org/maven-faces-plugin'
- or name() != 'mfp:property-metadata'
- )]" />
- </xsl:element>
- </xsl:if>
- </xsl:element>
- </xsl:if>
- </xsl:template>
-
- <!-- this templates grabs the component-family from an ancestor -->
- <xsl:template match="//javaee:component-extension[mfp:component-supertype]" priority="1" >
- <xsl:variable name="componentSupertype"
- select="mfp:component-supertype/text()" />
- <xsl:element name="component-extension" >
- <xsl:element name="component-family">
- <xsl:value-of select="key('component-type', $componentSupertype)/javaee:component-extension/mfp:component-family/text()" />
- </xsl:element>
- <xsl:apply-templates/>
- </xsl:element>
- </xsl:template>
-
- <xsl:template match="//javaee:component-extension[mfp:component-family]" priority="2" >
- <xsl:element name="component-extension" >
- <xsl:apply-templates/>
- </xsl:element>
- </xsl:template>
-
- <xsl:template match="//javaee:component-extension" >
- <xsl:comment>Warning: this component has no component-family!</xsl:comment>
- <xsl:element name="component-extension" >
- <xsl:apply-templates/>
- </xsl:element>
- </xsl:template>
-
- <xsl:template match="//mfp:component-metadata" >
- <xsl:element name="component-metadata" >
- <xsl:apply-templates/>
- </xsl:element>
- </xsl:template>
-
- <xsl:template match="//javaee:converter" >
- <xsl:element name="converter" >
- <!-- xsl:apply-templates/ TODO use this instead -->
- <xsl:apply-templates select="javaee:description"/>
- <xsl:apply-templates select="javaee:display-name"/>
- <xsl:apply-templates select="javaee:converter-id"/>
- <xsl:apply-templates select="javaee:converter-for-class"/>
- <xsl:apply-templates select="javaee:converter-class"/>
- <xsl:apply-templates select="javaee:property"/>
- </xsl:element>
- </xsl:template>
-
- <xsl:template match="//javaee:converter-id" >
- <xsl:element name="converter-id" >
- <xsl:value-of select="text()" />
- </xsl:element>
- </xsl:template>
-
- <xsl:template match="//javaee:converter-for-class" >
- <xsl:element name="converter-for-class" >
- <xsl:value-of select="text()" />
- </xsl:element>
- </xsl:template>
-
- <xsl:template match="//javaee:converter-class" >
- <xsl:element name="converter-class" >
- <xsl:value-of select="text()" />
- </xsl:element>
- </xsl:template>
-
- <xsl:template match="//javaee:managed-bean" >
- <xsl:element name="managed-bean" >
- <xsl:apply-templates />
- </xsl:element>
- </xsl:template>
-
- <xsl:template match="//javaee:managed-bean-name" >
- <xsl:element name="managed-bean-name" >
- <xsl:value-of select="text()" />
- </xsl:element>
- </xsl:template>
-
- <xsl:template match="//javaee:managed-bean-class" >
- <xsl:element name="managed-bean-class" >
- <xsl:value-of select="text()" />
- </xsl:element>
- </xsl:template>
-
- <xsl:template match="//javaee:managed-bean-scope" >
- <xsl:element name="managed-bean-scope" >
- <xsl:value-of select="text()" />
- </xsl:element>
- </xsl:template>
-
- <xsl:template match="//javaee:managed-property" >
- <xsl:element name="managed-property" >
- <xsl:apply-templates />
- </xsl:element>
- </xsl:template>
-
- <xsl:template match="//javaee:null-value" >
- <xsl:element name="null-value" >
- <xsl:value-of select="text()" />
- </xsl:element>
- </xsl:template>
-
- <xsl:template match="//javaee:value" >
- <xsl:element name="value" >
- <xsl:value-of select="text()" />
- </xsl:element>
- </xsl:template>
-
- <xsl:template match="//javaee:map-entries" >
- <xsl:element name="map-entries" >
- <xsl:apply-templates />
- </xsl:element>
- </xsl:template>
-
- <xsl:template match="//javaee:map-entry" >
- <xsl:element name="map-entry" >
- <xsl:apply-templates />
- </xsl:element>
- </xsl:template>
-
- <xsl:template match="//javaee:key" >
- <xsl:element name="key" >
- <xsl:value-of select="text()" />
- </xsl:element>
- </xsl:template>
-
- <xsl:template match="//javaee:key-class" >
- <xsl:element name="key-class" >
- <xsl:value-of select="text()" />
- </xsl:element>
- </xsl:template>
-
- <xsl:template match="//javaee:value-class" >
- <xsl:element name="value-class" >
- <xsl:value-of select="text()" />
- </xsl:element>
- </xsl:template>
-
- <xsl:template match="//javaee:message-bundle" >
- <xsl:element name="message-bundle" >
- <xsl:value-of select="text()" />
- </xsl:element>
- </xsl:template>
-
- <xsl:template match="//javaee:list-entries" >
- <xsl:element name="list-entries" >
- <xsl:apply-templates />
- </xsl:element>
- </xsl:template>
-
- <xsl:template match="//javaee:navigation-rule" >
- <xsl:element name="navigation-rule" >
- <xsl:apply-templates />
- </xsl:element>
- </xsl:template>
-
- <xsl:template match="//javaee:from-view-id" >
- <xsl:element name="from-view-id" >
- <xsl:value-of select="text()" />
- </xsl:element>
- </xsl:template>
-
- <xsl:template match="//javaee:navigation-case" >
- <xsl:element name="navigation-case" >
- <xsl:apply-templates />
- </xsl:element>
- </xsl:template>
-
- <xsl:template match="//javaee:from-action" >
- <xsl:element name="from-action" >
- <xsl:value-of select="text()" />
- </xsl:element>
- </xsl:template>
-
- <xsl:template match="//javaee:from-outcome" >
- <xsl:element name="from-outcome" >
- <xsl:value-of select="text()" />
- </xsl:element>
- </xsl:template>
-
- <xsl:template match="//javaee:to-view-id" >
- <xsl:element name="to-view-id" >
- <xsl:value-of select="text()" />
- </xsl:element>
- </xsl:template>
-
- <xsl:template match="//javaee:redirect" >
- <xsl:element name="redirect" />
- </xsl:template>
-
- <xsl:template match="//javaee:referenced-bean" >
- <xsl:element name="referenced-bean" >
- <xsl:apply-templates />
- </xsl:element>
- </xsl:template>
-
- <xsl:template match="//javaee:referenced-bean-name" >
- <xsl:element name="referenced-bean-name" >
- <xsl:value-of select="text()" />
- </xsl:element>
- </xsl:template>
-
- <xsl:template match="//javaee:referenced-bean-class" >
- <xsl:element name="referenced-bean-class" >
- <xsl:value-of select="text()" />
- </xsl:element>
- </xsl:template>
-
- <xsl:template match="//javaee:render-kit" >
- <xsl:element name="render-kit" >
- <xsl:apply-templates />
- </xsl:element>
- </xsl:template>
-
- <xsl:template match="//javaee:render-kit-id" >
- <xsl:element name="render-kit-id" >
- <xsl:value-of select="text()" />
- </xsl:element>
- </xsl:template>
-
- <xsl:template match="//javaee:render-kit-class" >
- <xsl:element name="render-kit-class" >
- <xsl:value-of select="text()" />
- </xsl:element>
- </xsl:template>
-
-<!-- TODO: flatten component properties into renderer as attributes -->
-<!--
- <xsl:template match="//javaee:renderer[javaee:renderer-extension/mfp:component-type]"
- priority="1" >
- <xsl:element name="renderer" >
- <xsl:apply-templates select="javaee:component-family" />
- <xsl:apply-templates select="javaee:renderer-type" />
- <xsl:apply-templates select="javaee:renderer-class" />
- <xsl:variable name="componentType" select="javaee:renderer-extension/mfp:component-type/text()" />
- <xsl:for-each select="key('component-type', $componentType)/javaee:property" >
- <xsl:element name="attribute" >
- <xsl:apply-templates select="javaee:description" />
- <xsl:apply-templates select="javaee:display-name" />
- <xsl:apply-templates select="javaee:icon" />
- <xsl:element name="attribute-name" >
- <xsl:value-of select="javaee:property-name" />
- </xsl:element>
- <xsl:element name="attribute-class" >
- <xsl:value-of select="javaee:property-class" />
- </xsl:element>
- <xsl:apply-templates select="javaee:default-value" />
- <xsl:apply-templates select="javaee:suggested-value" />
- <xsl:element name="attribute-extension" >
- <xsl:apply-templates select="mfp:property-extension/*" />
- </xsl:element>
- </xsl:element>
- </xsl:for-each>
- <xsl:apply-templates select="javaee:attribute" />
- <xsl:apply-templates select="javaee:renderer-extension" />
- </xsl:element>
- </xsl:template>
--->
-
- <xsl:template match="//javaee:renderer" >
- <xsl:element name="renderer" >
- <xsl:apply-templates />
- </xsl:element>
- </xsl:template>
-
- <xsl:template match="//javaee:component-family" >
- <xsl:element name="component-family" >
- <xsl:value-of select="text()" />
- </xsl:element>
- </xsl:template>
-
- <xsl:template match="//javaee:renderer-type" >
- <xsl:element name="renderer-type" >
- <xsl:value-of select="text()" />
- </xsl:element>
- </xsl:template>
-
- <xsl:template match="//javaee:renderer-class" >
- <xsl:element name="renderer-class" >
- <xsl:value-of select="text()" />
- </xsl:element>
- </xsl:template>
-
- <xsl:template match="//javaee:renderer-extension[mfp:unsupported-agents]" >
- <xsl:element name="renderer-extension" >
- <xsl:element name="renderer-metadata" >
- <xsl:apply-templates/>
- </xsl:element>
- </xsl:element>
- </xsl:template>
-
- <xsl:template match="//javaee:lifecycle" >
- <xsl:element name="lifecycle" >
- <xsl:apply-templates select="javaee:phase-listener[contains(text(), $packageContains)]" />
- </xsl:element>
- </xsl:template>
-
- <xsl:template match="//javaee:phase-listener" >
- <xsl:element name="phase-listener" >
- <xsl:value-of select="text()" />
- </xsl:element>
- </xsl:template>
-
- <xsl:template match="//javaee:default-locale" >
- <xsl:element name="default-locale" >
- <xsl:value-of select="text()" />
- </xsl:element>
- </xsl:template>
-
- <xsl:template match="//javaee:supported-locale" >
- <xsl:element name="supported-locale" >
- <xsl:value-of select="text()" />
- </xsl:element>
- </xsl:template>
-
- <xsl:template match="//javaee:validator" >
- <xsl:element name="validator" >
- <!-- xsl:apply-templates/ TODO use this instead -->
- <xsl:apply-templates select="javaee:display-name"/>
- <xsl:apply-templates select="javaee:validator-id"/>
- <xsl:apply-templates select="javaee:validator-class"/>
- <xsl:apply-templates select="javaee:property"/>
- </xsl:element>
- </xsl:template>
-
- <xsl:template match="//javaee:validator-id" >
- <xsl:element name="validator-id" >
- <xsl:value-of select="text()" />
- </xsl:element>
- </xsl:template>
-
- <xsl:template match="//javaee:validator-class" >
- <xsl:element name="validator-class" >
- <xsl:value-of select="text()" />
- </xsl:element>
- </xsl:template>
-
- <xsl:template match="//javaee:description" >
- <xsl:element name="description" >
- <xsl:apply-templates select="@*" />
- <xsl:value-of select="text()" />
- </xsl:element>
- </xsl:template>
-
- <xsl:template
- match="//javaee:property[javaee:property-extension/mfp:long-description]/javaee:description"
- priority="1">
- <xsl:element name="description" >
- <xsl:apply-templates select="../javaee:property-extension/mfp:long-description/@*" />
- <xsl:value-of select="../javaee:property-extension/mfp:long-description/text()" />
- </xsl:element>
- </xsl:template>
-
- <xsl:template match="//javaee:description/@xml:lang" >
- <xsl:attribute name="xml:lang" ><xsl:value-of select="@xml:lang" /></xsl:attribute>
- </xsl:template>
-
- <xsl:template match="//javaee:display-name" >
- <xsl:element name="display-name" >
- <xsl:value-of select="text()" />
- </xsl:element>
- </xsl:template>
-
- <xsl:template match="//javaee:icon" >
- <xsl:element name="icon" >
- <xsl:apply-templates/>
- </xsl:element>
- </xsl:template>
-
- <xsl:template match="//javaee:small-icon" >
- <xsl:element name="small-icon" >
- <xsl:value-of select="text()" />
- </xsl:element>
- </xsl:template>
-
- <xsl:template match="//javaee:large-icon" >
- <xsl:element name="large-icon" >
- <xsl:value-of select="text()" />
- </xsl:element>
- </xsl:template>
-
- <xsl:template match="//javaee:default-value" >
- <xsl:element name="default-value" >
- <xsl:value-of select="text()" />
- </xsl:element>
- </xsl:template>
-
- <xsl:template match="//javaee:suggested-value" >
- <xsl:element name="suggested-value" >
- <xsl:value-of select="text()" />
- </xsl:element>
- </xsl:template>
-
- <xsl:template match="//mfp:property-values">
- <!-- Rename this element -->
- <xsl:element name="attribute-values">
- <xsl:value-of select="text()" />
- </xsl:element>
- </xsl:template>
-
- <!-- Handle metadata we do not know about by letting it through. Currently,
- just for property-extension and component-metadata, but should be global.
- See JIRA issues ADFFACES-358, ADFFACES-361 and ADFFACES-472 -->
- <xsl:template match="javaee:property-extension/*[
- 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>
- <xsl:apply-templates select="@*|node()"/>
- <xsl:value-of select="text()"/>
- </xsl:copy>
- </xsl:template>
-
- <xsl:template match="mfp:component-metadata/*[
- namespace-uri() != 'http://java.sun.com/xml/ns/javaee'
- and namespace-uri() !='http://myfaces.apache.org/maven-faces-plugin']">
- <xsl:copy>
- <xsl:apply-templates select="@*|node()"/>
- <xsl:value-of select="text()"/>
- </xsl:copy>
- </xsl:template>
-
- <xsl:template match="//*[
- namespace-uri() = 'http://myfaces.apache.org/maven-faces-plugin']"
- priority="-1">
- <xsl:element name="{local-name()}" >
- <xsl:apply-templates select="@*|node()"/>
- <xsl:value-of select="text()"/>
- </xsl:element>
- </xsl:template>
-
- <!-- Rule for the jsr-276 (top level) component metadata, just copy the whole thing -->
- <xsl:template match="//fmd:component-metadata">
- <xsl:element name="fmd:component-metadata">
- <xsl:copy-of select="*"/>
- </xsl:element>
- </xsl:template>
-
- <!-- Rule for the jsr-276 (top level) property metadata, just copy the whole thing -->
- <xsl:template match="//fmd:property-metadata">
- <xsl:element name="fmd:property-metadata">
- <xsl:copy-of select="*"/>
- </xsl:element>
- </xsl:template>
-
- <!-- Rule for the jsr-276 (top level) facet metadata, just copy the whole thing -->
- <xsl:template match="//fmd:facet-metadata">
- <xsl:element name="fmd:facet-metadata">
- <xsl:copy-of select="*"/>
- </xsl:element>
- </xsl:template>
-
- <xsl:template match="//javaee:faces-config-extension">
- <xsl:apply-templates select="fmd:global-metadata"/>
- </xsl:template>
-
- <!-- Rule for the jsr-276 (top level) global metadata extension -->
- <xsl:template match="//fmd:global-metadata">
- <xsl:element name="faces-config-extension">
- <xsl:element name="fmd:global-metadata">
- <xsl:apply-templates select="fmd:contract-definitions"/>
- <xsl:apply-templates select="fmd:component-category-definitions"/>
- <xsl:apply-templates select="fmd:property-category-definitions"/>
- <xsl:apply-templates select="fmd:faces-taglib-definitions"/>
- </xsl:element>
- </xsl:element>
- </xsl:template>
-
- <xsl:template match="//fmd:contract-definitions">
- <xsl:element name="fmd:contract-definitions">
- <xsl:copy-of select="*"/>
- </xsl:element>
- </xsl:template>
-
- <xsl:template match="//fmd:component-category-definitions">
- <xsl:element name="fmd:component-category-definitions">
- <xsl:copy-of select="*"/>
- </xsl:element>
- </xsl:template>
-
- <xsl:template match="//fmd:property-category-definitions">
- <xsl:element name="fmd:property-category-definitions">
- <xsl:copy-of select="*"/>
- </xsl:element>
- </xsl:template>
-
- <xsl:template match="//fmd:faces-taglib-definitions">
- <xsl:element name="fmd:faces-taglib-definitions">
- <xsl:apply-templates select="fmd:faces-taglib"/>
- </xsl:element>
- </xsl:template>
-
- <xsl:template match="//fmd:faces-taglib">
- <xsl:element name="fmd:faces-taglib">
- <xsl:copy-of select="*"/>
- <xsl:variable name="tagPrefix" select="fmd:short-name/text()"/>
- <xsl:apply-templates select="*"/>
- <xsl:for-each select="//javaee:validator">
- <xsl:if test="starts-with(javaee:validator-extension/mfp:tag-name/text(), $tagPrefix)" >
- <xsl:element name="fmd:tag">
- <xsl:element name="fmd:name">
- <xsl:value-of select="substring-after(javaee:validator-extension/mfp:tag-name/text(), ':')"/>
- </xsl:element>
- <xsl:element name="fmd:validator-id">
- <xsl:value-of select="javaee:validator-id/text()"/>
- </xsl:element>
- </xsl:element>
- </xsl:if>
- </xsl:for-each>
- <xsl:for-each select="//javaee:converter" >
- <xsl:if test="starts-with(javaee:converter-extension/mfp:tag-name/text(), $tagPrefix)" >
- <xsl:element name="fmd:tag">
- <xsl:element name="fmd:name">
- <xsl:value-of select="substring-after(javaee:converter-extension/mfp:tag-name/text(), ':')"/>
- </xsl:element>
- <xsl:element name="fmd:converter-id">
- <xsl:value-of select="javaee:converter-id/text()"/>
- </xsl:element>
- </xsl:element>
- </xsl:if>
- </xsl:for-each>
- <xsl:for-each select="//javaee:component" >
- <xsl:if test="starts-with(javaee:component-extension/mfp:tag-name/text(), $tagPrefix)" >
- <xsl:element name="fmd:tag">
- <xsl:element name="fmd:name">
- <xsl:value-of select="substring-after(javaee:component-extension/mfp:tag-name/text(), ':')"/>
- </xsl:element>
- <xsl:element name="fmd:component-type">
- <xsl:value-of select="javaee:component-type/text()"/>
- </xsl:element>
- <xsl:element name="fmd:renderer-type">
- <xsl:value-of select="javaee:component-extension/mfp:renderer-type/text()"/>
- </xsl:element>
- </xsl:element>
- </xsl:if>
- </xsl:for-each>
- </xsl:element>
- </xsl:template>
-
- <!-- Blacklisted mfp: that should not be copied over into the faces-config.xml: -->
- <xsl:template match="//mfp:alternate-class" />
- <xsl:template match="//mfp:author" />
- <xsl:template match="//mfp:component-metadata/mfp:group" />
- <xsl:template match="//mfp:component-superclass" />
- <xsl:template match="//mfp:component-supertype" />
- <xsl:template match="//mfp:event" />
- <xsl:template match="//mfp:example" />
- <xsl:template match="//mfp:implementation-type" />
- <xsl:template match="//mfp:java-constructor" />
- <xsl:template match="//mfp:javadoc-tags" />
- <xsl:template match="//mfp:javascript-class" />
- <xsl:template match="//mfp:jsp-property-name" />
- <xsl:template match="//mfp:long-description" />
- <xsl:template match="//mfp:method-binding-signature" />
- <xsl:template match="//mfp:screenshot" />
- <xsl:template match="//mfp:short-description" />
- <xsl:template match="//mfp:state-holder" />
- <xsl:template match="//mfp:tag-attribute-excluded" />
- <xsl:template match="//mfp:tag-class" />
- <xsl:template match="//mfp:tag-class-modifier" />
- <xsl:template match="//mfp:tag-name" />
- <xsl:template match="//mfp:uix2-local-name" />
- <xsl:template match="//mfp:unsupported-render-kit" />
- <xsl:template match="//mfp:unsupported-render-kits" />
- <xsl:template match="//mfp:use-max-time" />
- <xsl:template match="//mfp:warn-if-not-specified" />
-
-</xsl:stylesheet>
+<?xml version="1.0" ?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+
+-->
+<xsl:stylesheet xmlns="http://java.sun.com/xml/ns/javaee"
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns:xs="http://www.w3.org/2001/XMLSchema"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:javaee="http://java.sun.com/xml/ns/javaee"
+ xmlns:mfp="http://myfaces.apache.org/maven-faces-plugin"
+ xmlns:fmd="http://java.sun.com/xml/ns/javaee/faces/design-time-metadata"
+ xmlns:exsl="http://exslt.org/common"
+ exclude-result-prefixes="xsl xs javaee mfp fmd"
+ version="1.0">
+
+ <xsl:output method="xml" indent="yes"/>
+ <xsl:param name="packageContains" />
+ <xsl:param name="converterPackageContains" />
+ <xsl:param name="validatorPackageContains" />
+ <xsl:param name="typePrefix" />
+ <xsl:param name="removeRenderers" />
+
+
+
+ <xsl:key name="component-type"
+ match="javaee:component"
+ use="javaee:component-type/text()" />
+
+ <xsl:key name="render-kit-id"
+ match="javaee:render-kit"
+ use="javaee:render-kit-id/text()" />
+
+ <!-- switch off default text processing -->
+ <xsl:template match="//text()" />
+
+ <!-- these are used for inserting a namespace declaration in xslt 1.0 -->
+ <xsl:variable name="tr">
+ <xsl:element name="tr:xxx" namespace="http://myfaces.apache.org/trinidad"/>
+ </xsl:variable>
+ <xsl:variable name="trh">
+ <xsl:element name="trh:xxx" namespace="http://myfaces.apache.org/trinidad/html"/>
+ </xsl:variable>
+ <xsl:variable name="fmd">
+ <xsl:element name="fmd:xxx" namespace="http://java.sun.com/xml/ns/javaee/faces/design-time-metadata"/>
+ </xsl:variable>
+ <xsl:variable name="mfp">
+ <xsl:element name="mfp:xxx" namespace="http://myfaces.apache.org/maven-faces-plugin"/>
+ </xsl:variable>
+ <xsl:variable name="mafp">
+ <xsl:element name="mafp:xxx" namespace="http://xmlns.oracle.com/maven-adf-faces-plugin"/>
+ </xsl:variable>
+
+ <xsl:template match="/javaee:faces-config" >
+ <xsl:element name="faces-config"
+ namespace="http://java.sun.com/xml/ns/javaee" >
+ <!-- Add namespace declarations at root element, so they don't show up at lower elements when we change namespaces -->
+ <xsl:copy-of select="exsl:node-set($tr)//namespace::*"/>
+ <xsl:copy-of select="exsl:node-set($trh)//namespace::*"/>
+ <xsl:copy-of select="exsl:node-set($fmd)//namespace::*"/>
+ <xsl:copy-of select="exsl:node-set($mfp)//namespace::*"/>
+ <xsl:copy-of select="exsl:node-set($mafp)//namespace::*"/>
+ <xsl:attribute name="xsi:schemaLocation">http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd</xsl:attribute>
+ <xsl:attribute name="version">1.2</xsl:attribute>
+ <xsl:apply-templates select="javaee:application" />
+ <xsl:apply-templates select="javaee:factory" />
+ <xsl:apply-templates select="javaee:component[not(contains(javaee:component-extension/mfp:component-class-modifier/text(), 'abstract')) and
+ starts-with(javaee:component-type, $typePrefix)]" />
+ <xsl:apply-templates select="javaee:converter[contains(javaee:converter-class, $converterPackageContains)]" />
+ <xsl:apply-templates select="javaee:managed-bean[contains(javaee:managed-bean-class, $packageContains)]" />
+ <xsl:apply-templates select="javaee:navigation-rule" />
+ <xsl:apply-templates select="javaee:referenced-bean" />
+ <!-- merge the render-kits together -->
+ <xsl:for-each select="javaee:render-kit[contains(javaee:render-kit-class, $packageContains)]" >
+ <xsl:element name="render-kit" >
+ <xsl:apply-templates select="javaee:description" />
+ <xsl:apply-templates select="javaee:display-name" />
+ <xsl:apply-templates select="javaee:icon" />
+ <xsl:apply-templates select="javaee:render-kit-id" />
+ <xsl:apply-templates select="javaee:render-kit-class" />
+ <!-- Drop renderers if desired -->
+ <xsl:if test="$removeRenderers != 'true'">
+ <xsl:for-each select="key('render-kit-id', javaee:render-kit-id/text())" >
+ <xsl:apply-templates select="javaee:renderer[contains(javaee:renderer-class, $packageContains)]" />
+ </xsl:for-each>
+ </xsl:if>
+ </xsl:element>
+ </xsl:for-each>
+ <xsl:apply-templates select="javaee:lifecycle[contains(javaee:phase-listener, $packageContains)]" />
+ <xsl:apply-templates select="javaee:validator[contains(javaee:validator-class, $validatorPackageContains)]" />
+ <xsl:apply-templates select="javaee:faces-config-extension" />
+ </xsl:element>
+ </xsl:template>
+
+ <!-- this templates applies javaee:property templates
+ for a component and all supertypes -->
+ <xsl:template name="apply-property-templates" >
+ <xsl:param name="component" />
+ <xsl:param name="skip"></xsl:param>
+ <xsl:variable name="componentSupertype"
+ select="$component/javaee:component-extension/mfp:component-supertype/text()" />
+ <xsl:if test="$componentSupertype" >
+ <xsl:call-template name="apply-property-templates" >
+ <xsl:with-param name="component"
+ select="key('component-type', $componentSupertype)" />
+ <!-- "Recursively" build a skip set of nodes. This is created as a
+ string and appended to for every super class applied. The square
+ brackets are used for a "whole-world" type of functionality. -->
+ <xsl:with-param name="skip"><xsl:value-of select="$skip"
+ /><xsl:for-each
+ select="$component/javaee:property/javaee:property-name"
+ >[<xsl:value-of select="normalize-space(text())" />]</xsl:for-each>
+ </xsl:with-param>
+ </xsl:call-template>
+ </xsl:if>
+ <!-- uncomment this code to help debug the skip functionality: -->
+ <!--xsl:comment>
+ Skip is: <xsl:value-of select="$skip" />
+ </xsl:comment-->
+ <xsl:for-each select="$component/javaee:property">
+ <xsl:variable name="searchFor">[<xsl:value-of
+ select="normalize-space(javaee:property-name/text())"/>]</xsl:variable>
+ <!-- Do not include this element if it is overridden in the sub-type -->
+ <xsl:if
+ test="not(contains($skip, $searchFor))">
+ <xsl:apply-templates select="." />
+ </xsl:if>
+ </xsl:for-each>
+ </xsl:template>
+
+ <!-- this templates applies javaee:attribute templates
+ for a component and all supertypes -->
+ <xsl:template name="apply-attribute-templates" >
+ <xsl:param name="component" />
+ <xsl:param name="skip"></xsl:param>
+ <xsl:variable name="componentSupertype"
+ select="$component/javaee:component-extension/mfp:component-supertype/text()" />
+ <xsl:if test="$componentSupertype" >
+ <xsl:call-template name="apply-attribute-templates" >
+ <xsl:with-param name="component"
+ select="key('component-type', $componentSupertype)" />
+ <!-- "Recursively" build a skip set of nodes. This is created as a
+ string and appended to for every super class applied. The square
+ brackets are used for a "whole-world" type of functionality. -->
+ <xsl:with-param name="skip"><xsl:value-of select="$skip"
+ /><xsl:for-each
+ select="$component/javaee:attribute/javaee:attribute-name"
+ >[<xsl:value-of select="normalize-space(text())" />]</xsl:for-each>
+ </xsl:with-param>
+ </xsl:call-template>
+ </xsl:if>
+ <!-- uncomment this code to help debug the skip functionality: -->
+ <!--xsl:comment>
+ Skip is: <xsl:value-of select="$skip" />
+ </xsl:comment-->
+ <xsl:for-each select="$component/javaee:attribute">
+ <xsl:variable name="searchFor">[<xsl:value-of
+ select="normalize-space(javaee:attribute-name/text())"/>]</xsl:variable>
+ <!-- Do not include this element if it is overridden in the sub-type -->
+ <xsl:if
+ test="not(contains($skip, $searchFor))">
+ <xsl:apply-templates select="." />
+ </xsl:if>
+ </xsl:for-each>
+ </xsl:template>
+
+ <!-- this templates applies javaee:facet templates
+ for a component and all supertypes -->
+ <xsl:template name="apply-facet-templates" >
+ <xsl:param name="component" />
+ <xsl:param name="skip"></xsl:param>
+ <xsl:variable name="componentSupertype"
+ select="$component/javaee:component-extension/mfp:component-supertype/text()" />
+ <xsl:if test="$componentSupertype" >
+ <xsl:call-template name="apply-facet-templates" >
+ <xsl:with-param name="component"
+ select="key('component-type', $componentSupertype)" />
+ <!-- "Recursively" build a skip set of nodes. This is created as a
+ string and appended to for every super class applied. The square
+ brackets are used for a "whole-world" type of functionality. -->
+ <xsl:with-param name="skip"><xsl:value-of select="$skip"
+ /><xsl:for-each
+ select="$component/javaee:facet/javaee:facet-name"
+ >[<xsl:value-of select="normalize-space(text())" />]</xsl:for-each>
+ </xsl:with-param>
+ </xsl:call-template>
+ </xsl:if>
+ <!-- uncomment this code to help debug the skip functionality: -->
+ <!--xsl:comment>
+ Skip is: <xsl:value-of select="$skip" />
+ </xsl:comment-->
+ <xsl:for-each select="$component/javaee:facet">
+ <xsl:variable name="searchFor">[<xsl:value-of
+ select="normalize-space(javaee:facet-name/text())"/>]</xsl:variable>
+ <!-- Do not include this element if it is overridden in the sub-type -->
+ <xsl:if
+ test="not(contains($skip, $searchFor))">
+ <xsl:apply-templates select="." />
+ </xsl:if>
+ </xsl:for-each>
+ </xsl:template>
+
+ <xsl:template match="//javaee:component[javaee:component-extension/mfp:component-supertype]"
+ priority="1" >
+ <xsl:element name="component" >
+ <xsl:apply-templates select="javaee:description" />
+ <xsl:apply-templates select="javaee:display-name" />
+ <xsl:apply-templates select="javaee:icon" />
+ <xsl:apply-templates select="javaee:component-type" />
+ <xsl:apply-templates select="javaee:component-class" />
+ <xsl:call-template name="apply-facet-templates" >
+ <xsl:with-param name="component" select="." />
+ </xsl:call-template>
+ <xsl:call-template name="apply-attribute-templates" >
+ <xsl:with-param name="component" select="." />
+ </xsl:call-template>
+ <xsl:call-template name="apply-property-templates" >
+ <xsl:with-param name="component" select="." />
+ </xsl:call-template>
+ <xsl:apply-templates select="javaee:component-extension" />
+ </xsl:element>
+ </xsl:template>
+
+ <xsl:template match="//javaee:application" >
+ <xsl:element name="application" >
+ <xsl:apply-templates select="javaee:action-listener[contains(text(), $packageContains)]" />
+ <xsl:apply-templates select="javaee:default-render-kit-id" />
+ <xsl:apply-templates select="javaee:message-bundle[contains(text(), $packageContains)]" />
+ <xsl:apply-templates select="javaee:view-handler[contains(text(), $packageContains)]" />
+ <xsl:apply-templates select="javaee:state-manager[contains(text(), $packageContains)]" />
+ <xsl:apply-templates select="javaee:navigation-handler[contains(text(), $packageContains)]" />
+ <xsl:apply-templates select="javaee:el-resolver[contains(text(), $packageContains)]" />
+ <xsl:apply-templates select="javaee:property-resolver[contains(text(), $packageContains)]" />
+ <xsl:apply-templates select="javaee:variable-resolver[contains(text(), $packageContains)]" />
+ <xsl:apply-templates select="javaee:locale-config" />
+ <xsl:apply-templates select="javaee:resource-bundle" />
+ </xsl:element>
+ </xsl:template>
+
+ <xsl:template match="//javaee:action-listener" >
+ <xsl:element name="action-listener" >
+ <xsl:value-of select="text()" />
+ </xsl:element>
+ </xsl:template>
+
+ <xsl:template match="//javaee:default-render-kit-id" >
+ <xsl:element name="default-render-kit-id" >
+ <xsl:value-of select="text()" />
+ </xsl:element>
+ </xsl:template>
+
+ <xsl:template match="//javaee:message-bundle" >
+ <xsl:element name="message-bundle" >
+ <xsl:value-of select="text()" />
+ </xsl:element>
+ </xsl:template>
+
+ <xsl:template match="//javaee:navigation-handler" >
+ <xsl:element name="navigation-handler" >
+ <xsl:value-of select="text()" />
+ </xsl:element>
+ </xsl:template>
+
+ <xsl:template match="//javaee:view-handler" >
+ <xsl:element name="view-handler" >
+ <xsl:value-of select="text()" />
+ </xsl:element>
+ </xsl:template>
+
+ <xsl:template match="//javaee:state-manager" >
+ <xsl:element name="state-manager" >
+ <xsl:value-of select="text()" />
+ </xsl:element>
+ </xsl:template>
+
+ <xsl:template match="//javaee:el-resolver" >
+ <xsl:element name="el-resolver" >
+ <xsl:value-of select="text()" />
+ </xsl:element>
+ </xsl:template>
+
+ <xsl:template match="//javaee:property-resolver" >
+ <xsl:element name="property-resolver" >
+ <xsl:value-of select="text()" />
+ </xsl:element>
+ </xsl:template>
+
+ <xsl:template match="//javaee:variable-resolver" >
+ <xsl:element name="variable-resolver" >
+ <xsl:value-of select="text()" />
+ </xsl:element>
+ </xsl:template>
+
+ <xsl:template match="//javaee:locale-config" >
+ <xsl:element name="locale-config" >
+ <xsl:apply-templates />
+ </xsl:element>
+ </xsl:template>
+
+ <xsl:template match="//javaee:factory" >
+ <xsl:element name="factory" >
+ <xsl:apply-templates select="javaee:application-factory[contains(text(), $packageContains)]" />
+ <xsl:apply-templates select="javaee:faces-context-factory[contains(text(), $packageContains)]" />
+ <xsl:apply-templates select="javaee:lifecycle-factory[contains(text(), $packageContains)]" />
+ <xsl:apply-templates select="javaee:render-kit-factory[contains(text(), $packageContains)]" />
+ </xsl:element>
+ </xsl:template>
+
+ <xsl:template match="//javaee:application-factory" >
+ <xsl:element name="application-factory" >
+ <xsl:value-of select="text()" />
+ </xsl:element>
+ </xsl:template>
+
+ <xsl:template match="//javaee:faces-context-factory" >
+ <xsl:element name="faces-context-factory" >
+ <xsl:value-of select="text()" />
+ </xsl:element>
+ </xsl:template>
+
+ <xsl:template match="//javaee:lifecycle-factory" >
+ <xsl:element name="lifecycle-factory" >
+ <xsl:value-of select="text()" />
+ </xsl:element>
+ </xsl:template>
+
+ <xsl:template match="//javaee:render-kit-factory" >
+ <xsl:element name="render-kit-factory" >
+ <xsl:value-of select="text()" />
+ </xsl:element>
+ </xsl:template>
+
+ <xsl:template match="//javaee:component" >
+ <xsl:element name="component" >
+ <xsl:apply-templates />
+ </xsl:element>
+ </xsl:template>
+
+ <xsl:template match="//javaee:component-type" >
+ <xsl:element name="component-type" >
+ <xsl:value-of select="text()" />
+ </xsl:element>
+ </xsl:template>
+
+ <xsl:template match="//javaee:component-class" >
+ <xsl:element name="component-class" >
+ <xsl:value-of select="text()" />
+ </xsl:element>
+ </xsl:template>
+
+ <xsl:template match="//javaee:component/javaee:facet[1]" priority="1" >
+ <xsl:comment><xsl:value-of select="parent::node()/javaee:component-type/text()" /> facets</xsl:comment>
+ <xsl:element name="facet" >
+ <xsl:apply-templates/>
+ </xsl:element>
+ </xsl:template>
+
+ <xsl:template match="//javaee:facet" >
+ <xsl:element name="facet" >
+ <xsl:apply-templates/>
+ </xsl:element>
+ </xsl:template>
+
+ <xsl:template match="//javaee:facet-name" >
+ <xsl:element name="facet-name" >
+ <xsl:value-of select="text()" />
+ </xsl:element>
+ </xsl:template>
+
+ <xsl:template match="//javaee:facet-extension">
+ <!-- Make sure not empty -->
+ <xsl:if test="*">
+ <xsl:element name="facet-extension">
+ <!-- Check for possible children of the metadata -->
+ <xsl:if test="*[namespace-uri() != 'http://java.sun.com/xml/ns/javaee']">
+ <xsl:apply-templates select="fmd:facet-metadata"/>
+ <xsl:element name="facet-metadata">
+ <!-- Select metadata children -->
+ <xsl:apply-templates select="mfp:facet-metadata/*[
+ namespace-uri() != 'http://java.sun.com/xml/ns/javaee']" />
+ <!-- Add non-metadata children under the metadata -->
+ <xsl:apply-templates select="*[namespace-uri() != 'http://java.sun.com/xml/ns/javaee'
+ and namespace-uri() != 'http://java.sun.com/xml/ns/javaee/faces/design-time-metadata'
+ and (
+ namespace-uri() != 'http://myfaces.apache.org/maven-faces-plugin'
+ or name() != 'mfp:facet-metadata'
+ )]" />
+ </xsl:element>
+ </xsl:if>
+ </xsl:element>
+ </xsl:if>
+ </xsl:template>
+
+
+ <xsl:template match="//javaee:component/javaee:attribute[1]" priority="1" >
+ <xsl:comment><xsl:value-of select="parent::node()/javaee:component-type/text()" /> attributes</xsl:comment>
+ <xsl:element name="attribute" >
+ <xsl:apply-templates/>
+ </xsl:element>
+ </xsl:template>
+
+ <xsl:template match="//javaee:component/javaee:attribute[1]" priority="1" >
+ <xsl:comment><xsl:value-of select="parent::node()/javaee:component-type/text()" /> attributes</xsl:comment>
+ <xsl:element name="attribute" >
+ <xsl:apply-templates/>
+ </xsl:element>
+ </xsl:template>
+
+ <xsl:template match="//javaee:attribute" >
+ <xsl:element name="attribute" >
+ <xsl:apply-templates/>
+ </xsl:element>
+ </xsl:template>
+
+ <xsl:template match="//javaee:attribute-name" >
+ <xsl:element name="attribute-name" >
+ <xsl:value-of select="text()" />
+ </xsl:element>
+ </xsl:template>
+
+ <xsl:template match="//javaee:attribute-class" >
+ <xsl:element name="attribute-class" >
+ <xsl:value-of select="text()" />
+ </xsl:element>
+ </xsl:template>
+
+ <xsl:template match="//javaee:attribute-extension" >
+ <xsl:element name="attribute-extension" >
+ <xsl:apply-templates />
+ </xsl:element>
+ </xsl:template>
+
+ <xsl:template match="//javaee:component/javaee:property[1]" priority="1" >
+ <xsl:comment><xsl:value-of select="parent::node()/javaee:component-type/text()" /> properties</xsl:comment>
+ <xsl:element name="property" >
+ <xsl:apply-templates/>
+ </xsl:element>
+ </xsl:template>
+
+ <xsl:template match="//javaee:property[javaee:property-name/text() = 'binding']" priority='2' >
+ <!-- skip over properties named 'binding' -->
+ </xsl:template>
+
+ <xsl:template match="//javaee:property" >
+ <xsl:element name="property" >
+ <xsl:apply-templates/>
+ </xsl:element>
+ </xsl:template>
+
+ <xsl:template match="//javaee:property-name" >
+ <xsl:element name="property-name" >
+ <xsl:value-of select="text()" />
+ </xsl:element>
+ </xsl:template>
+
+ <xsl:template match="//javaee:property-class" >
+ <xsl:element name="property-class" >
+ <!-- eliminate generics for 1.4-based classes in JSF 1.1 -->
+ <xsl:choose>
+ <xsl:when test="contains(text(), '<')" >
+ <xsl:value-of select="substring-before(text(), '<')" />
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="text()" />
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:element>
+ </xsl:template>
+
+ <xsl:template match="//javaee:property-extension">
+ <!-- Make sure not empty -->
+ <xsl:if test="*">
+ <xsl:element name="property-extension">
+ <!-- Check for possible children of the metadata -->
+ <xsl:if test="*[namespace-uri() != 'http://java.sun.com/xml/ns/javaee']">
+ <xsl:apply-templates select="fmd:property-metadata"/>
+ <xsl:element name="property-metadata">
+ <!-- Select metadata children -->
+ <xsl:apply-templates select="mfp:property-metadata/*[
+ namespace-uri() != 'http://java.sun.com/xml/ns/javaee']" />
+ <!-- Add non-metadata children under the metadata -->
+ <xsl:apply-templates select="*[namespace-uri() != 'http://java.sun.com/xml/ns/javaee'
+ and namespace-uri() != 'http://java.sun.com/xml/ns/javaee/faces/design-time-metadata'
+ and (
+ namespace-uri() != 'http://myfaces.apache.org/maven-faces-plugin'
+ or name() != 'mfp:property-metadata'
+ )]" />
+ </xsl:element>
+ </xsl:if>
+ </xsl:element>
+ </xsl:if>
+ </xsl:template>
+
+ <!-- this templates grabs the component-family from an ancestor -->
+ <xsl:template match="//javaee:component-extension[mfp:component-supertype]" priority="1" >
+ <xsl:variable name="componentSupertype"
+ select="mfp:component-supertype/text()" />
+ <xsl:element name="component-extension" >
+ <xsl:element name="component-family">
+ <xsl:value-of select="key('component-type', $componentSupertype)/javaee:component-extension/mfp:component-family/text()" />
+ </xsl:element>
+ <xsl:apply-templates/>
+ </xsl:element>
+ </xsl:template>
+
+ <xsl:template match="//javaee:component-extension[mfp:component-family]" priority="2" >
+ <xsl:element name="component-extension" >
+ <xsl:apply-templates/>
+ </xsl:element>
+ </xsl:template>
+
+ <xsl:template match="//javaee:component-extension" >
+ <xsl:comment>Warning: this component has no component-family!</xsl:comment>
+ <xsl:element name="component-extension" >
+ <xsl:apply-templates/>
+ </xsl:element>
+ </xsl:template>
+
+ <xsl:template match="//mfp:component-metadata" >
+ <xsl:element name="component-metadata" >
+ <xsl:apply-templates/>
+ </xsl:element>
+ </xsl:template>
+
+ <xsl:template match="//javaee:converter" >
+ <xsl:element name="converter" >
+ <!-- xsl:apply-templates/ TODO use this instead -->
+ <xsl:apply-templates select="javaee:description"/>
+ <xsl:apply-templates select="javaee:display-name"/>
+ <xsl:apply-templates select="javaee:converter-id"/>
+ <xsl:apply-templates select="javaee:converter-for-class"/>
+ <xsl:apply-templates select="javaee:converter-class"/>
+ <xsl:apply-templates select="javaee:property"/>
+ </xsl:element>
+ </xsl:template>
+
+ <xsl:template match="//javaee:converter-id" >
+ <xsl:element name="converter-id" >
+ <xsl:value-of select="text()" />
+ </xsl:element>
+ </xsl:template>
+
+ <xsl:template match="//javaee:converter-for-class" >
+ <xsl:element name="converter-for-class" >
+ <xsl:value-of select="text()" />
+ </xsl:element>
+ </xsl:template>
+
+ <xsl:template match="//javaee:converter-class" >
+ <xsl:element name="converter-class" >
+ <xsl:value-of select="text()" />
+ </xsl:element>
+ </xsl:template>
+
+ <xsl:template match="//javaee:managed-bean" >
+ <xsl:element name="managed-bean" >
+ <xsl:apply-templates />
+ </xsl:element>
+ </xsl:template>
+
+ <xsl:template match="//javaee:managed-bean-name" >
+ <xsl:element name="managed-bean-name" >
+ <xsl:value-of select="text()" />
+ </xsl:element>
+ </xsl:template>
+
+ <xsl:template match="//javaee:managed-bean-class" >
+ <xsl:element name="managed-bean-class" >
+ <xsl:value-of select="text()" />
+ </xsl:element>
+ </xsl:template>
+
+ <xsl:template match="//javaee:managed-bean-scope" >
+ <xsl:element name="managed-bean-scope" >
+ <xsl:value-of select="text()" />
+ </xsl:element>
+ </xsl:template>
+
+ <xsl:template match="//javaee:managed-property" >
+ <xsl:element name="managed-property" >
+ <xsl:apply-templates />
+ </xsl:element>
+ </xsl:template>
+
+ <xsl:template match="//javaee:null-value" >
+ <xsl:element name="null-value" >
+ <xsl:value-of select="text()" />
+ </xsl:element>
+ </xsl:template>
+
+ <xsl:template match="//javaee:value" >
+ <xsl:element name="value" >
+ <xsl:value-of select="text()" />
+ </xsl:element>
+ </xsl:template>
+
+ <xsl:template match="//javaee:map-entries" >
+ <xsl:element name="map-entries" >
+ <xsl:apply-templates />
+ </xsl:element>
+ </xsl:template>
+
+ <xsl:template match="//javaee:map-entry" >
+ <xsl:element name="map-entry" >
+ <xsl:apply-templates />
+ </xsl:element>
+ </xsl:template>
+
+ <xsl:template match="//javaee:key" >
+ <xsl:element name="key" >
+ <xsl:value-of select="text()" />
+ </xsl:element>
+ </xsl:template>
+
+ <xsl:template match="//javaee:key-class" >
+ <xsl:element name="key-class" >
+ <xsl:value-of select="text()" />
+ </xsl:element>
+ </xsl:template>
+
+ <xsl:template match="//javaee:value-class" >
+ <xsl:element name="value-class" >
+ <xsl:value-of select="text()" />
+ </xsl:element>
+ </xsl:template>
+
+ <xsl:template match="//javaee:message-bundle" >
+ <xsl:element name="message-bundle" >
+ <xsl:value-of select="text()" />
+ </xsl:element>
+ </xsl:template>
+
+ <xsl:template match="//javaee:list-entries" >
+ <xsl:element name="list-entries" >
+ <xsl:apply-templates />
+ </xsl:element>
+ </xsl:template>
+
+ <xsl:template match="//javaee:navigation-rule" >
+ <xsl:element name="navigation-rule" >
+ <xsl:apply-templates />
+ </xsl:element>
+ </xsl:template>
+
+ <xsl:template match="//javaee:from-view-id" >
+ <xsl:element name="from-view-id" >
+ <xsl:value-of select="text()" />
+ </xsl:element>
+ </xsl:template>
+
+ <xsl:template match="//javaee:navigation-case" >
+ <xsl:element name="navigation-case" >
+ <xsl:apply-templates />
+ </xsl:element>
+ </xsl:template>
+
+ <xsl:template match="//javaee:from-action" >
+ <xsl:element name="from-action" >
+ <xsl:value-of select="text()" />
+ </xsl:element>
+ </xsl:template>
+
+ <xsl:template match="//javaee:from-outcome" >
+ <xsl:element name="from-outcome" >
+ <xsl:value-of select="text()" />
+ </xsl:element>
+ </xsl:template>
+
+ <xsl:template match="//javaee:to-view-id" >
+ <xsl:element name="to-view-id" >
+ <xsl:value-of select="text()" />
+ </xsl:element>
+ </xsl:template>
+
+ <xsl:template match="//javaee:redirect" >
+ <xsl:element name="redirect" />
+ </xsl:template>
+
+ <xsl:template match="//javaee:referenced-bean" >
+ <xsl:element name="referenced-bean" >
+ <xsl:apply-templates />
+ </xsl:element>
+ </xsl:template>
+
+ <xsl:template match="//javaee:referenced-bean-name" >
+ <xsl:element name="referenced-bean-name" >
+ <xsl:value-of select="text()" />
+ </xsl:element>
+ </xsl:template>
+
+ <xsl:template match="//javaee:referenced-bean-class" >
+ <xsl:element name="referenced-bean-class" >
+ <xsl:value-of select="text()" />
+ </xsl:element>
+ </xsl:template>
+
+ <xsl:template match="//javaee:render-kit" >
+ <xsl:element name="render-kit" >
+ <xsl:apply-templates />
+ </xsl:element>
+ </xsl:template>
+
+ <xsl:template match="//javaee:render-kit-id" >
+ <xsl:element name="render-kit-id" >
+ <xsl:value-of select="text()" />
+ </xsl:element>
+ </xsl:template>
+
+ <xsl:template match="//javaee:render-kit-class" >
+ <xsl:element name="render-kit-class" >
+ <xsl:value-of select="text()" />
+ </xsl:element>
+ </xsl:template>
+
+<!-- TODO: flatten component properties into renderer as attributes -->
+<!--
+ <xsl:template match="//javaee:renderer[javaee:renderer-extension/mfp:component-type]"
+ priority="1" >
+ <xsl:element name="renderer" >
+ <xsl:apply-templates select="javaee:component-family" />
+ <xsl:apply-templates select="javaee:renderer-type" />
+ <xsl:apply-templates select="javaee:renderer-class" />
+ <xsl:variable name="componentType" select="javaee:renderer-extension/mfp:component-type/text()" />
+ <xsl:for-each select="key('component-type', $componentType)/javaee:property" >
+ <xsl:element name="attribute" >
+ <xsl:apply-templates select="javaee:description" />
+ <xsl:apply-templates select="javaee:display-name" />
+ <xsl:apply-templates select="javaee:icon" />
+ <xsl:element name="attribute-name" >
+ <xsl:value-of select="javaee:property-name" />
+ </xsl:element>
+ <xsl:element name="attribute-class" >
+ <xsl:value-of select="javaee:property-class" />
+ </xsl:element>
+ <xsl:apply-templates select="javaee:default-value" />
+ <xsl:apply-templates select="javaee:suggested-value" />
+ <xsl:element name="attribute-extension" >
+ <xsl:apply-templates select="mfp:property-extension/*" />
+ </xsl:element>
+ </xsl:element>
+ </xsl:for-each>
+ <xsl:apply-templates select="javaee:attribute" />
+ <xsl:apply-templates select="javaee:renderer-extension" />
+ </xsl:element>
+ </xsl:template>
+-->
+
+ <xsl:template match="//javaee:renderer" >
+ <xsl:element name="renderer" >
+ <xsl:apply-templates />
+ </xsl:element>
+ </xsl:template>
+
+ <xsl:template match="//javaee:component-family" >
+ <xsl:element name="component-family" >
+ <xsl:value-of select="text()" />
+ </xsl:element>
+ </xsl:template>
+
+ <xsl:template match="//javaee:renderer-type" >
+ <xsl:element name="renderer-type" >
+ <xsl:value-of select="text()" />
+ </xsl:element>
+ </xsl:template>
+
+ <xsl:template match="//javaee:renderer-class" >
+ <xsl:element name="renderer-class" >
+ <xsl:value-of select="text()" />
+ </xsl:element>
+ </xsl:template>
+
+ <xsl:template match="//javaee:renderer-extension[mfp:unsupported-agents]" >
+ <xsl:element name="renderer-extension" >
+ <xsl:element name="renderer-metadata" >
+ <xsl:apply-templates/>
+ </xsl:element>
+ </xsl:element>
+ </xsl:template>
+
+ <xsl:template match="//javaee:lifecycle" >
+ <xsl:element name="lifecycle" >
+ <xsl:apply-templates select="javaee:phase-listener[contains(text(), $packageContains)]" />
+ </xsl:element>
+ </xsl:template>
+
+ <xsl:template match="//javaee:phase-listener" >
+ <xsl:element name="phase-listener" >
+ <xsl:value-of select="text()" />
+ </xsl:element>
+ </xsl:template>
+
+ <xsl:template match="//javaee:default-locale" >
+ <xsl:element name="default-locale" >
+ <xsl:value-of select="text()" />
+ </xsl:element>
+ </xsl:template>
+
+ <xsl:template match="//javaee:supported-locale" >
+ <xsl:element name="supported-locale" >
+ <xsl:value-of select="text()" />
+ </xsl:element>
+ </xsl:template>
+
+ <xsl:template match="//javaee:validator" >
+ <xsl:element name="validator" >
+ <!-- xsl:apply-templates/ TODO use this instead -->
+ <xsl:apply-templates select="javaee:display-name"/>
+ <xsl:apply-templates select="javaee:validator-id"/>
+ <xsl:apply-templates select="javaee:validator-class"/>
+ <xsl:apply-templates select="javaee:property"/>
+ </xsl:element>
+ </xsl:template>
+
+ <xsl:template match="//javaee:validator-id" >
+ <xsl:element name="validator-id" >
+ <xsl:value-of select="text()" />
+ </xsl:element>
+ </xsl:template>
+
+ <xsl:template match="//javaee:validator-class" >
+ <xsl:element name="validator-class" >
+ <xsl:value-of select="text()" />
+ </xsl:element>
+ </xsl:template>
+
+ <xsl:template match="//javaee:description" >
+ <xsl:element name="description" >
+ <xsl:apply-templates select="@*" />
+ <xsl:value-of select="text()" />
+ </xsl:element>
+ </xsl:template>
+
+ <xsl:template
+ match="//javaee:property[javaee:property-extension/mfp:long-description]/javaee:description"
+ priority="1">
+ <xsl:element name="description" >
+ <xsl:apply-templates select="../javaee:property-extension/mfp:long-description/@*" />
+ <xsl:value-of select="../javaee:property-extension/mfp:long-description/text()" />
+ </xsl:element>
+ </xsl:template>
+
+ <xsl:template match="//javaee:description/@xml:lang" >
+ <xsl:attribute name="xml:lang" ><xsl:value-of select="@xml:lang" /></xsl:attribute>
+ </xsl:template>
+
+ <xsl:template match="//javaee:display-name" >
+ <xsl:element name="display-name" >
+ <xsl:value-of select="text()" />
+ </xsl:element>
+ </xsl:template>
+
+ <xsl:template match="//javaee:icon" >
+ <xsl:element name="icon" >
+ <xsl:apply-templates/>
+ </xsl:element>
+ </xsl:template>
+
+ <xsl:template match="//javaee:small-icon" >
+ <xsl:element name="small-icon" >
+ <xsl:value-of select="text()" />
+ </xsl:element>
+ </xsl:template>
+
+ <xsl:template match="//javaee:large-icon" >
+ <xsl:element name="large-icon" >
+ <xsl:value-of select="text()" />
+ </xsl:element>
+ </xsl:template>
+
+ <xsl:template match="//javaee:default-value" >
+ <xsl:element name="default-value" >
+ <xsl:value-of select="text()" />
+ </xsl:element>
+ </xsl:template>
+
+ <xsl:template match="//javaee:suggested-value" >
+ <xsl:element name="suggested-value" >
+ <xsl:value-of select="text()" />
+ </xsl:element>
+ </xsl:template>
+
+ <xsl:template match="//mfp:property-values">
+ <!-- Rename this element -->
+ <xsl:element name="attribute-values">
+ <xsl:value-of select="text()" />
+ </xsl:element>
+ </xsl:template>
+
+ <!-- Handle metadata we do not know about by letting it through. Currently,
+ just for property-extension and component-metadata, but should be global.
+ See JIRA issues ADFFACES-358, ADFFACES-361 and ADFFACES-472 -->
+ <xsl:template match="javaee:property-extension/*[
+ 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>
+ <xsl:apply-templates select="@*|node()"/>
+ <xsl:value-of select="text()"/>
+ </xsl:copy>
+ </xsl:template>
+
+ <xsl:template match="mfp:component-metadata/*[
+ namespace-uri() != 'http://java.sun.com/xml/ns/javaee'
+ and namespace-uri() !='http://myfaces.apache.org/maven-faces-plugin']">
+ <xsl:copy>
+ <xsl:apply-templates select="@*|node()"/>
+ <xsl:value-of select="text()"/>
+ </xsl:copy>
+ </xsl:template>
+
+ <xsl:template match="//*[
+ namespace-uri() = 'http://myfaces.apache.org/maven-faces-plugin']"
+ priority="-1">
+ <xsl:element name="{local-name()}" >
+ <xsl:apply-templates select="@*|node()"/>
+ <xsl:value-of select="text()"/>
+ </xsl:element>
+ </xsl:template>
+
+ <!-- Rule for the jsr-276 (top level) component metadata, just copy the whole thing -->
+ <xsl:template match="//fmd:component-metadata">
+ <xsl:element name="fmd:component-metadata">
+ <xsl:copy-of select="*"/>
+ </xsl:element>
+ </xsl:template>
+
+ <!-- Rule for the jsr-276 (top level) property metadata, just copy the whole thing -->
+ <xsl:template match="//fmd:property-metadata">
+ <xsl:element name="fmd:property-metadata">
+ <xsl:copy-of select="*"/>
+ </xsl:element>
+ </xsl:template>
+
+ <!-- Rule for the jsr-276 (top level) facet metadata, just copy the whole thing -->
+ <xsl:template match="//fmd:facet-metadata">
+ <xsl:element name="fmd:facet-metadata">
+ <xsl:copy-of select="*"/>
+ </xsl:element>
+ </xsl:template>
+
+ <xsl:template match="//javaee:faces-config-extension">
+ <xsl:apply-templates select="fmd:global-metadata"/>
+ </xsl:template>
+
+ <!-- Rule for the jsr-276 (top level) global metadata extension -->
+ <xsl:template match="//fmd:global-metadata">
+ <xsl:element name="faces-config-extension">
+ <xsl:element name="fmd:global-metadata">
+ <xsl:apply-templates select="fmd:contract-definitions"/>
+ <xsl:apply-templates select="fmd:component-category-definitions"/>
+ <xsl:apply-templates select="fmd:property-category-definitions"/>
+ <xsl:apply-templates select="fmd:faces-taglib-definitions"/>
+ </xsl:element>
+ </xsl:element>
+ </xsl:template>
+
+ <xsl:template match="//fmd:contract-definitions">
+ <xsl:element name="fmd:contract-definitions">
+ <xsl:copy-of select="*"/>
+ </xsl:element>
+ </xsl:template>
+
+ <xsl:template match="//fmd:component-category-definitions">
+ <xsl:element name="fmd:component-category-definitions">
+ <xsl:copy-of select="*"/>
+ </xsl:element>
+ </xsl:template>
+
+ <xsl:template match="//fmd:property-category-definitions">
+ <xsl:element name="fmd:property-category-definitions">
+ <xsl:copy-of select="*"/>
+ </xsl:element>
+ </xsl:template>
+
+ <xsl:template match="//fmd:faces-taglib-definitions">
+ <xsl:element name="fmd:faces-taglib-definitions">
+ <xsl:apply-templates select="fmd:faces-taglib"/>
+ </xsl:element>
+ </xsl:template>
+
+ <xsl:template match="//fmd:faces-taglib">
+ <xsl:element name="fmd:faces-taglib">
+ <xsl:copy-of select="*"/>
+ <xsl:variable name="tagPrefix" select="fmd:short-name/text()"/>
+ <xsl:apply-templates select="*"/>
+ <xsl:for-each select="//javaee:validator">
+ <xsl:if test="starts-with(javaee:validator-extension/mfp:tag-name/text(), $tagPrefix)" >
+ <xsl:element name="fmd:tag">
+ <xsl:element name="fmd:name">
+ <xsl:value-of select="substring-after(javaee:validator-extension/mfp:tag-name/text(), ':')"/>
+ </xsl:element>
+ <xsl:element name="fmd:validator-id">
+ <xsl:value-of select="javaee:validator-id/text()"/>
+ </xsl:element>
+ </xsl:element>
+ </xsl:if>
+ </xsl:for-each>
+ <xsl:for-each select="//javaee:converter" >
+ <xsl:if test="starts-with(javaee:converter-extension/mfp:tag-name/text(), $tagPrefix)" >
+ <xsl:element name="fmd:tag">
+ <xsl:element name="fmd:name">
+ <xsl:value-of select="substring-after(javaee:converter-extension/mfp:tag-name/text(), ':')"/>
+ </xsl:element>
+ <xsl:element name="fmd:converter-id">
+ <xsl:value-of select="javaee:converter-id/text()"/>
+ </xsl:element>
+ </xsl:element>
+ </xsl:if>
+ </xsl:for-each>
+ <xsl:for-each select="//javaee:component" >
+ <xsl:if test="starts-with(javaee:component-extension/mfp:tag-name/text(), $tagPrefix)" >
+ <xsl:element name="fmd:tag">
+ <xsl:element name="fmd:name">
+ <xsl:value-of select="substring-after(javaee:component-extension/mfp:tag-name/text(), ':')"/>
+ </xsl:element>
+ <xsl:element name="fmd:component-type">
+ <xsl:value-of select="javaee:component-type/text()"/>
+ </xsl:element>
+ <xsl:element name="fmd:renderer-type">
+ <xsl:value-of select="javaee:component-extension/mfp:renderer-type/text()"/>
+ </xsl:element>
+ </xsl:element>
+ </xsl:if>
+ </xsl:for-each>
+ </xsl:element>
+ </xsl:template>
+
+ <!-- Blacklisted mfp: that should not be copied over into the faces-config.xml: -->
+ <xsl:template match="//mfp:alternate-class" />
+ <xsl:template match="//mfp:author" />
+ <xsl:template match="//mfp:component-metadata/mfp:group" />
+ <xsl:template match="//mfp:component-superclass" />
+ <xsl:template match="//mfp:component-supertype" />
+ <xsl:template match="//mfp:event" />
+ <xsl:template match="//mfp:example" />
+ <xsl:template match="//mfp:implementation-type" />
+ <xsl:template match="//mfp:java-constructor" />
+ <xsl:template match="//mfp:javadoc-tags" />
+ <xsl:template match="//mfp:javascript-class" />
+ <xsl:template match="//mfp:jsp-property-name" />
+ <xsl:template match="//mfp:long-description" />
+ <xsl:template match="//mfp:method-binding-signature" />
+ <xsl:template match="//mfp:screenshot" />
+ <xsl:template match="//mfp:short-description" />
+ <xsl:template match="//mfp:state-holder" />
+ <xsl:template match="//mfp:tag-attribute-excluded" />
+ <xsl:template match="//mfp:tag-class" />
+ <xsl:template match="//mfp:tag-class-modifier" />
+ <xsl:template match="//mfp:tag-name" />
+ <xsl:template match="//mfp:uix2-local-name" />
+ <xsl:template match="//mfp:unsupported-render-kit" />
+ <xsl:template match="//mfp:unsupported-render-kits" />
+ <xsl:template match="//mfp:use-max-time" />
+ <xsl:template match="//mfp:warn-if-not-specified" />
+
+</xsl:stylesheet>