myfaces-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From lu4...@apache.org
Subject svn commit: r1098570 - in /myfaces/core/branches/2.1.x/impl: pom.xml src/main/resources/META-INF/myfaces_facelet_core20_xsd.vm src/main/resources/META-INF/myfaces_facelet_html20_xsd.vm
Date Mon, 02 May 2011 13:56:34 GMT
Author: lu4242
Date: Mon May  2 13:56:34 2011
New Revision: 1098570

URL: http://svn.apache.org/viewvc?rev=1098570&view=rev
Log:
MYFACES-3122 Create xsd schemas for .view.xml pages

Added:
    myfaces/core/branches/2.1.x/impl/src/main/resources/META-INF/myfaces_facelet_core20_xsd.vm
    myfaces/core/branches/2.1.x/impl/src/main/resources/META-INF/myfaces_facelet_html20_xsd.vm
Modified:
    myfaces/core/branches/2.1.x/impl/pom.xml

Modified: myfaces/core/branches/2.1.x/impl/pom.xml
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2.1.x/impl/pom.xml?rev=1098570&r1=1098569&r2=1098570&view=diff
==============================================================================
--- myfaces/core/branches/2.1.x/impl/pom.xml (original)
+++ myfaces/core/branches/2.1.x/impl/pom.xml Mon May  2 13:56:34 2011
@@ -266,6 +266,116 @@
                             <goal>make-config</goal>
                         </goals>
                     </execution>
+                    
+                    <!-- START XSD GENERATION -->
+                    
+                    <execution>
+                        <id>make_core_facelet_xsd</id>
+                        <configuration>
+                            <xmlFile>META-INF/schema/myfaces_facelets_core_2_1.xsd</xmlFile>
+                            <templateFile>myfaces_facelet_core20_xsd.vm</templateFile>
+                            <modelIds>
+                                <modelId>myfaces-api</modelId>
+                                <modelId>myfaces-impl</modelId>
+                            </modelIds>
+                            <params>
+                                <shortname>f</shortname>
+                                <uri>http://java.sun.com/jsf/core</uri>
+                                <displayname>JSF Core Facelets Tag Library.</displayname>
+                                <tlibversion>2.1</tlibversion>
+                                <description>This tag library implements the standard
JSF core tags for Facelets.</description>
+                            </params>
+                        </configuration>
+                        <goals>
+                            <goal>make-config</goal>
+                        </goals>
+                    </execution>
+                    
+                    <execution>
+                        <id>make_html_facelet_xsd</id>
+                        <configuration>
+                            <xmlFile>META-INF/schema/myfaces_facelets_html_2_1.xsd</xmlFile>
+                            <templateFile>myfaces_facelet_html20_xsd.vm</templateFile>
+                            <modelIds>
+                                <modelId>myfaces-api</modelId>
+                                <modelId>myfaces-impl</modelId>
+                            </modelIds>
+                            <params>
+                               <shortname>h</shortname>
+                               <uri>http://java.sun.com/jsf/html</uri>
+                               <displayname>JSF HTML Facelets Tag Library.</displayname>
+                               <description>This tag library implements the standard
JSF HTML tags for Facelets.</description>
+                            </params>
+                        </configuration>
+                        <goals>
+                            <goal>make-config</goal>
+                        </goals>
+                    </execution>
+
+                    <execution>
+                        <id>make_c_facelet_xsd</id>
+                        <configuration>
+                            <xmlFile>META-INF/schema/myfaces_facelets_c_2_1.xsd</xmlFile>
+                            <templateFile>myfaces_facelet_html20_xsd.vm</templateFile>
+                            <modelIds>
+                                <modelId>myfaces-api</modelId>
+                                <modelId>myfaces-impl</modelId>
+                            </modelIds>
+                            <params>
+                               <shortname>c</shortname>
+                               <uri>http://java.sun.com/jsp/jstl/core</uri>
+                               <displayname>JSTL core Facelets Tag Library.</displayname>
+                               <description>JSTL core Facelets Tag Library.</description>
+                            </params>
+                        </configuration>
+                        <goals>
+                            <goal>make-config</goal>
+                        </goals>
+                    </execution>
+                    
+                    <execution>
+                        <id>make_ui_facelet_xsd</id>
+                        <configuration>
+                            <xmlFile>META-INF/schema/myfaces_facelets_ui_2_1.xsd</xmlFile>
+                            <templateFile>myfaces_facelet_html20_xsd.vm</templateFile>
+                            <modelIds>
+                                <modelId>myfaces-api</modelId>
+                                <modelId>myfaces-impl</modelId>
+                            </modelIds>
+                            <params>
+                               <shortname>ui</shortname>
+                               <uri>http://java.sun.com/jsf/facelets</uri>
+                               <displayname>JSF UI Facelets Tag Library.</displayname>
+                               <description>JSF UI Facelets Tag Library.</description>
+                            </params>
+                        </configuration>
+                        <goals>
+                            <goal>make-config</goal>
+                        </goals>
+                    </execution>
+                    
+                    <execution>
+                        <id>make_composite_facelet_xsd</id>
+                        <configuration>
+                            <xmlFile>META-INF/schema/myfaces_facelets_composite_2_1.xsd</xmlFile>
+                            <templateFile>myfaces_facelet_html20_xsd.vm</templateFile>
+                            <modelIds>
+                                <modelId>myfaces-api</modelId>
+                                <modelId>myfaces-impl</modelId>
+                            </modelIds>
+                            <params>
+                               <shortname>composite</shortname>
+                               <uri>http://java.sun.com/jsf/composite</uri>
+                               <displayname>JSF Composite Facelets Tag Library.</displayname>
+                               <description>JSF Composite Facelets Tag Library.</description>
+                            </params>
+                        </configuration>
+                        <goals>
+                            <goal>make-config</goal>
+                        </goals>
+                    </execution>
+
+                    <!-- END XSD GENERATION -->
                 </executions>
             </plugin>
 

