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 2008/01/17 19:21:53 UTC
svn commit: r612915 - in
/myfaces/myfaces-build-tools/trunk/maven2-plugins/myfaces-faces-plugin/src/main/resources/org/apache/myfaces/buildtools/maven2/plugin/faces/resources:
transform.xsl transform12.xsl
Author: matzew
Date: Thu Jan 17 10:21:51 2008
New Revision: 612915
URL: http://svn.apache.org/viewvc?rev=612915&view=rev
Log:
putting TRINIDAD-895 to myfaces-build-tools
Modified:
myfaces/myfaces-build-tools/trunk/maven2-plugins/myfaces-faces-plugin/src/main/resources/org/apache/myfaces/buildtools/maven2/plugin/faces/resources/transform.xsl
myfaces/myfaces-build-tools/trunk/maven2-plugins/myfaces-faces-plugin/src/main/resources/org/apache/myfaces/buildtools/maven2/plugin/faces/resources/transform12.xsl
Modified: myfaces/myfaces-build-tools/trunk/maven2-plugins/myfaces-faces-plugin/src/main/resources/org/apache/myfaces/buildtools/maven2/plugin/faces/resources/transform.xsl
URL: http://svn.apache.org/viewvc/myfaces/myfaces-build-tools/trunk/maven2-plugins/myfaces-faces-plugin/src/main/resources/org/apache/myfaces/buildtools/maven2/plugin/faces/resources/transform.xsl?rev=612915&r1=612914&r2=612915&view=diff
==============================================================================
--- myfaces/myfaces-build-tools/trunk/maven2-plugins/myfaces-faces-plugin/src/main/resources/org/apache/myfaces/buildtools/maven2/plugin/faces/resources/transform.xsl (original)
+++ myfaces/myfaces-build-tools/trunk/maven2-plugins/myfaces-faces-plugin/src/main/resources/org/apache/myfaces/buildtools/maven2/plugin/faces/resources/transform.xsl Thu Jan 17 10:21:51 2008
@@ -456,6 +456,7 @@
<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>
@@ -732,6 +733,7 @@
<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>
Modified: myfaces/myfaces-build-tools/trunk/maven2-plugins/myfaces-faces-plugin/src/main/resources/org/apache/myfaces/buildtools/maven2/plugin/faces/resources/transform12.xsl
URL: http://svn.apache.org/viewvc/myfaces/myfaces-build-tools/trunk/maven2-plugins/myfaces-faces-plugin/src/main/resources/org/apache/myfaces/buildtools/maven2/plugin/faces/resources/transform12.xsl?rev=612915&r1=612914&r2=612915&view=diff
==============================================================================
--- myfaces/myfaces-build-tools/trunk/maven2-plugins/myfaces-faces-plugin/src/main/resources/org/apache/myfaces/buildtools/maven2/plugin/faces/resources/transform12.xsl (original)
+++ myfaces/myfaces-build-tools/trunk/maven2-plugins/myfaces-faces-plugin/src/main/resources/org/apache/myfaces/buildtools/maven2/plugin/faces/resources/transform12.xsl Thu Jan 17 10:21:51 2008
@@ -1,897 +1,899 @@
-<?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"
- exclude-result-prefixes="xsl xs javaee mfp"
- 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()" />
-
- <xsl:template match="/javaee:faces-config" >
- <xsl:element name="faces-config"
- namespace="http://java.sun.com/xml/ns/javaee" >
- <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: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: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)" />
- </xsl:call-template>
- </xsl:if>
- <xsl:apply-templates select="$component/javaee:property" />
- </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: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)" />
- </xsl:call-template>
- </xsl:if>
- <xsl:apply-templates select="$component/javaee:attribute" />
- </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: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)" />
- </xsl:call-template>
- </xsl:if>
- <xsl:apply-templates select="$component/javaee:facet" />
- </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[mfp:facet-metadata|mfp:preferred-children|mfp:preferred|mfp:unsupported-agents|mfp:deprecated]" >
- <xsl:element name="facet-extension" >
- <xsl:element name="facet-metadata" >
- <xsl:apply-templates/>
- </xsl:element>
- </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: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[mfp:property-values|mfp:group|mfp:translatable|mfp:property-editor|mfp:expert|mfp:unsupported-agents|*[namespace-uri() != 'http://java.sun.com/xml/ns/javaee' and namespace-uri() !='http://myfaces.apache.org/maven-faces-plugin']]" >
- <xsl:element name="property-extension" >
- <xsl:element name="property-metadata" >
- <xsl:apply-templates/>
- </xsl:element>
- </xsl:element>
- </xsl:template>
-
- <xsl:template match="//javaee:property-extension[mfp:property-metadata]" priority="1" >
- <xsl:element name="property-extension" >
- <!-- do not copy the property values, but instead let them be picked up in the property-metadata element -->
- <xsl:apply-templates select="*[name() != 'mfp:property-values']" />
- </xsl:element>
- </xsl:template>
-
- <xsl:template match="//mfp:property-metadata" >
- <xsl:element name="property-metadata" >
- <xsl:apply-templates/>
- <!-- pick up any property-values elements from the parent node -->
- <xsl:apply-templates select="../mfp:property-values" />
- </xsl:element>
- </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: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: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:component-family" >
- <xsl:element name="component-family" >
- <xsl:value-of select="text()" />
- </xsl:element>
- </xsl:template>
-
- <xsl:template match="//mfp:favorite-property" >
- <xsl:element name="favorite-property" >
- <xsl:value-of select="text()" />
- </xsl:element>
- </xsl:template>
-
- <xsl:template match="//mfp:renderer-type" >
- <xsl:element name="renderer-type" >
- <xsl:value-of select="text()" />
- </xsl:element>
- </xsl:template>
-
- <xsl:template match="//mfp:property-values" >
- <xsl:element name="attribute-values" >
- <xsl:value-of select="text()" />
- </xsl:element>
- </xsl:template>
-
- <xsl:template match="//mfp:unsupported-agents" >
- <xsl:element name="unsupported-agents" >
- <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']">
- <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="//mfp:component-metadata/mfp:group" >
-<!-- Disable component groups for now
- <xsl:element name="group" >
- <xsl:value-of select="text()" />
- </xsl:element>
--->
- </xsl:template>
-
- <xsl:template match="//mfp:property-metadata/mfp:group" >
- <xsl:element name="group" >
- <xsl:value-of select="text()" />
- </xsl:element>
- </xsl:template>
-
- <xsl:template match="//mfp:property-metadata/mfp:translatable" >
- <xsl:element name="translatable" >
- <xsl:value-of select="text()" />
- </xsl:element>
- </xsl:template>
- <xsl:template match="//mfp:accepts-child-components" >
- <xsl:element name="accepts-child-components" >
- <xsl:value-of select="text()" />
- </xsl:element>
- </xsl:template>
-
-
- <xsl:template match="//mfp:property-editor" >
- <xsl:element name="property-editor" >
- <xsl:value-of select="text()" />
- </xsl:element>
- </xsl:template>
-
- <xsl:template match="//mfp:expert" >
- <xsl:element name="expert" >
- <xsl:value-of select="text()" />
- </xsl:element>
- </xsl:template>
-
- <xsl:template match="//mfp:preferred-children" >
- <xsl:element name="preferred-children" >
- <xsl:value-of select="text()" />
- </xsl:element>
- </xsl:template>
-
- <xsl:template match="//mfp:preferred" >
- <xsl:element name="preferred" >
- <xsl:value-of select="text()" />
- </xsl:element>
- </xsl:template>
-
- <xsl:template match="//mfp:deprecated" >
- <xsl:element name="deprecated" >
- <xsl:value-of select="text()" />
- </xsl:element>
- </xsl:template>
-
- <xsl:template match="//mfp:initial-value" >
- <xsl:element name="initial-value" >
- <xsl:value-of select="text()" />
- </xsl:element>
- </xsl:template>
-
-</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"
+ exclude-result-prefixes="xsl xs javaee mfp"
+ 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()" />
+
+ <xsl:template match="/javaee:faces-config" >
+ <xsl:element name="faces-config"
+ namespace="http://java.sun.com/xml/ns/javaee" >
+ <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: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: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)" />
+ </xsl:call-template>
+ </xsl:if>
+ <xsl:apply-templates select="$component/javaee:property" />
+ </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: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)" />
+ </xsl:call-template>
+ </xsl:if>
+ <xsl:apply-templates select="$component/javaee:attribute" />
+ </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: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)" />
+ </xsl:call-template>
+ </xsl:if>
+ <xsl:apply-templates select="$component/javaee:facet" />
+ </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[mfp:facet-metadata|mfp:preferred-children|mfp:preferred|mfp:unsupported-agents|mfp:deprecated]" >
+ <xsl:element name="facet-extension" >
+ <xsl:element name="facet-metadata" >
+ <xsl:apply-templates/>
+ </xsl:element>
+ </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: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[mfp:property-values|mfp:group|mfp:translatable|mfp:property-editor|mfp:expert|mfp:unsupported-agents|*[namespace-uri() != 'http://java.sun.com/xml/ns/javaee' and namespace-uri() !='http://myfaces.apache.org/maven-faces-plugin']]" >
+ <xsl:element name="property-extension" >
+ <xsl:element name="property-metadata" >
+ <xsl:apply-templates/>
+ </xsl:element>
+ </xsl:element>
+ </xsl:template>
+
+ <xsl:template match="//javaee:property-extension[mfp:property-metadata]" priority="1" >
+ <xsl:element name="property-extension" >
+ <!-- do not copy the property values, but instead let them be picked up in the property-metadata element -->
+ <xsl:apply-templates select="*[name() != 'mfp:property-values']" />
+ </xsl:element>
+ </xsl:template>
+
+ <xsl:template match="//mfp:property-metadata" >
+ <xsl:element name="property-metadata" >
+ <xsl:apply-templates/>
+ <!-- pick up any property-values elements from the parent node -->
+ <xsl:apply-templates select="../mfp:property-values" />
+ </xsl:element>
+ </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:component-family" >
+ <xsl:element name="component-family" >
+ <xsl:value-of select="text()" />
+ </xsl:element>
+ </xsl:template>
+
+ <xsl:template match="//mfp:favorite-property" >
+ <xsl:element name="favorite-property" >
+ <xsl:value-of select="text()" />
+ </xsl:element>
+ </xsl:template>
+
+ <xsl:template match="//mfp:renderer-type" >
+ <xsl:element name="renderer-type" >
+ <xsl:value-of select="text()" />
+ </xsl:element>
+ </xsl:template>
+
+ <xsl:template match="//mfp:property-values" >
+ <xsl:element name="attribute-values" >
+ <xsl:value-of select="text()" />
+ </xsl:element>
+ </xsl:template>
+
+ <xsl:template match="//mfp:unsupported-agents" >
+ <xsl:element name="unsupported-agents" >
+ <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']">
+ <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="//mfp:component-metadata/mfp:group" >
+<!-- Disable component groups for now
+ <xsl:element name="group" >
+ <xsl:value-of select="text()" />
+ </xsl:element>
+-->
+ </xsl:template>
+
+ <xsl:template match="//mfp:property-metadata/mfp:group" >
+ <xsl:element name="group" >
+ <xsl:value-of select="text()" />
+ </xsl:element>
+ </xsl:template>
+
+ <xsl:template match="//mfp:property-metadata/mfp:translatable" >
+ <xsl:element name="translatable" >
+ <xsl:value-of select="text()" />
+ </xsl:element>
+ </xsl:template>
+ <xsl:template match="//mfp:accepts-child-components" >
+ <xsl:element name="accepts-child-components" >
+ <xsl:value-of select="text()" />
+ </xsl:element>
+ </xsl:template>
+
+
+ <xsl:template match="//mfp:property-editor" >
+ <xsl:element name="property-editor" >
+ <xsl:value-of select="text()" />
+ </xsl:element>
+ </xsl:template>
+
+ <xsl:template match="//mfp:expert" >
+ <xsl:element name="expert" >
+ <xsl:value-of select="text()" />
+ </xsl:element>
+ </xsl:template>
+
+ <xsl:template match="//mfp:preferred-children" >
+ <xsl:element name="preferred-children" >
+ <xsl:value-of select="text()" />
+ </xsl:element>
+ </xsl:template>
+
+ <xsl:template match="//mfp:preferred" >
+ <xsl:element name="preferred" >
+ <xsl:value-of select="text()" />
+ </xsl:element>
+ </xsl:template>
+
+ <xsl:template match="//mfp:deprecated" >
+ <xsl:element name="deprecated" >
+ <xsl:value-of select="text()" />
+ </xsl:element>
+ </xsl:template>
+
+ <xsl:template match="//mfp:initial-value" >
+ <xsl:element name="initial-value" >
+ <xsl:value-of select="text()" />
+ </xsl:element>
+ </xsl:template>
+
+</xsl:stylesheet>