Added: myfaces/core/branches/2.1.x/impl/src/main/resources/META-INF/myfaces_facelet_core20_xsd.vm
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2.1.x/impl/src/main/resources/META-INF/myfaces_facelet_core20_xsd.vm?rev=1098570&view=auto
==============================================================================
--- myfaces/core/branches/2.1.x/impl/src/main/resources/META-INF/myfaces_facelet_core20_xsd.vm
(added)
+++ myfaces/core/branches/2.1.x/impl/src/main/resources/META-INF/myfaces_facelet_core20_xsd.vm
Mon May  2 13:56:34 2011
@@ -0,0 +1,346 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * 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.
+-->
+<!--
+    ** WARNING: This file was automatically generated. Do not edit it directly,
+    **          or you will lose your changes.
+-->
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
+           version="1.0"
+           xml:lang="en"
+           elementFormDefault="qualified"
+           targetNamespace="$uri">
+
+$baseContent
+
+    <xs:annotation>
+        <xs:documentation>$description</xs:documentation>
+        <xs:documentation>display-name: $displayname</xs:documentation>
+#if($tlibversion)        
+        <xs:documentation>tlib-version: $tlibversion</xs:documentation>
+#end
+        <xs:documentation>short-name: $shortname</xs:documentation>
+    </xs:annotation>
+
+##    <!-- Component Tags -->
+#set ($componentList = ${model.getComponents()})
+#foreach( $component in $componentList )
+#if ($modelIds.contains($component.modelId) 
+    && ($component.name))
+#if ($utils.getTagPrefix($component.name) == $shortname)
+## Check if we don't have a facelet tag taking precedence over this description
+#if (! ${model.findFaceletTagByName($component.name)})
+    <xs:element name="$utils.getTagName($component.name)">
+        <xs:annotation>
+          <xs:documentation><![CDATA[$component.longDescription]]></xs:documentation>
+#if ($component.tagClass)          
+          <xs:documentation>tag-class: $component.tagClass</xs:documentation>
+#end
+#if ($component.bodyContent)
+          <xs:documentation>body-content: $component.bodyContent</xs:documentation>
+#else
+          <xs:documentation>body-content: JSP</xs:documentation>
+#end
+        </xs:annotation>
+
+        <xs:complexType mixed="true">
+          <xs:choice minOccurs="0" maxOccurs="unbounded">
+            <xs:any processContents="lax"/>
+          </xs:choice>     
+#set ($propertyList = ${component.propertyList})
+#foreach( $property in $propertyList )
+#if (!$property.isTagExcluded())
+          <xs:attribute name="$property.jspName" #if ($property.isRequired())use="required"#end>
+            <xs:annotation>
+#if ($property.longDescription)
+              <xs:documentation><![CDATA[$property.longDescription]]></xs:documentation>
+#else
+              <xs:documentation><![CDATA[]]></xs:documentation>
+#end
+#if ($property.isMethodExpression() || $property.isMethodBinding())
+#if ($property.getMethodBindingSignature())
+#set ($sig = $property.getMethodBindingSignature())
+              <xs:documentation><![CDATA[Deferred Method Signature: $sig.returnType
myMethod( $sig.parameterTypesAsString )]]></xs:documentation>
+#else
+## This is a very special case. If a property is MethodBinding or MethodExpression
+## this should have a signature. If not, for allow multiple MethodBinding
+## simulate a ValueExpression and write a custom code like in 
+## org.apache.myfaces.custom.suggestajax.AbstractSuggestAjaxTag
+              <xs:documentation><![CDATA[]]></xs:documentation>
+#end
+#elseif ($property.isLiteralOnly())
+              <xs:documentation><![CDATA[rtexprvalue: false]]></xs:documentation>
+#else
+#if ( "$!property.isRtexprvalue()" == "")
+#set ($type = $utils.getClassFromFullClass($property.className))
+#if($property.deferredValueType)
+              <xs:documentation><![CDATA[Deferred Value Type: $property.deferredValueType]]></xs:documentation>
+#elseif ($type == "String")
+              <xs:documentation><![CDATA[Deferred Value Type: java.lang.String]]></xs:documentation>
+#elseif (($property.className == "java.util.Locale") && ($component.name == "f:view"))
+              <xs:documentation><![CDATA[Deferred Value Type: java.lang.Object]]></xs:documentation>

+#else
+              <xs:documentation><![CDATA[Deferred Value Type: $property.className]]></xs:documentation>
+#end
+#else
+              <xs:documentation><![CDATA[rtexprvalue: $property.isRtexprvalue().booleanValue()]]></xs:documentation>
+#end
+#end
+            </xs:annotation>
+          </xs:attribute>
+#end
+#end
+        </xs:complexType>
+    </xs:element>
+#end
+#end
+#end
+#end
+##   <!-- Converter tags -->
+#set ($componentList = ${model.getConverters()})
+#foreach( $component in $componentList )
+#if ($modelIds.contains($component.modelId) 
+    && ($component.name))
+#if ($utils.getTagPrefix($component.name) == $shortname)
+## Check if we don't have a facelet tag taking precedence over this description
+#if (! ${model.findFaceletTagByName($component.name)}) 
+    <xs:element name="$utils.getTagName($component.name)">
+        <xs:annotation>   
+          <xs:documentation><![CDATA[$component.longDescription]]></xs:documentation>
+          <xs:documentation>tag-class: $component.tagClass</xs:documentation>
+#if ($component.bodyContent)
+          <xs:documentation>body-content: $component.bodyContent</xs:documentation>
+#else
+          <xs:documentation>body-content: JSP</xs:documentation>
+#end
+        </xs:annotation>
+     
+        <xs:complexType mixed="true">
+          <xs:choice minOccurs="0" maxOccurs="unbounded">
+            <xs:any processContents="lax"/>
+          </xs:choice>
+#set ($propertyList = ${component.propertyList})
+#foreach( $property in $propertyList )
+#if (!$property.isTagExcluded())
+          <xs:attribute name="$property.name" #if ($property.isRequired())use="required"#end>
+            <xs:annotation>
+#if ($property.longDescription)
+              <xs:documentation><![CDATA[$property.longDescription]]></xs:documentation>
+#else
+              <xs:documentation><![CDATA[]]></xs:documentation>
+#end
+#if ($property.isLiteralOnly())
+              <xs:documentation><![CDATA[rtexprvalue: false]]></xs:documentation>
+#else
+#set ($type = $utils.getClassFromFullClass($property.className))
+#if($property.deferredValueType)
+              <xs:documentation><![CDATA[Deferred Value Type: $property.deferredValueType]]></xs:documentation>
            
+#elseif ($type == "String")
+              <xs:documentation><![CDATA[Deferred Value Type: java.lang.String]]></xs:documentation>
+#elseif ($property.className == "java.util.Locale" && $component.name == "f:convertDateTime")

+              <xs:documentation><![CDATA[Deferred Value Type: java.lang.Object]]></xs:documentation>
+#elseif ($property.className == "java.util.TimeZone" && $component.name == "f:convertDateTime")

+              <xs:documentation><![CDATA[Deferred Value Type: java.lang.Object]]></xs:documentation>
+#else
+              <xs:documentation><![CDATA[Deferred Value Type: $property.className]]></xs:documentation>
+#end
+#end
+            </xs:annotation>
+          </xs:attribute>
+#end
+#end
+        </xs:complexType>
+    </xs:element>
+#end
+#end
+#end
+#end
+##   <!-- Validator tags -->
+#set ($componentList = ${model.getValidators()})
+#foreach( $component in $componentList )
+#if ($modelIds.contains($component.modelId) 
+    && ($component.name))
+#if ($utils.getTagPrefix($component.name) == $shortname)
+## Check if we don't have a facelet tag taking precedence over this description
+#if (! ${model.findFaceletTagByName($component.name)})
+    <xs:element name="$utils.getTagName($component.name)">
+        <xs:annotation>
+          <xs:documentation><![CDATA[$component.longDescription]]></xs:documentation>
+          <xs:documentation>tag-class: $component.tagClass</xs:documentation>
+#if ($component.bodyContent)
+          <xs:documentation>body-content: $component.bodyContent</xs:documentation>
+#else
+          <xs:documentation>body-content: JSP</xs:documentation>
+#end
+        </xs:annotation>
+     
+        <xs:complexType mixed="true">
+          <xs:choice minOccurs="0" maxOccurs="unbounded">
+            <xs:any processContents="lax"/>
+          </xs:choice>
+#set ($propertyList = ${component.propertyList})
+#foreach( $property in $propertyList )
+#if (!$property.isTagExcluded())
+          <xs:attribute name="$property.name" #if ($property.isRequired())use="required"#end>
+            <xs:annotation>
+#if ($property.longDescription)
+              <xs:documentation><![CDATA[$property.longDescription]]></xs:documentation>
+#else
+              <xs:documentation><![CDATA[]]></xs:documentation>
+#end
+#if ($property.isLiteralOnly())
+              <xs:documentation><![CDATA[rtexprvalue: false]]></xs:documentation>
+#else
+#set ($type = $utils.getClassFromFullClass($property.className))
+#if($property.deferredValueType)
+              <xs:documentation><![CDATA[Deferred Value Type: $property.deferredValueType]]></xs:documentation>
            
+#elseif ($type == "String")
+              <xs:documentation><![CDATA[Deferred Value Type: java.lang.String]]></xs:documentation>
+#else
+              <xs:documentation><![CDATA[Deferred Value Type: $property.className]]></xs:documentation>
+#end
+#end
+            </xs:annotation>
+          </xs:attribute>
+#end
+#end
+        </xs:complexType>
+    </xs:element>
+#end
+#end
+#end
+#end
+##   <!-- Single Tags -->
+#set ($tagList = $model.getTags())
+#foreach( $tag in $tagList )
+#if ($modelIds.contains($tag.modelId) && ($tag.name))
+#if ($utils.getTagPrefix($tag.name) == $shortname)
+## Check if we don't have a facelet tag taking precedence over this description
+#if (! ${model.findFaceletTagByName($tag.name)})
+    <xs:element name="$utils.getTagName($tag.name)">
+        <xs:annotation>
+#if ($tag.longDescription)
+              <xs:documentation><![CDATA[$tag.longDescription]]></xs:documentation>
+#else
+              <xs:documentation><![CDATA[]]></xs:documentation>
+#end
+              <xs:documentation>tag-class: $tag.className</xs:documentation>
+#if ($component.bodyContent)
+          <xs:documentation>body-content: $tag.bodyContent</xs:documentation>
+#else
+          <xs:documentation>body-content: JSP</xs:documentation>
+#end
+        </xs:annotation>
+       
+        <xs:complexType mixed="true">
+          <xs:choice minOccurs="0" maxOccurs="unbounded">
+            <xs:any processContents="lax"/>
+          </xs:choice>
+#set ($attributeList = ${tag.attributeList})
+#foreach( $attribute in $attributeList )
+          <xs:attribute name="$attribute.name" #if ($attribute.isRequired())use="required"#end>
+            <xs:annotation>
+#if ($attribute.longDescription)
+              <xs:documentation><![CDATA[$attribute.longDescription]]></xs:documentation>
+#else
+              <xs:documentation><![CDATA[]]></xs:documentation>
+#end
+#set ($type = $utils.getClassFromFullClass($attribute.className))
+#if ($type == "MethodExpression")
+              <xs:documentation><![CDATA[Deferred Method Signature: ${attribute.deferredMethodSignature}]]></xs:documentation>
+#elseif ($type == "ValueExpression")
+#if($attribute.deferredValueType)
+              <xs:documentation><![CDATA[Deferred Value Type: $attribute.deferredValueType]]></xs:documentation>
+#end
+#else
+              <xs:documentation><![CDATA[rtexprvalue: $attribute.isRtexprvalue()]]></xs:documentation>
+#if ($attribute.className)
+              <xs:documentation><![CDATA[Deferred Value Type: $attribute.className]]></xs:documentation>
        
+#else
+              <xs:documentation><![CDATA[Deferred Value Type: java.lang.String]]></xs:documentation>
+#end
+#end
+            </xs:annotation>
+          </xs:attribute>
+#end
+        </xs:complexType>
+    </xs:element>
+#end
+#end
+#end
+#end
+
+##   <!-- Facelets Tags -->
+#set ($tagList = $model.getFaceletTags())
+#foreach( $tag in $tagList )
+#if ($modelIds.contains($tag.modelId) && ($tag.name))
+#if ($utils.getTagPrefix($tag.name) == $shortname)
+    <xs:element name="$utils.getTagName($tag.name)">
+        <xs:annotation>
+#if ($tag.longDescription)
+              <xs:documentation><![CDATA[$tag.longDescription]]></xs:documentation>
+#else
+              <xs:documentation><![CDATA[]]></xs:documentation>
+#end
+              <xs:documentation>tag-class: $tag.className</xs:documentation>
+#if ($component.bodyContent)
+          <xs:documentation>body-content: $tag.bodyContent</xs:documentation>
+#else
+          <xs:documentation>body-content: JSP</xs:documentation>
+#end
+        </xs:annotation>
+       
+        <xs:complexType mixed="true">
+          <xs:choice minOccurs="0" maxOccurs="unbounded">
+            <xs:any processContents="lax"/>
+          </xs:choice>
+#set ($attributeList = ${tag.attributeList})
+#foreach( $attribute in $attributeList )
+          <xs:attribute name="$attribute.name" #if ($attribute.isRequired())use="required"#end>
+            <xs:annotation>
+#if ($attribute.longDescription)
+              <xs:documentation><![CDATA[$attribute.longDescription]]></xs:documentation>
+#else
+              <xs:documentation><![CDATA[]]></xs:documentation>
+#end
+#set ($type = $utils.getClassFromFullClass($attribute.className))
+#if ($type == "MethodExpression")
+              <xs:documentation><![CDATA[Deferred Method Signature: ${attribute.deferredMethodSignature}]]></xs:documentation>
+#elseif ($type == "ValueExpression")
+#if($attribute.deferredValueType)
+              <xs:documentation><![CDATA[Deferred Value Type: $attribute.deferredValueType]]></xs:documentation>
+#end
+#else
+              <xs:documentation><![CDATA[rtexprvalue: $attribute.isRtexprvalue()]]></xs:documentation>
+#if ($attribute.className)         
+              <xs:documentation><![CDATA[Deferred Value Type: $attribute.className]]></xs:documentation>
        
+#else
+              <xs:documentation><![CDATA[Deferred Value Type: java.lang.String]]></xs:documentation>
+#end
+#end
+            </xs:annotation>
+          </xs:attribute>
+#end
+        </xs:complexType>
+    </xs:element>
+#end
+#end
+#end
+
+</xs:schema>

Added: myfaces/core/branches/2.1.x/impl/src/main/resources/META-INF/myfaces_facelet_html20_xsd.vm
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2.1.x/impl/src/main/resources/META-INF/myfaces_facelet_html20_xsd.vm?rev=1098570&view=auto
==============================================================================
--- myfaces/core/branches/2.1.x/impl/src/main/resources/META-INF/myfaces_facelet_html20_xsd.vm
(added)
+++ myfaces/core/branches/2.1.x/impl/src/main/resources/META-INF/myfaces_facelet_html20_xsd.vm
Mon May  2 13:56:34 2011
@@ -0,0 +1,340 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * 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.
+-->
+<!--
+    ** WARNING: This file was automatically generated. Do not edit it directly,
+    **          or you will lose your changes.
+-->
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
+           version="1.0"
+           xml:lang="en"
+           elementFormDefault="qualified"
+           targetNamespace="$uri">
+
+$baseContent
+
+    <xs:annotation>
+        <xs:documentation>$description</xs:documentation>
+        <xs:documentation>display-name: $displayname</xs:documentation>
+#if($tlibversion)        
+        <xs:documentation>tlib-version: $tlibversion</xs:documentation>
+#end
+        <xs:documentation>short-name: $shortname</xs:documentation>
+    </xs:annotation>
+
+##    <!-- Component Tags -->
+#set ($componentList = ${model.getComponents()})
+#foreach( $component in $componentList )
+#if ($modelIds.contains($component.modelId) 
+    && ($component.name))
+#if ($utils.getTagPrefix($component.name) == $shortname)
+## Check if we don't have a facelet tag taking precedence over this description
+#if (! ${model.findFaceletTagByName($component.name)})
+    <xs:element name="$utils.getTagName($component.name)">
+        <xs:annotation>
+          <xs:documentation><![CDATA[$component.longDescription]]></xs:documentation>
+#if ($component.tagClass)          
+          <xs:documentation>tag-class: $component.tagClass</xs:documentation>
+#end
+#if ($component.bodyContent)
+          <xs:documentation>body-content: $component.bodyContent</xs:documentation>
+#else
+          <xs:documentation>body-content: JSP</xs:documentation>
+#end
+        </xs:annotation>
+
+        <xs:complexType mixed="true">
+          <xs:choice minOccurs="0" maxOccurs="unbounded">
+            <xs:any processContents="lax"/>
+          </xs:choice>     
+#set ($propertyList = ${component.propertyList})
+#foreach( $property in $propertyList )
+#if (!$property.isTagExcluded() && $property.jspName != "xmlns")
+          <xs:attribute name="$property.jspName" #if ($property.isRequired())use="required"#end>
+            <xs:annotation>
+#if ($property.longDescription)
+              <xs:documentation><![CDATA[$property.longDescription]]></xs:documentation>
+#else
+              <xs:documentation><![CDATA[]]></xs:documentation>
+#end
+#if ($property.isMethodExpression() || $property.isMethodBinding())
+#if ($property.getMethodBindingSignature())
+#set ($sig = $property.getMethodBindingSignature())
+              <xs:documentation><![CDATA[Deferred Method Signature: $sig.returnType
myMethod( $sig.parameterTypesAsString )]]></xs:documentation>
+#else
+## This is a very special case. If a property is MethodBinding or MethodExpression
+## this should have a signature. If not, for allow multiple MethodBinding
+## simulate a ValueExpression and write a custom code like in 
+## org.apache.myfaces.custom.suggestajax.AbstractSuggestAjaxTag
+              <xs:documentation><![CDATA[]]></xs:documentation>
+#end
+#elseif ($property.isLiteralOnly())
+              <xs:documentation><![CDATA[rtexprvalue: false]]></xs:documentation>
+#else
+#if ( "$!property.isRtexprvalue()" == "")
+#set ($type = $utils.getClassFromFullClass($property.className))
+#if($property.deferredValueType)
+              <xs:documentation><![CDATA[Deferred Value Type: $property.deferredValueType]]></xs:documentation>
+#elseif ($type == "String")
+              <xs:documentation><![CDATA[Deferred Value Type: java.lang.String]]></xs:documentation>
+#else
+              <xs:documentation><![CDATA[Deferred Value Type: $property.className]]></xs:documentation>
+#end
+#else
+              <xs:documentation><![CDATA[rtexprvalue: $property.isRtexprvalue().booleanValue()]]></xs:documentation>
+#end
+#end
+            </xs:annotation>
+          </xs:attribute>
+#end
+#end
+        </xs:complexType>
+    </xs:element>
+#end
+#end
+#end
+#end
+##   <!-- Converter tags -->
+#set ($componentList = ${model.getConverters()})
+#foreach( $component in $componentList )
+#if ($modelIds.contains($component.modelId) 
+    && ($component.name))
+#if ($utils.getTagPrefix($component.name) == $shortname)
+## Check if we don't have a facelet tag taking precedence over this description
+#if (! ${model.findFaceletTagByName($component.name)}) 
+    <xs:element name="$utils.getTagName($component.name)">
+        <xs:annotation>   
+          <xs:documentation><![CDATA[$component.longDescription]]></xs:documentation>
+          <xs:documentation>tag-class: $component.tagClass</xs:documentation>
+#if ($component.bodyContent)
+          <xs:documentation>body-content: $component.bodyContent</xs:documentation>
+#else
+          <xs:documentation>body-content: JSP</xs:documentation>
+#end
+        </xs:annotation>
+     
+        <xs:complexType mixed="true">
+          <xs:choice minOccurs="0" maxOccurs="unbounded">
+            <xs:any processContents="lax"/>
+          </xs:choice>
+#set ($propertyList = ${component.propertyList})
+#foreach( $property in $propertyList )
+#if (!$property.isTagExcluded())
+          <xs:attribute name="$property.name" #if ($property.isRequired())use="required"#end>
+            <xs:annotation>
+#if ($property.longDescription)
+              <xs:documentation><![CDATA[$property.longDescription]]></xs:documentation>
+#else
+              <xs:documentation><![CDATA[]]></xs:documentation>
+#end
+#if ($property.isLiteralOnly())
+              <xs:documentation><![CDATA[rtexprvalue: false]]></xs:documentation>
+#else
+#set ($type = $utils.getClassFromFullClass($property.className))
+#if($property.deferredValueType)
+              <xs:documentation><![CDATA[Deferred Value Type: $property.deferredValueType]]></xs:documentation>
            
+#elseif ($type == "String")
+              <xs:documentation><![CDATA[Deferred Value Type: java.lang.String]]></xs:documentation>
+#else
+              <xs:documentation><![CDATA[Deferred Value Type: $property.className]]></xs:documentation>
+#end
+#end
+            </xs:annotation>
+          </xs:attribute>
+#end
+#end
+        </xs:complexType>
+    </xs:element>
+#end
+#end
+#end
+#end
+##   <!-- Validator tags -->
+#set ($componentList = ${model.getValidators()})
+#foreach( $component in $componentList )
+#if ($modelIds.contains($component.modelId) 
+    && ($component.name))
+#if ($utils.getTagPrefix($component.name) == $shortname)
+## Check if we don't have a facelet tag taking precedence over this description
+#if (! ${model.findFaceletTagByName($component.name)})
+    <xs:element name="$utils.getTagName($component.name)">
+        <xs:annotation>
+          <xs:documentation><![CDATA[$component.longDescription]]></xs:documentation>
+          <xs:documentation>tag-class: $component.tagClass</xs:documentation>
+#if ($component.bodyContent)
+          <xs:documentation>body-content: $component.bodyContent</xs:documentation>
+#else
+          <xs:documentation>body-content: JSP</xs:documentation>
+#end
+        </xs:annotation>
+     
+        <xs:complexType mixed="true">
+          <xs:choice minOccurs="0" maxOccurs="unbounded">
+            <xs:any processContents="lax"/>
+          </xs:choice>
+#set ($propertyList = ${component.propertyList})
+#foreach( $property in $propertyList )
+#if (!$property.isTagExcluded())
+          <xs:attribute name="$property.name" #if ($property.isRequired())use="required"#end>
+            <xs:annotation>
+#if ($property.longDescription)
+              <xs:documentation><![CDATA[$property.longDescription]]></xs:documentation>
+#else
+              <xs:documentation><![CDATA[]]></xs:documentation>
+#end
+#if ($property.isLiteralOnly())
+              <xs:documentation><![CDATA[rtexprvalue: false]]></xs:documentation>
+#else
+#set ($type = $utils.getClassFromFullClass($property.className))
+#if($property.deferredValueType)
+              <xs:documentation><![CDATA[Deferred Value Type: $property.deferredValueType]]></xs:documentation>
            
+#elseif ($type == "String")
+              <xs:documentation><![CDATA[Deferred Value Type: java.lang.String]]></xs:documentation>
+#else
+              <xs:documentation><![CDATA[Deferred Value Type: $property.className]]></xs:documentation>
+#end
+#end
+            </xs:annotation>
+          </xs:attribute>
+#end
+#end
+        </xs:complexType>
+    </xs:element>
+#end
+#end
+#end
+#end
+##   <!-- Single Tags -->
+#set ($tagList = $model.getTags())
+#foreach( $tag in $tagList )
+#if ($modelIds.contains($tag.modelId) && ($tag.name))
+#if ($utils.getTagPrefix($tag.name) == $shortname)
+## Check if we don't have a facelet tag taking precedence over this description
+#if (! ${model.findFaceletTagByName($tag.name)})
+    <xs:element name="$utils.getTagName($tag.name)">
+        <xs:annotation>
+#if ($tag.longDescription)
+              <xs:documentation><![CDATA[$tag.longDescription]]></xs:documentation>
+#else
+              <xs:documentation><![CDATA[]]></xs:documentation>
+#end
+              <xs:documentation>tag-class: $tag.className</xs:documentation>
+#if ($component.bodyContent)
+          <xs:documentation>body-content: $tag.bodyContent</xs:documentation>
+#else
+          <xs:documentation>body-content: JSP</xs:documentation>
+#end
+        </xs:annotation>
+       
+        <xs:complexType mixed="true">
+          <xs:choice minOccurs="0" maxOccurs="unbounded">
+            <xs:any processContents="lax"/>
+          </xs:choice>
+#set ($attributeList = ${tag.attributeList})
+#foreach( $attribute in $attributeList )
+          <xs:attribute name="$attribute.name" #if ($attribute.isRequired())use="required"#end>
+            <xs:annotation>
+#if ($attribute.longDescription)
+              <xs:documentation><![CDATA[$attribute.longDescription]]></xs:documentation>
+#else
+              <xs:documentation><![CDATA[]]></xs:documentation>
+#end
+#set ($type = $utils.getClassFromFullClass($attribute.className))
+#if ($type == "MethodExpression")
+              <xs:documentation><![CDATA[Deferred Method Signature: ${attribute.deferredMethodSignature}]]></xs:documentation>
+#elseif ($type == "ValueExpression")
+#if($attribute.deferredValueType)
+              <xs:documentation><![CDATA[Deferred Value Type: $attribute.deferredValueType]]></xs:documentation>
+#end
+#else
+              <xs:documentation><![CDATA[rtexprvalue: $attribute.isRtexprvalue()]]></xs:documentation>
+#if ($attribute.className)
+              <xs:documentation><![CDATA[Deferred Value Type: $attribute.className]]></xs:documentation>
        
+#else
+              <xs:documentation><![CDATA[Deferred Value Type: java.lang.String]]></xs:documentation>
+#end
+#end
+            </xs:annotation>
+          </xs:attribute>
+#end
+        </xs:complexType>
+    </xs:element>
+#end
+#end
+#end
+#end
+
+##   <!-- Facelets Tags -->
+#set ($tagList = $model.getFaceletTags())
+#foreach( $tag in $tagList )
+#if ($modelIds.contains($tag.modelId) && ($tag.name))
+#if ($utils.getTagPrefix($tag.name) == $shortname)
+    <xs:element name="$utils.getTagName($tag.name)">
+        <xs:annotation>
+#if ($tag.longDescription)
+              <xs:documentation><![CDATA[$tag.longDescription]]></xs:documentation>
+#else
+              <xs:documentation><![CDATA[]]></xs:documentation>
+#end
+              <xs:documentation>tag-class: $tag.className</xs:documentation>
+#if ($component.bodyContent)
+          <xs:documentation>body-content: $tag.bodyContent</xs:documentation>
+#else
+          <xs:documentation>body-content: JSP</xs:documentation>
+#end
+        </xs:annotation>
+       
+        <xs:complexType mixed="true">
+          <xs:choice minOccurs="0" maxOccurs="unbounded">
+            <xs:any processContents="lax"/>
+          </xs:choice>
+#set ($attributeList = ${tag.attributeList})
+#foreach( $attribute in $attributeList )
+          <xs:attribute name="$attribute.name" #if ($attribute.isRequired())use="required"#end>
+            <xs:annotation>
+#if ($attribute.longDescription)
+              <xs:documentation><![CDATA[$attribute.longDescription]]></xs:documentation>
+#else
+              <xs:documentation><![CDATA[]]></xs:documentation>
+#end
+#set ($type = $utils.getClassFromFullClass($attribute.className))
+#if ($type == "MethodExpression")
+              <xs:documentation><![CDATA[Deferred Method Signature: ${attribute.deferredMethodSignature}]]></xs:documentation>
+#elseif ($type == "ValueExpression")
+#if($attribute.deferredValueType)
+              <xs:documentation><![CDATA[Deferred Value Type: $attribute.deferredValueType]]></xs:documentation>
+#end
+#else
+              <xs:documentation><![CDATA[rtexprvalue: $attribute.isRtexprvalue()]]></xs:documentation>
+#if ($attribute.className)         
+              <xs:documentation><![CDATA[Deferred Value Type: $attribute.className]]></xs:documentation>
        
+#else
+              <xs:documentation><![CDATA[Deferred Value Type: java.lang.String]]></xs:documentation>
+#end
+#end
+            </xs:annotation>
+          </xs:attribute>
+#end
+        </xs:complexType>
+    </xs:element>
+#end
+#end
+#end
+
+</xs:schema>



Mime
View raw message