From 4193b0b04e2d2c7f8d2f3b41ab3a13f0458baf5e Mon Sep 17 00:00:00 2001 From: Jaime Diaz Date: Thu, 9 Jan 2020 20:45:16 +0100 Subject: [PATCH 01/12] #1089 Set next development version --- cobigen/cobigen-xmlplugin/pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cobigen/cobigen-xmlplugin/pom.xml b/cobigen/cobigen-xmlplugin/pom.xml index 933e8d1fa0..c3bd1fb60a 100644 --- a/cobigen/cobigen-xmlplugin/pom.xml +++ b/cobigen/cobigen-xmlplugin/pom.xml @@ -2,7 +2,7 @@ 4.0.0 xmlplugin CobiGen - XML Plug-In - 4.2.0-SNAPSHOT + 4.3.0-SNAPSHOT jar CobiGen - XML Plug-In @@ -68,4 +68,4 @@ - + \ No newline at end of file From 5170f415745c8f1f6834e6c98c05138f790e3946 Mon Sep 17 00:00:00 2001 From: Malte Brunnlieb Date: Tue, 14 Apr 2020 08:36:21 +0200 Subject: [PATCH 02/12] #1083 fix snapshot retrieval of sonartype snapshot repository (cherry picked from commit 7e2f0b4a11f40656b172d565540624b26cb98caf) (cherry picked from commit 79a1c1f268366693897d61943e0872540114c558) --- pom.xml | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/pom.xml b/pom.xml index a96c6cf8f6..7d22b59348 100644 --- a/pom.xml +++ b/pom.xml @@ -525,4 +525,18 @@ https://oss.sonatype.org/content/repositories/snapshots/ + + + + sonartype.snapshots + OSSRH Snapshots + https://oss.sonatype.org/content/repositories/snapshots/ + + true + + + false + + + From 0631e565a767b2dcc74af3dc4e476e3b83a955c6 Mon Sep 17 00:00:00 2001 From: Malte Brunnlieb Date: Tue, 14 Apr 2020 09:22:26 +0200 Subject: [PATCH 03/12] #1083 fix tests for jdk8 with jdk11 support --- cobigen/cobigen-xmlplugin/pom.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/cobigen/cobigen-xmlplugin/pom.xml b/cobigen/cobigen-xmlplugin/pom.xml index bb9f0fa391..80a7f2cb98 100644 --- a/cobigen/cobigen-xmlplugin/pom.xml +++ b/cobigen/cobigen-xmlplugin/pom.xml @@ -21,7 +21,7 @@ com.devonfw.cobigen core-api - 5.3.0 + 6.0.0 lexeme @@ -32,7 +32,7 @@ com.devonfw.cobigen core-test - 6.0.0 + 6.1.0-SNAPSHOT test @@ -47,7 +47,7 @@ com.devonfw.cobigen core - 6.0.0 + 6.1.0-SNAPSHOT test From 828dd89e0777a57626fb25059ed7848314db4d67 Mon Sep 17 00:00:00 2001 From: Malte Brunnlieb Date: Tue, 14 Apr 2020 09:27:57 +0200 Subject: [PATCH 04/12] #1083 fix build --- cobigen/cobigen-xmlplugin/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cobigen/cobigen-xmlplugin/pom.xml b/cobigen/cobigen-xmlplugin/pom.xml index 80a7f2cb98..216ff2b2fe 100644 --- a/cobigen/cobigen-xmlplugin/pom.xml +++ b/cobigen/cobigen-xmlplugin/pom.xml @@ -21,7 +21,7 @@ com.devonfw.cobigen core-api - 6.0.0 + 6.1.0-SNAPSHOT lexeme From e2361c271cae75e90e85a3ec0bd9dd796980669b Mon Sep 17 00:00:00 2001 From: jan-vcapgemini <59438728+jan-vcapgemini@users.noreply.github.com> Date: Tue, 25 Aug 2020 16:52:52 +0200 Subject: [PATCH 05/12] Dev xmlplugin merge schema validation (#1203) * added new merge types which enable validation implemented new setProjectRoot method to pass an update event of the template root to the merger (makes it possible to relocate the merge schemas into the templates) added new method to update the path to the merge schema files if the path to the template root was changed made sure to pass the validation enabled state to the updated merger * updated jsf merge schemas locations with latest xsd schemas from TaglibToXSD for 2.0 and myfaces for 2.1 - 2.2 added additional local xsd schemas for proper validation * updated schema location of webflow unit tests to latest webflow xml * updated facelets unit test source files with proper namespace urls * updated html xsd schema location to latest w3.org markup schema xhtml11 * added missing argument to XmlPluginMergerIntegrationTest setUp * added new testValidationEnabledThrowsMergeException merger integration test added new testMergeStrategyDefined_xmlmerge_xxx_validate tests to ensure that the new validation MergeStrategies are defined fixed testMergeStrategyNotFoundErrorMessageRegression (made sure that a PluginNotAvailableException can be thrown) fixed testMergeStrategyDefined_xmlmerge_xxx tests * updated Merger extensions documentation * adjusted XmlPluginIntegrationTests to core-test * set lexeme version from 1.1.0-SNAPSHOT to 1.1.0 * #1209 adjusted isMostLikelyReadable return type to latest core --- cobigen/cobigen-xmlplugin/pom.xml | 8 +- .../cobigen/xmlplugin/XmlPluginActivator.java | 36 +- .../xmlplugin/inputreader/XmlInputReader.java | 8 +- .../xmlplugin/merger/delegates/MergeType.java | 21 +- .../merger/delegates/XmlMergerDelegate.java | 58 +- .../mergeSchemas/incomplete_jfs-html.xml | 12 +- .../mergeSchemas/incomplete_jsf-core.xml | 10 + .../mergeSchemas/incomplete_jsf-facelets.xml | 12 +- .../src/main/resources/mergeSchemas/xhtml.xml | 2 +- .../mergeSchemas/xsd/facelets-ui-2.0.xsd | 608 ++ .../mergeSchemas/xsd/html-basic-2.0.xsd | 7686 +++++++++++++++++ .../xsd/myfaces_facelets_core_2_1.xsd | 1620 ++++ .../xsd/myfaces_facelets_core_2_2.xsd | 1620 ++++ .../xsd/myfaces_facelets_html_2_1.xsd | 6965 +++++++++++++++ .../xsd/myfaces_facelets_html_2_2.xsd | 6965 +++++++++++++++ .../xsd/myfaces_facelets_ui_2_1.xsd | 368 + .../xsd/myfaces_facelets_ui_2_2.xsd | 368 + .../XmlPluginIntegrationTest.java | 121 +- .../XmlPluginMergerIntegrationTest.java | 27 +- .../templates/testTemplates/templates.xml | 4 + .../unittest/merger/BaseFile_flow.xml | 2 +- .../unittest/merger/BaseFile_overview.xhtml | 12 +- .../unittest/merger/BaseFile_validation.xml | 6 + .../unittest/merger/PatchFile_flow.xml | 2 +- .../unittest/merger/PatchFile_overview.xhtml | 18 +- .../unittest/merger/PatchFile_validation.xml | 5 + documentation/cobigen-xmlplugin.asciidoc | 13 +- 27 files changed, 26487 insertions(+), 90 deletions(-) create mode 100644 cobigen/cobigen-xmlplugin/src/main/resources/mergeSchemas/incomplete_jsf-core.xml create mode 100644 cobigen/cobigen-xmlplugin/src/main/resources/mergeSchemas/xsd/facelets-ui-2.0.xsd create mode 100644 cobigen/cobigen-xmlplugin/src/main/resources/mergeSchemas/xsd/html-basic-2.0.xsd create mode 100644 cobigen/cobigen-xmlplugin/src/main/resources/mergeSchemas/xsd/myfaces_facelets_core_2_1.xsd create mode 100644 cobigen/cobigen-xmlplugin/src/main/resources/mergeSchemas/xsd/myfaces_facelets_core_2_2.xsd create mode 100644 cobigen/cobigen-xmlplugin/src/main/resources/mergeSchemas/xsd/myfaces_facelets_html_2_1.xsd create mode 100644 cobigen/cobigen-xmlplugin/src/main/resources/mergeSchemas/xsd/myfaces_facelets_html_2_2.xsd create mode 100644 cobigen/cobigen-xmlplugin/src/main/resources/mergeSchemas/xsd/myfaces_facelets_ui_2_1.xsd create mode 100644 cobigen/cobigen-xmlplugin/src/main/resources/mergeSchemas/xsd/myfaces_facelets_ui_2_2.xsd create mode 100644 cobigen/cobigen-xmlplugin/src/test/resources/testdata/unittest/merger/BaseFile_validation.xml create mode 100644 cobigen/cobigen-xmlplugin/src/test/resources/testdata/unittest/merger/PatchFile_validation.xml diff --git a/cobigen/cobigen-xmlplugin/pom.xml b/cobigen/cobigen-xmlplugin/pom.xml index 216ff2b2fe..8530ce2185 100644 --- a/cobigen/cobigen-xmlplugin/pom.xml +++ b/cobigen/cobigen-xmlplugin/pom.xml @@ -21,18 +21,18 @@ com.devonfw.cobigen core-api - 6.1.0-SNAPSHOT + 6.2.0-SNAPSHOT lexeme com.github.maybeec - 1.0.0 + 1.1.0 com.devonfw.cobigen core-test - 6.1.0-SNAPSHOT + 6.2.0-SNAPSHOT test @@ -47,7 +47,7 @@ com.devonfw.cobigen core - 6.1.0-SNAPSHOT + 6.2.0-SNAPSHOT test diff --git a/cobigen/cobigen-xmlplugin/src/main/java/com/devonfw/cobigen/xmlplugin/XmlPluginActivator.java b/cobigen/cobigen-xmlplugin/src/main/java/com/devonfw/cobigen/xmlplugin/XmlPluginActivator.java index 77c1e0f85e..4fdc1cd255 100644 --- a/cobigen/cobigen-xmlplugin/src/main/java/com/devonfw/cobigen/xmlplugin/XmlPluginActivator.java +++ b/cobigen/cobigen-xmlplugin/src/main/java/com/devonfw/cobigen/xmlplugin/XmlPluginActivator.java @@ -1,7 +1,11 @@ package com.devonfw.cobigen.xmlplugin; +import java.nio.file.Path; import java.util.List; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + import com.devonfw.cobigen.api.extension.GeneratorPluginActivator; import com.devonfw.cobigen.api.extension.Merger; import com.devonfw.cobigen.api.extension.TriggerInterpreter; @@ -19,14 +23,26 @@ public class XmlPluginActivator implements GeneratorPluginActivator { */ static private String defaultMergeSchemaLocation = "src/main/resources/mergeSchemas"; + private static final Logger LOG = LoggerFactory.getLogger(XmlPluginActivator.class); + + /** + * List of mergers to update + */ + private static List mergerList = Lists.newLinkedList(); + @Override public List bindMerger() { List merger = Lists.newLinkedList(); - - merger.add(new XmlMergerDelegate(defaultMergeSchemaLocation, MergeType.BASEOVERWRITE)); - merger.add(new XmlMergerDelegate(defaultMergeSchemaLocation, MergeType.BASEATTACHOROVERWRITE)); - merger.add(new XmlMergerDelegate(defaultMergeSchemaLocation, MergeType.PATCHOVERWRITE)); - merger.add(new XmlMergerDelegate(defaultMergeSchemaLocation, MergeType.PATCHATTACHOROVERWRITE)); + merger.add(new XmlMergerDelegate(defaultMergeSchemaLocation, MergeType.BASEOVERWRITE, false)); + merger.add(new XmlMergerDelegate(defaultMergeSchemaLocation, MergeType.BASEATTACHOROVERWRITE, false)); + merger.add(new XmlMergerDelegate(defaultMergeSchemaLocation, MergeType.PATCHOVERWRITE, false)); + merger.add(new XmlMergerDelegate(defaultMergeSchemaLocation, MergeType.PATCHATTACHOROVERWRITE, false)); + // mergers with validation enabled + merger.add(new XmlMergerDelegate(defaultMergeSchemaLocation, MergeType.BASEOVERWRITEVALIDATE, true)); + merger.add(new XmlMergerDelegate(defaultMergeSchemaLocation, MergeType.BASEATTACHOROVERWRITEVALIDATE, true)); + merger.add(new XmlMergerDelegate(defaultMergeSchemaLocation, MergeType.PATCHOVERWRITEVALIDATE, true)); + merger.add(new XmlMergerDelegate(defaultMergeSchemaLocation, MergeType.PATCHATTACHOROVERWRITEVALIDATE, true)); + mergerList = merger; return merger; } @@ -35,4 +51,14 @@ public List bindTriggerInterpreter() { return Lists. newArrayList(new XmlTriggerInterpreter("xml")); } + @Override + public void setProjectRoot(Path path) { + LOG.debug("updated project root path {}", path); + for (Merger merger : mergerList) { + if (merger instanceof XmlMergerDelegate) { + ((XmlMergerDelegate) merger).updateMergeSchemaPath(path); + } + } + } + } diff --git a/cobigen/cobigen-xmlplugin/src/main/java/com/devonfw/cobigen/xmlplugin/inputreader/XmlInputReader.java b/cobigen/cobigen-xmlplugin/src/main/java/com/devonfw/cobigen/xmlplugin/inputreader/XmlInputReader.java index 06b902915d..8c38f6d2f5 100644 --- a/cobigen/cobigen-xmlplugin/src/main/java/com/devonfw/cobigen/xmlplugin/inputreader/XmlInputReader.java +++ b/cobigen/cobigen-xmlplugin/src/main/java/com/devonfw/cobigen/xmlplugin/inputreader/XmlInputReader.java @@ -254,9 +254,13 @@ public Object read(Path path, Charset inputCharset, Object... additionalArgument } @Override - public boolean isMostLikelyReadable(Path path) { + public Boolean isMostLikelyReadable(Path path) { List validExtensions = Arrays.asList("xml", "xmi"); String fileExtension = FilenameUtils.getExtension(path.toString()).toLowerCase(); - return validExtensions.contains(fileExtension); + if (validExtensions.contains(fileExtension)) { + return null; + } else { + return false; + } } } diff --git a/cobigen/cobigen-xmlplugin/src/main/java/com/devonfw/cobigen/xmlplugin/merger/delegates/MergeType.java b/cobigen/cobigen-xmlplugin/src/main/java/com/devonfw/cobigen/xmlplugin/merger/delegates/MergeType.java index 73dbb62f1d..11e573ad22 100644 --- a/cobigen/cobigen-xmlplugin/src/main/java/com/devonfw/cobigen/xmlplugin/merger/delegates/MergeType.java +++ b/cobigen/cobigen-xmlplugin/src/main/java/com/devonfw/cobigen/xmlplugin/merger/delegates/MergeType.java @@ -25,7 +25,26 @@ public enum MergeType { * In case of a conflict the patch document is preferred. Attributes and text nodes will be attached where * possible */ - PATCHATTACHOROVERWRITE("xmlmerge_override_attachTexts", ConflictHandlingType.PATCHATTACHOROVERWRITE); + PATCHATTACHOROVERWRITE("xmlmerge_override_attachTexts", ConflictHandlingType.PATCHATTACHOROVERWRITE), + /** + * In case of a conflict the patch document is preferred. Validation will be enabled. + */ + PATCHOVERWRITEVALIDATE("xmlmerge_override_validate", ConflictHandlingType.PATCHOVERWRITEVALIDATE), + /** + * In case of a conflict the base document is preferred. Validation will be enabled. + */ + BASEOVERWRITEVALIDATE("xmlmerge_validate", ConflictHandlingType.BASEOVERWRITEVALIDATE), + /** + * In case of a conflict the base document is preferred. Attributes and text nodes will be attached where + * possible. Validation will be enabled. + */ + BASEATTACHOROVERWRITEVALIDATE("xmlmerge_attachTexts_validate", ConflictHandlingType.BASEATTACHOROVERWRITEVALIDATE), + /** + * In case of a conflict the patch document is preferred. Attributes and text nodes will be attached where + * possible. Validation will be enabled. + */ + PATCHATTACHOROVERWRITEVALIDATE("xmlmerge_override_attachTexts_validate", + ConflictHandlingType.PATCHATTACHOROVERWRITEVALIDATE); /** * The ConflictHandlingType diff --git a/cobigen/cobigen-xmlplugin/src/main/java/com/devonfw/cobigen/xmlplugin/merger/delegates/XmlMergerDelegate.java b/cobigen/cobigen-xmlplugin/src/main/java/com/devonfw/cobigen/xmlplugin/merger/delegates/XmlMergerDelegate.java index 6c636866a9..527463f78e 100644 --- a/cobigen/cobigen-xmlplugin/src/main/java/com/devonfw/cobigen/xmlplugin/merger/delegates/XmlMergerDelegate.java +++ b/cobigen/cobigen-xmlplugin/src/main/java/com/devonfw/cobigen/xmlplugin/merger/delegates/XmlMergerDelegate.java @@ -1,8 +1,13 @@ package com.devonfw.cobigen.xmlplugin.merger.delegates; import java.io.File; +import java.nio.file.Files; import java.nio.file.Path; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import com.devonfw.cobigen.api.constants.ConfigurationConstants; import com.devonfw.cobigen.api.exception.MergeException; import com.devonfw.cobigen.api.extension.Merger; import com.github.maybeec.lexeme.LeXeMerger; @@ -20,30 +25,73 @@ public class XmlMergerDelegate implements Merger { /** {@link LeXeMerger} instance to be used. */ private LeXeMerger merger; + /** + * Path to merge schema files + */ + private Path mergeSchemaPath; + + /** + * Required to pass validation state to new LeXeMerger if path to root template was changed + */ + private boolean validationEnabled = false; + + private static final Logger LOG = LoggerFactory.getLogger(XmlMergerDelegate.class); + /** * * @param mergeSchemaLocation - * path to the folder containing the merge schemas to be used + * String of a path to the folder containing the merge schemas to be used * @param mergeType * the way how conflicts will be handled + * @param validate + * use validator * @author sholzer (Aug 27, 2015) */ - public XmlMergerDelegate(String mergeSchemaLocation, MergeType mergeType) { + public XmlMergerDelegate(String mergeSchemaLocation, MergeType mergeType, Boolean validate) { this.mergeType = mergeType; + merger = new LeXeMerger(mergeSchemaLocation); + setValidation(validate); + validationEnabled = validate; } /** * * @param mergeSchemaLocation - * path to the folder containing the merge schemas to be used + * Path to the folder containing the merge schemas to be used * @param mergeType * the way how conflicts will be handled + * @param validate + * use validator * @author sholzer (Aug 27, 2015) */ - public XmlMergerDelegate(Path mergeSchemaLocation, MergeType mergeType) { + public XmlMergerDelegate(Path mergeSchemaLocation, MergeType mergeType, Boolean validate) { this.mergeType = mergeType; + merger = new LeXeMerger(mergeSchemaLocation); + setValidation(validate); + validationEnabled = validate; + } + + /** + * Updates path of merge schema location with new template root path + * + * @param path + * Path to resolve with MERGE_SCHEMA_RESOURCE_FOLDER path + */ + public void updateMergeSchemaPath(Path path) { + if (path != null) { + Path newMergeSchemaPath = path.resolve(ConfigurationConstants.MERGE_SCHEMA_RESOURCE_FOLDER); + if (Files.exists(newMergeSchemaPath)) { + mergeSchemaPath = newMergeSchemaPath; + merger = new LeXeMerger(mergeSchemaPath); + setValidation(validationEnabled); + } else { + mergeSchemaPath = null; + } + } else { + throw new IllegalArgumentException("rootPath path cannot be null."); + } } @Override @@ -63,7 +111,7 @@ public String merge(File base, String patch, String targetCharset) throws MergeE /** * Sets the validation flag * @param validation - * true if a validation is desired. false otherwise. Default is true + * true if a validation is desired. false otherwise. Default is false * @author sholzer (Sep 1, 2015) */ public void setValidation(boolean validation) { diff --git a/cobigen/cobigen-xmlplugin/src/main/resources/mergeSchemas/incomplete_jfs-html.xml b/cobigen/cobigen-xmlplugin/src/main/resources/mergeSchemas/incomplete_jfs-html.xml index 749808bae0..32875a1dd4 100644 --- a/cobigen/cobigen-xmlplugin/src/main/resources/mergeSchemas/incomplete_jfs-html.xml +++ b/cobigen/cobigen-xmlplugin/src/main/resources/mergeSchemas/incomplete_jfs-html.xml @@ -1,10 +1,14 @@ - - - - + + + + + + + + diff --git a/cobigen/cobigen-xmlplugin/src/main/resources/mergeSchemas/incomplete_jsf-core.xml b/cobigen/cobigen-xmlplugin/src/main/resources/mergeSchemas/incomplete_jsf-core.xml new file mode 100644 index 0000000000..7d0d1fd6a5 --- /dev/null +++ b/cobigen/cobigen-xmlplugin/src/main/resources/mergeSchemas/incomplete_jsf-core.xml @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/cobigen/cobigen-xmlplugin/src/main/resources/mergeSchemas/incomplete_jsf-facelets.xml b/cobigen/cobigen-xmlplugin/src/main/resources/mergeSchemas/incomplete_jsf-facelets.xml index b547adfbb4..c7e905c11d 100644 --- a/cobigen/cobigen-xmlplugin/src/main/resources/mergeSchemas/incomplete_jsf-facelets.xml +++ b/cobigen/cobigen-xmlplugin/src/main/resources/mergeSchemas/incomplete_jsf-facelets.xml @@ -1,9 +1,11 @@ - - - - - + + + + + + + diff --git a/cobigen/cobigen-xmlplugin/src/main/resources/mergeSchemas/xhtml.xml b/cobigen/cobigen-xmlplugin/src/main/resources/mergeSchemas/xhtml.xml index 4fdd345856..08946b23bd 100644 --- a/cobigen/cobigen-xmlplugin/src/main/resources/mergeSchemas/xhtml.xml +++ b/cobigen/cobigen-xmlplugin/src/main/resources/mergeSchemas/xhtml.xml @@ -1,6 +1,6 @@ - + diff --git a/cobigen/cobigen-xmlplugin/src/main/resources/mergeSchemas/xsd/facelets-ui-2.0.xsd b/cobigen/cobigen-xmlplugin/src/main/resources/mergeSchemas/xsd/facelets-ui-2.0.xsd new file mode 100644 index 0000000000..6bf94acd15 --- /dev/null +++ b/cobigen/cobigen-xmlplugin/src/main/resources/mergeSchemas/xsd/facelets-ui-2.0.xsd @@ -0,0 +1,608 @@ + + + + + </pre> <div class="changed_added_2_0"> <p>The tags in this library add templating&#8212;a powerful view composition technique&#8212;to JSF. Templating is so useful that there are entire frameworks, such as Tiles and SiteMesh, that are built around the concept of templating. So what is templating, how can you benefit from it, and how does this tag library implement it? </p> <p>If you've used JSP before, you've probably used <code>jsp:include</code>. The prototypical example for <code>jsp:include</code> is a header on each page in a web application. One JSP page, say header.jsp, encapsulates the header content, and the header is included by each page. You <em>encapsulate and reuse content</em>, so that changes to one file, header.jsp, affect the header on every page. </p> <p>This tab library contains a tag&#8212<code>ui:include</code>&#8212 that's analagous to <code>jsp:include</code>, but encapsulating and reusing content is only half the templating story, because templating also lets you <em>encapsulate and reuse <b>layout</b></em>. You define a single <em>template</em> (meaning layout), and you reuse that template with multiple <em>compositions</em>. So now you can control the layout of many pages with a single template (layout). Let's take a look at an example. </p> <h3>A Templating Example</h3> <p> First, we define a template: </p> <div class="syntax"><div class="html4strict" style="font-family: monospace;"><ol><li class="li1"><div class="de1"><span class="sc0">&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot;</div></li> <li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;</span></div></li> <li class="li1"><div class="de1">&nbsp;</div></li> <li class="li2"><div class="de2"><span class="sc3"><span class="re1">&lt;html</span> <span class="re0">xmlns</span>=<span class="st0">&quot;http://www.w3.org/1999/xhtml&quot;</span></div></li> <li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; xmlns:<span class="re0">ui</span>=<span class="st0">&quot;http://java.sun.com/jsf/facelets&quot;</span></div></li> <li class="li1"><div class="de1">&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;head<span class="re2">&gt;</span></span></span></div></li> <li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;link</span> <span class="re0">href</span>=<span class="st0">&quot;styles.css&quot;</span> <span class="re0">rel</span>=<span class="st0">&quot;stylesheet&quot;</span> <span class="re0">type</span>=<span class="st0">&quot;text/css&quot;</span><span class="re2">/&gt;</span></span></div></li> <li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;title<span class="re2">&gt;</span></span></span><span class="sc3"><span class="re1">&lt;ui</span>:insert <span class="re0">name</span>=<span class="st0">&quot;title&quot;</span><span class="re2">&gt;</span></span>Default Title<span class="sc3"><span class="re1">&lt;/ui</span>:insert<span class="re2">&gt;</span></span><span class="sc3"><span class="re1">&lt;/title<span class="re2">&gt;</span></span></span></div></li> <li class="li2"><div class="de2">&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/head<span class="re2">&gt;</span></span></span></div></li> <li class="li1"><div class="de1">&nbsp;</div></li> <li class="li2"><div class="de2">&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;body<span class="re2">&gt;</span></span></span></div></li> <li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;ui</span>:debug<span class="re2">/&gt;</span></span></div></li> <li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;div</span> <span class="re0">class</span>=<span class="st0">&quot;heading&quot;</span><span class="re2">&gt;</span></span></div></li> <li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;ui</span>:insert <span class="re0">name</span>=<span class="st0">&quot;heading&quot;</span><span class="re2">/&gt;</span></span></div></li> <li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/div<span class="re2">&gt;</span></span></span></div></li> <li class="li1"><div class="de1">&nbsp;</div></li> <li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;div</span> <span class="re0">class</span>=<span class="st0">&quot;content&quot;</span><span class="re2">&gt;</span></span></div></li> <li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;ui</span>:insert <span class="re0">name</span>=<span class="st0">&quot;content&quot;</span><span class="re2">/&gt;</span></span></div></li> <li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/div<span class="re2">&gt;</span></span></span></div></li> <li class="li1"><div class="de1">&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/body<span class="re2">&gt;</span></span></span></div></li> <li class="li2"><div class="de2"><span class="sc3"><span class="re1">&lt;/html<span class="re2">&gt;</span></span></span> </div></li></ol></div></div> <p> In the preceeding listing, we've defined a layout, also known as a template. That template uses the <code>ui:insert</code> tag to insert pieces of a page &#8212namely, title, heading, and content&#8212 defined in a <em>composition</em>. Notice that on line 8, we define a default title, in case one isn't provided by the composition. Also note that on line 12 we have the <code>ui:debug</code> tag, which lets the user activate a popup window with debugging information by typing CTRL + Shift + d. </p> <p> The title, heading, and content pieces of the page referenced in the template are defined in a separate XHTML file in a composition, like this: </p> <div class="syntax"><div class="html4strict" style="font-family: monospace;"><ol><li class="li1"><div class="de1"><span class="sc0">&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot;</div></li> <li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;</span></div></li> <li class="li1"><div class="de1">&nbsp;</div></li> <li class="li2"><div class="de2"><span class="sc3"><span class="re1">&lt;html</span> <span class="re0">xmlns</span>=<span class="st0">&quot;http://www.w3.org/1999/xhtml&quot;</span></div></li> <li class="li1"><div class="de1">&nbsp; &nbsp;xmlns:<span class="re0">ui</span>=<span class="st0">&quot;http://java.sun.com/jsf/facelets&quot;</span><span class="re2">&gt;</span></span></div></li> <li class="li2"><div class="de2">&nbsp;</div></li> <li class="li1"><div class="de1">&nbsp; <span class="sc3"><span class="re1">&lt;body<span class="re2">&gt;</span></span></span></div></li> <li class="li2"><div class="de2">&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;ui</span>:composition <span class="re0">template</span>=<span class="st0">&quot;/layout.xhtml&quot;</span><span class="re2">&gt;</span></span></div></li> <li class="li1"><div class="de1">&nbsp;</div></li> <li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;ui</span>:define <span class="re0">name</span>=<span class="st0">&quot;title&quot;</span><span class="re2">&gt;</span></span>A List of Contacts<span class="sc3"><span class="re1">&lt;/ui</span>:define<span class="re2">&gt;</span></span></div></li> <li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;ui</span>:define <span class="re0">name</span>=<span class="st0">&quot;heading&quot;</span><span class="re2">&gt;</span></span>Contacts<span class="sc3"><span class="re1">&lt;/ui</span>:define<span class="re2">&gt;</span></span></div></li> <li class="li2"><div class="de2">&nbsp;</div></li> <li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;ui</span>:define <span class="re0">name</span>=<span class="st0">&quot;content&quot;</span><span class="re2">&gt;</span></span></div></li> <li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;ui</span>:include <span class="re0">src</span>=<span class="st0">&quot;contactsTable.xhtml&quot;</span> <span class="re2">/&gt;</span></span></div></li> <li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/ui</span>:define<span class="re2">&gt;</span></span></div></li> <li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</div></li> <li class="li1"><div class="de1">&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/ui</span>:composition<span class="re2">&gt;</span></span></div></li> <li class="li2"><div class="de2">&nbsp; <span class="sc3"><span class="re1">&lt;/body<span class="re2">&gt;</span></span></span></div></li> <li class="li1"><div class="de1"><span class="sc3"><span class="re1">&lt;/html<span class="re2">&gt;</span></span></span> </div></li></ol></div></div> <p> At runtime, JSF synthesizes the two previous XHTML pages to create a single JSF view by inserting the pieces defined in the composition into the template (that template is layout.xhtml, which is the first listing above). JSF also disregards everything outside of the <code>composition</code> tag so that we don't wind up with two <code>body</code> elements in the view. Also, note that we use the <code>ui:include</code> tag on line 14 to include content (which happens to be a table) from another XHTML page, so that we can reuse that table in other views. </p> <p> So why do we have two XHTML pages to define a single view? Why not simply take the pieces and manually insert them into the layout so that we have only a single XHTML page? The answer is simple: we have separated layout from the content so that we can <em>reuse that layout</em> among multiple compositions. For example, now we can define another composition that uses the same layout: </p> <div class="syntax"><div class="html4strict" style="font-family: monospace;"><ol><li class="li1"><div class="de1"><span class="sc0">&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot;</div></li> <li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;</span></div></li> <li class="li1"><div class="de1">&nbsp;</div></li> <li class="li2"><div class="de2"><span class="sc3"><span class="re1">&lt;html</span> <span class="re0">xmlns</span>=<span class="st0">&quot;http://www.w3.org/1999/xhtml&quot;</span></div></li> <li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; xmlns:<span class="re0">ui</span>=<span class="st0">&quot;http://java.sun.com/jsf/facelets&quot;</span><span class="re2">&gt;</span></span></div></li> <li class="li2"><div class="de2">&nbsp;</div></li> <li class="li1"><div class="de1">&nbsp; <span class="sc3"><span class="re1">&lt;body<span class="re2">&gt;</span></span></span></div></li> <li class="li2"><div class="de2">&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;ui</span>:composition <span class="re0">template</span>=<span class="st0">&quot;/layout.xhtml&quot;</span><span class="re2">&gt;</span></span></div></li> <li class="li2"><div class="de2">&nbsp;</div></li> <li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;ui</span>:define <span class="re0">name</span>=<span class="st0">&quot;title&quot;</span><span class="re2">&gt;</span></span>Create a Contact<span class="sc3"><span class="re1">&lt;/ui</span>:define<span class="re2">&gt;</span></span></div></li> <li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;ui</span>:define <span class="re0">name</span>=<span class="st0">&quot;heading&quot;</span><span class="re2">&gt;</span></span>Create Contact&lt;/ui</span>:define<span class="re2">&gt;</span></span></div></li> <li class="li2"><div class="de2">&nbsp;</div></li> <li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;ui</span>:define <span class="re0">name</span>=<span class="st0">&quot;content&quot;</span><span class="re2">&gt;</span></span></div></li> <li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;ui</span>:include <span class="re0">src</span>=<span class="st0">&quot;createContactForm.xhtml&quot;</span><span class="re2">/&gt;</span></span></div></li> <li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/ui</span>:define<span class="re2">&gt;</span></span></div></li> <li class="li2"><div class="de2">&nbsp;</div></li> <li class="li2"><div class="de2">&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/ui</span>:composition<span class="re2">&gt;</span></span></div></li> <li class="li1"><div class="de1">&nbsp; <span class="sc3"><span class="re1">&lt;/body<span class="re2">&gt;</span></span></span></div></li> <li class="li2"><div class="de2"><span class="sc3"><span class="re1">&lt;/html<span class="re2">&gt;</span></span></span> </div></li></ol></div></div> <p> By encapsulating the layout, we can reuse that layout among multiple compositions. Just like <code>ui:include</code> lets us encapsulate and reuse conent, JSF compositions let us encapsulate and reuse layout, so that changes to a single layout can affect multiple views. Fundamentally, that's what this tag library is all about. </p> </div> <pre> + tlib-version: 2.1 + + + + +

+ This tag is the same as the ui:composition, except for two things: + JSF creates a component and adds it directly to the tree, and there's no associated + template. +

+ +

+ Use this tag to create a component and specify a filename for the + component as either the source of a ui:include, or the source of a Facelets tag. +

+ + + ]]>
+ tag-class: + body-content: JSP +
+ + + + + + + +

+ The identifier of the component that JSF inserts into the component tree. If an identifier is + not explicitly specified by the page author, JSF will assign an identifier based on the algorithm + that it uses for all components. +

+ + + ]]>
+
+
+ + + +

+ Binds the component to a backing bean property, as specified in the JSF specification. +

+ + + ]]>
+
+
+
+
+ + + +

+ Defines a composition that optionally uses a template, as outlined in the description of the ui tag library. Multiple + compositions can use the same template, thus encapsulating and reusing layout. JSF disregards everything outside of the + composition, which lets developers embed compositions in well-formed XHTML pages that can be viewed in an XHTML viewer, + such as Dreamweaver or a browser, without including extraneous elements such as head and body. +

+
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  2. + +
  3.         "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  4. +
  5.  
  6. +
  7. <html xmlns="http://www.w3.org/1999/xhtml"
  8. +
  9.    xmlns:ui="http://java.sun.com/jsf/facelets">
  10. + +
  11.  
  12. +
  13.   <body>
  14. +
  15.  
  16. +
  17.     THIS LINE, AND EVERYTHING ABOVE IT IS DISREGARDED BY JSF
  18. +
  19.     <ui:composition template="/layout.xhtml">
  20. + +
  21.  
  22. +
  23.       <ui:define name="title">#{msgs.contactsWindowTitle}</ui:define>
  24. +
  25.       <ui:define name="heading">#{msgs.contactsHeading}</ui:define>
  26. + +
  27.  
  28. +
  29.       <ui:define name="content">
  30. +
  31.         <ui:include src="contactsTable.xhtml" />
  32. + +
  33.       </ui:define>
  34. +
  35.          
  36. +
  37.     </ui:composition>
  38. +
  39.     THIS LINE, AND EVERYTHING BELOW IT IS DISREGARDED BY JSF
  40. + +
  41.  
  42. +
  43.   </body>
  44. +
  45. </html>
+ + + + ]]>
+ tag-class: + body-content: JSP +
+ + + + + + + +

+ A URI that points to a template, also known as a layout, that inserts pieces of the page defined in the composition. +

+ + + ]]>
+
+
+
+
+ + + +

+ When the ui:debug tag is placed in an XHTML page, it creates a component and adds it to the + component tree. That debug component captures debugging information, namely the current state of the component + tree and the scoped variables in the application, when the component is rendered. If the user presses CTRL + SHIFT + d, + JSF opens a window that shows the debugging information captured by the debug component. +

+ +

+ Typically, the best place to put the ui:debug tag is in an application's main template, which + lets developers enable or disable viewing of debugging information in one central location. Additionally, page + authors can change the hotkey (which by default is CTRL + SHIFT + d, where the d stands for debug) to CTRL + SHIFT + ?, + where ? represents the key specified as the value of the hotkey attribute. +

+ +

+ You can use the rendered attribute to control whether the debug component is rendered. + Using an EL expression as the value for the rendered attribute lets you control whether + debug output is enabled for multiple views based on a single bean property. +

+ + + ]]>
+ tag-class: + body-content: JSP +
+ + + + + + + +

+ Defines a single character, that, pressed in conjunction with CTRL and SHIFT, will display the JSF debug window. + By default, the hotkey is 'd'. The value for the hotkey attribute cannot be an EL expression. +

+ + + + ]]>
+
+
+ + + +

+ Controls whether the debug component is rendered. Valid values for this attribute are either the strings "true" or "false" or an EL expression that evaluates to either "true" or "false".

If this attribute's value is "false" or the value is an EL expression that evaluates to "false", the debug component is not rendered in the page, the hotkey attribute is disregarded, and users cannot open the debugging information window with a hotkey.

+

+ + + + ]]>
+
+
+
+
+ + + + +

The define tag defines content that is inserted into a page by a template. The define tag can be used inside ui:composition, ui:component, ui:decorate, and ui:fragment tags.

+ +

Content defined by the define tag can be inserted into a page by using ui:insert. +

+ + + + ]]>
+ tag-class: + body-content: JSP +
+ + + + + + + + +

Assigns a name to the content inside a define tag. That name is used by corresponding ui:insert tags in a template that insert the named content into a page.

+ + + ]]>
+
+
+
+
+ + + + +

+ The decorate tag is identical to the composition tag, except that ui:decorate, unlike ui:composition, does not disregard all content outside of the tag. The decorate is useful when you want to decorate some content in a page, for example, you might want to decorate a list of items, like this: + +

  1. + +<ui:decorate template="/layout.xhtml">
  2. +
  3.   <ui:define name="listHeading">
  4. + +
  5.     <ui:include src="shared/listHeading.xhtml"/>
  6. +
  7.   </ui:define>
  8. +
  9.        
  10. +
  11.   <c:forEach items="#{items}" var="item">
  12. + +
  13.     ...
  14. +
  15.   </c:forEach>
  16. +
  17.   ...
  18. +
  19. </ui:decorate>
+

+ +Because JSF does not disregard everything outside of the ui:decorate tag, ui:decorate can +be used to decorate pieces of a page. + + + + ]]>
+ tag-class: + body-content: JSP +
+ + + + + + + +A URI that points to a template, also known as a layout, that inserts pieces of the page defined in the decorator. + + + + ]]> + + + +
+ + + +

The fragment tag is identical to the component tag, except that ui:fragment, unlike ui:component, JSF does not disregard all content outside of the tag.

+ + + ]]>
+ tag-class: + body-content: JSP +
+ + + + + + + +The identifier of the component that JSF inserts into the component tree. If an identifier is +not explicitly specified by the page author, JSF will assign an identifier based on the algorithm +that it uses for all components. + + + ]]> + + + + + +Binds the component to a backing bean property, as specified in the JSF specification. + + + ]]> + + + +
+ + + +

Use this tag—which is very similar to JSP's jsp:include—to encapsulate and reuse content among +multiple XHTML pages. There are three things this tag can include: plain XHTML, and XHTML pages that have either a composition tag or a component tag. +

+

You supply a filename, through ui:include's src attribute for JSF to include. That +filename is relative to the XHTML file that was rendered as a result of the last request. So, for example, if JSF loaded +the view login.xhtml, and that file included pageDecorations/header.xhtml, and +pageDecorations/header.xhtml included companyLogo.xhtml, then companyLogo.xhtml will +not be found if it's in the pageDecorations directory, because companyLogo.xhtml has to be +in the same directory as login.xhtml. +

+ + + + ]]>
+ tag-class: + body-content: JSP +
+ + + + + + + +The filename of an XHTML page to include. The filename is relative to the XHTML page that was originally loaded. + + + ]]> + + + +
+ + + +

Inserts content into a template. That content is defined—with the ui:define tag— in either a ui:composition, ui:component, ui:decorate, or ui:fragment.

+ + + ]]>
+ tag-class: + body-content: JSP +
+ + + + + + + + + + + + ]]> + + + +
+ + + +

Use this tag to pass parameters to an included file (using ui:include), or a template +(linked to either a composition or decorator). Embed ui:param tags in either ui:include, +ui:composition, or ui:decorate to pass the parameters. + + + ]]> + tag-class: + body-content: JSP + + + + + + + + +The name of the parameter. + + + ]]> + + + + + +The value of the parameter. Notice that this attribute's value can be an EL expression, which +means that you can pass objects to either an included file or a template. + + ]]> + + + + + + + + +

Use this tag as an alternative to h:dataTable or +c:forEach, especially when you are using the +jsfc feature of Facelets. You can specify this component as +the value of the jsfc attribute, like this: +<div... jsfc="ui:repeat" value="#{contacts}" var="contact">... +

+ + + ]]>
+ tag-class: + body-content: JSP +
+ + + + + + + + +

Read-write property setting the offset from the beginning of the +collection from which to start the iteration. If not set, this offset +is not considered and iteration will start at the beginning of the +collection.

+ + + + ]]>
+
+
+ + + + +

Read-write property setting the size of the collection to iterate. +If this value is less than the actual size of the collection, a +FacesException must be thrown.

+ + + + ]]>
+
+
+ + +

Iteration + will only process every step items of the collection, + starting with the first one.

+ + ]]>
+
+
+ + + + +

The name of a collection of items that this tag iterates over. The +collection may be a List, array, +java.sql.ResultSet, or an individual java Object. If the +collection is null, this tag does nothing.

+ + + + ]]>
+
+
+ + +

Name of the + exported scoped variable for the current item of the + iteration. This scoped variable has nested + visibility. Its type depends on the object of the + underlying collection

+ + ]]>
+
+
+ + +

Name of the + exported request scoped variable for the status of the + iteration. Object is a POJO with the following read-only + JavaBeans properties. This scoped variable has nested + visibility.

+ +

begin of type Integer

+ +

end of type Integer

+ +

index of type int

+ +

step of type Integer

+ +

even of type boolean

+ +

odd of type boolean

+ +

first of type boolean

+ +

last of type boolean

+ + + + ]]>
+
+
+
+
+ + + +

Remove content from a page. This tag is often used in conjunction with the jsfc feature of Facelets, +to wrap additional markup. When Facelets removes markup from a page by substituting markup items that have +a jsfc attribute with the specified component, Facelets also removes anything in the page that +is contained in a ui:remove tag.

+ + + ]]>
+ tag-class: + body-content: JSP +
+ + + + + +
+
diff --git a/cobigen/cobigen-xmlplugin/src/main/resources/mergeSchemas/xsd/html-basic-2.0.xsd b/cobigen/cobigen-xmlplugin/src/main/resources/mergeSchemas/xsd/html-basic-2.0.xsd new file mode 100644 index 0000000000..e7e3171459 --- /dev/null +++ b/cobigen/cobigen-xmlplugin/src/main/resources/mergeSchemas/xsd/html-basic-2.0.xsd @@ -0,0 +1,7686 @@ + + + + + This tag library contains JavaServer Faces component tags for all UIComponent + HTML RenderKit Renderer combinations defined in the JavaServer Faces Specification. + tlib-version: 1.2 + + + + Renders an HTML "input" + element.

+ +

Decode Behavior

+ +
    + +

    Obtain the Map from the "requestParameterMap" + property of the ExternalContext. If the value in the + Map for the value of the "clientId" property of the + component is null, create a String by concatenating + the value of the "clientId" property of the component with the + String ".x" (without the quotes). Create another String in the + same manner, but concatenate ".y" (without the quotes). If + null is the value in the Map for both + Strings, return from decode(). If the value in the + Map for the value of the "clientId" property of the + component is not null, get the value of the "type" + attribute, and convert it to lower case. If the result is equal + to the String "reset" (without the quotes), return from + decode(). Otherwise, create a + javax.faces.event.ActionEvent around the component, + and pass it to the queueEvent() method of the + component, which must be an instance of + UICommand.

    + +
+ + + +

Encode Behavior

+ +
    + +

    Render the clientId of the component as the value of the "name" + attribute. Render the current value of the component as the value + of the "value" attribute. If "image" attribute is specified render + it as the value of the "src" attribute after passing it to the + getResourceURL() method of the + ViewHandler for this application, and passing the + result through the encodeResourceURL() method of the + ExternalContext. Note that calling + getResourceURL() will prefix the context-root of the + current application if the value of the "src" attribute starts + with "/". When handling the "image" attribute, the value must not + be escaped. For example, & must not be turned into + &amp;. If the "styleClass" attribute is + specified, render its value as the value of the "class" attribute. + If the user has specified an "onclick" attribute, append that + JavaScript to any existing JavaScript before rendering.

    + +

    If the component being rendered by + this renderer has any UIParameter children, each one + of them must be rendered using the renderer for component-family: + "javax.faces.Input" and renderer-type: "javax.faces.Hidden". For + discussion, this is called the hiddenRenderer. A component with + component-type "javax.faces.Input" must be created for local use + in rendering each UIParameter child. The "id" + property of the temporary component must be set to the "name" of + the UIParameter. The "value" property of the + temporary component must be set to the "value" of the + UIParameter. For each UIParameter + child, the hiddenRenderer must have its + encodeBegin(), encodeChildren(), and + encodeEnd() methods called, in order, passing the + temporary component as the second argument.

    + +
+ ]]>
+ tag-class: com.sun.faces.taglib.html_basic.CommandButtonTag + body-content: JSP +
+ + + + + + + + + + + + + + MethodExpression representing an action listener method that + will be notified when this component is activated by the user. + The expression must evaluate to a public method that takes an + ActionEvent parameter, with a return type of void, or to a public method that takes no + arguments with a return type of void. In the latter case, the + method has no way of easily knowing where the event came from, + but this can be useful in cases where a notification is needed + that "some action happened". + +

+ ]]>
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Absolute or relative URL of the + image to be displayed for this + button. If specified, this + "input" element will be of type + "image". Otherwise, it will be + of the type specified by the + "type" property with a label + specified by the "value" + property. Note + that if the value of this + attribute starts with "/", the + rendered value for this + attribute will be prefixed with + the context-root for this + application. +

+ ]]>
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + Render an HTML "a" anchor + element that acts like a form submit button when + clicked.

+ +

General Behaviour

+ +

Both the encode and decode behavior require the ability to get + the id/name for a hidden field, which may be rendered in markup or which + may be programmatically added via client DOM manipulation, + whose value is set by the JavaScript form submit. This name must + be constructed as follows:

+ +
    + +
  • Get the clientId for the form of which this component is a + child.

  • + +
  • Append + NamingContainer.SEPARATOR_CHAR.

  • + +
  • Append a constant string that is the same for all command + link components in the tree.

  • + +
+ +

In the following text, this String is called + hiddenFieldName.

+ +

Decode Behavior

+ +
    + +

    Obtain the "clientId" property of the component. Obtain the + Map from the "requestParameterMap" property of the + ExternalContext. Derive hiddenFieldName as above. + Get the entry in the Map under the key that is the + hiddenFieldName. If the there is no entry, or the entry is the + empty String, or the entry is not equal to the value of the + "clientId" property, return immediately. If there is an entry, + and its value is equal to the value of the "clientId" property, + create a new javax.faces.event.ActionEvent instance + around the component and call queueActionEvent() on + the component, passing the event.

    + +
+ + +

Encode Behavior

+ +
    + +

    If the value of the disabled attribute is + true, render a span element. Render all the passthru + attributes and the target attribute as pass-through + attributes on the span, even though the target + attribute will have no effect on a span. Render the current value + of the component as the content of the span. Return.

    + +

    If the disabled attribute is not present, or its + value is false, render an HTML a + element. Render "#" as the value of the "href" attribute. Render + the current value of the component as the link text if it is + specified. Render JavaScript that is functionally equivalent to + the following as the value of the "onclick" attribute:

    + +

    document.forms['CLIENT_ID']['hiddenFieldName'].value='CLIENT_ID'; + document.forms['CLIENT_ID']['PARAM1_NAME'].value='PARAM1_VALUE'; + document.forms['CLIENT_ID']['PARAM2_NAME'].value='PARAM2_VALUE'; + return false;

    + +

    document.forms['CLIENT_ID'].submit()" where hiddenFieldName is + as described above, CLIENT_ID is the clientId of the UICommand + component, PARAM*_NAME and PARAM*_VALUE are the names and values, + respectively, of any nested UIParameter children. The name and + the value must be URLEncoded. If an "onclick" attribute was + specified by the user, render this JavaScript in a function, + and render the user's JavaScript in a function. Render both functions + in a choice function as follows:

    + +

    var a=function(){#USER_FUNCTION#}; + var b=function(){#JSF_FUNCTION#}; + return (a()==false) ? false : b();

    + +

    where #USER_FUNCTION# is the user's JavaScript and + #JSF_FUNCTION# is the JavaScript rendered by JSF. The choice + function should operate such that if the user's JavaScript returns + true, then the rendered JavaScript will also execute.

    + +

    If the "styleClass" attribute is specified, render its value as + the value of the "class" attribute. Render any non-UIParameter + output children as normal inside of the "a" element. These will + appear as the link text. Allow the form renderer to output a + single "input" element (for the entire page, regardless of how + many command link components are in the page) of "type" "hidden" + whose "name" is the value of hiddenFieldName, and which must not + have a "value" attribute. Multiple occurrences of command link + components in the tree should not cause multiple hiddenFieldName + hidden fields. Allow the form renderer to output an "input" + element of "type" "hidden" for each of the nested UIParameter + children, taking the name property (but not the value) from each + one in turn. If the "disabled" attribute is specified, do not + render the HTML "a" anchor element or its "href" attribute. + Instead, render a "span" element. If the "styleClass" attribute + is specified, render its value as the value of the "class" + attribute on the "span". Render any pass-through attributes on + the "span". The content of the span element comes from the value + of the component or its children as specified above.

    + +

    If the user specified a target attribute, its + value must be set using javascript since the onclick + handler will prevent the target attribute from being generated. + This must be accomplished using JavaScript that is equivalent to + the following.

    + +

    document.forms['CLIENT_ID'].target='TARGET';

    + +

    Where TARGET is the value of the target attribute on the JSP + tag.

    + +
+ ]]>
+ tag-class: com.sun.faces.taglib.html_basic.CommandLinkTag + body-content: JSP +
+ + + + + + + + + + + + + + MethodExpression representing an action listener method that + will be notified when this component is activated by the user. + The expression must evaluate to a public method that takes an + ActionEvent parameter, with a return type of void, or to a public method that takes no + arguments with a return type of void. In the latter case, the + method has no way of easily knowing where the event came from, + but this can be useful in cases where a notification is needed + that "some action happened". + +

+ ]]>
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + Renders an HTML "table" element compliant with the HTML 401 + specification. Render the "caption" facet, if present, inside a + "caption" element immediately below the "table" element. If the + "captionClass" attribute is specified, render its value as the + value of the "class" attribute on the "caption" element. If the + "captionStyle" attribute is specified, render its value as the + value of the "style" attribute on the "caption" element.

+

Please consult the javadoc for UIData to + supplement this specification. If the "styleClass" attribute is + specified, render its value as the value of the "class" attribute + on the "table" element. Any pass-through attributes are also + rendered on the "table" element.

+ +

Column Groups

+ +
    + +

    If the UIData component has a "colgroups" facet, + render its contents. Consistent with the rules of facets in + general, this facet must have only one child. In general, this + will be a panel group component that will contain + colgroup and col elements per the HTML + Table specification. Use of column grouping can improve + accessibility. This facet must be rendered before the table + header and footer.

    + +
+ +

Rendering the header

+ +
    + +

    If the UIData component has a "header" facet, or + any of the child UIColumn components has a "header" + facet, render a "thead" element. If the UIData + component has a "header" facet, encode its contents inside of "tr" + and "th" elements, respectively. Output the value of the + "headerClass" attribute of the UIData component, if + present, as the value of the "class" attribute on the "th". + Output the number of child UIColumn components of the + UIData component as the value of the "colspan" + attribute on the "th". Output "colgroup" as the value of the + "scope" attribute on the "th" element.

    + +

    If any of the child UIColumn components has a + "header" facet render a "tr" element. For each + UIColumn that actually has a "header" facet, render + it inside of a "th" element. Columns that don't have a "header" + facet cause an empty "th" element to be rendered. Output the + value of the "headerClass" attribute of the UIColumn + component, if present, as the value of the "class" attribute on + the "th". If the "headerClass" attribute of the UIColumn + component is not present, output the value of the "headerClass" + attribute of the UIData component, if present, as + the value of the "class" attribute on the "th". Output "col" as + the value of the "scope" attribute on the "th" element. +

    + +

    Close out the "thead" element.

    + +
+ +

Rendering the footer

+ +
    + +

    Follow the same process as for the header, except replace + "header" with "footer", "th" with "td", "thead" with "tfoot", and + "headerClass" with "footerClass". Do not render any "scope" + attribute for the footer.

    + +
+ +

Rendering the table body

+ +
    + +

    Look at the value of the "bodyrows" attribute. If present, + this must be a comma separated list of integers. Each entry in + this list is the row index of the row before which a "tbody" + element should be rendered.

    + +

    If there was no "bodyrows" attribute, or it was empty, render a + "tbody" element. Keep track of the result of the "rows" property + on the UIData component. Keep track of the number of + rows we have rendered so far. Iterate through the rows. Set the + "rowIndex" property of the UIData component to be + correct as we iterate through the rows. Stop rendering children + and close out the "tbody" element if the "rowAvailable" property + of the UIData returned false. If the current row + index is contained in the "bodyrows" attribute, check if a "tbody" + start element was rendered that needs to be closed, and if so, + close the "tbody" element. Then render a "tbody" element start. + Otherwise, do not render a "tbody" element.

    + +

    Output a "tr" element. Output the value of the "rowClasses" + per the attribute description below. For each + UIColumn child, if the column component has a + "rowHeader" attribute with a value of "true", output a "th" + element with a "scope" attribute with the value of "row". + Otherwise, if the column component has no "rowHeader" attribute, + or its value is false, output a "td" element. In either case + attach the value of the "columnClasses" attribute of the + UIData component per the attribute description below. + Recursively encode each child of each UIColumn child. + Close out the "td" or "th" element. When done with the row, close + out the "tr" element. When done with all the rows, close out the + "tbody" element.

    + +
+ +

When done rendering all the rows, set the "rowIndex" property of + the UIData to -1, and close out the "table" + element.

+ ]]>
+ tag-class: com.sun.faces.taglib.html_basic.DataTableTag + body-content: JSP +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + Renders an HTML "form" element. + +

Decode Behavior

+ +
    + +

    Obtain the Map from the "requestParameterMap" + property of the ExternalContext. If the map contains + an entry for the "clientId" of this UIForm component, + call setSubmitted(true) on the form, otherwise call + setSubmitted(false) on the form.

    + +
+ + + +

Encode Behavior

+ +
    + +

    The value of the "method" attribute must be "post". The value + of the "action" attribute must be the result of passing the view + identifier of the current view to the getActionURL() + method of the ViewHandler for this application, then + passing that String to the encodeActionURL() method + on the ExternalContext. The value of the acceptcharset + attribute must be rendered as the value of "accept-charset". + If the "styleClass" attribute is specified, render its value as the + value of the "class" attribute. Render a "name" + attribute with a value the same as the "id" attribute as described + in "General Notes on + Encoding" regarding the "id" attribute for UIInput + components. Call ViewHandler.writeState() + before the the close of the "form" element. Render all the + necessary hidden fields for all commandLink instances in the page + just before the close of the "form" element. +

    + Just before rendering the closing </form> element tag, render + any resources that have been targeted for this form: +
      +
    • Obtain a UIViewRoot instance.
    • +
    • Obtain a List of component resources targeted for + this form with a call to UIViewRoot.getComponentResources() + with the String "form" as the argument.
    • +
    • Iterate over the returned List of UIComponent instances + and call encodeAll on each UIComponent instance. +
    +
    +

    +
+ + ]]>
+ tag-class: com.sun.faces.taglib.html_basic.FormTag + body-content: JSP +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + Renders an HTML "img" + element. Render the clientId as the value of the "id" + attribute.

+ +
+ +

Handling the Value

+ +
    + +

    If the "name" attribute is present, execute algorithm Common Algorithm for Obtaining A Resource to Render to obtain a Resource instance. Call + Resource.getRequestPath() and output the result as the + value of the "src" attribute on the rendered markup.

    + +

    Otherwise, if the "url" attribute is present, treat its value as + if it was the value of the "value" attribute. Otherwise, if the + "value" attribute is present, render the value of the component as + the value of the "src" attribute, after passing it to the + getResourceURL() method of the ViewHandler + for this application, and passing the result through the + encodeResourceURL() method of the + ExternalContext.

    + +

    When handling the "src" attribute, + the value must not be escaped. For example, & must not + be turned into &amp;. If the "styleClass" + attribute is specified, render its value as the value of the "class" + attribute.

    + +
+ +
+ ]]>
+ tag-class: com.sun.faces.taglib.html_basic.GraphicImageTag + body-content: JSP +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

The libraryName for this resource.

+ ]]>
+
+
+ + + + + + + +

The resourceName for this resource.

+ ]]>
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

The target area for which this resource will be rendered. For example, target="head" would cause the resource to be rendered within the head element.

+ ]]>
+
+
+ + + + + + + + + + + + + + + + + + + + +
+
+ + + Renders an HTML "input" element of type + "hidden".

+ +

Decode Behavior

+ +
    + +

    See the decode description for the Input + Text renderer.

    + +
+ +

Encode Behavior

+ +
    + +

    Render the clientId of the component as the value of the + "name" attribute. Render the current value of the component as + the value of the "value" attribute.

    + +
+ ]]>
+ tag-class: com.sun.faces.taglib.html_basic.InputHiddenTag + body-content: JSP +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + MethodExpression representing a value change listener method + that will be notified when a new value has been set for this + input component. The expression must evaluate to a public + method that takes a ValueChangeEvent parameter, + with a return type of void, or + to a public method that takes no arguments with a return type + of void. In the latter case, the method has no way of easily + knowing what the new value is, but this can be useful in cases + where a notification is needed that "this value + changed". + +

+ ]]>
+
+
+ + + + + +
+
+ + + Renders an HTML "input" element of "type" "password".

+ +

Decode Behavior

+ +
    + +

    See the decode description for the Input + Text renderer.

    + +
+ +

Encode Behavior

+ +
    + +

    + Render the clientId of the component as the value of the "name" + attribute. Render the current value of the component as the value + of the "value" attribute, if and only if the "redisplay" component + attribute is the string "true". If the "styleClass" attribute is + specified, render its value as the value of the "class" + attribute.

    + +
+ ]]>
+ tag-class: com.sun.faces.taglib.html_basic.InputSecretTag + body-content: JSP +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + MethodExpression representing a value change listener method + that will be notified when a new value has been set for this + input component. The expression must evaluate to a public + method that takes a ValueChangeEvent parameter, + with a return type of void, or + to a public method that takes no arguments with a return type + of void. In the latter case, the method has no way of easily + knowing what the new value is, but this can be useful in cases + where a notification is needed that "this value + changed". + +

+ ]]>
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + Renders an HTML "input" + element of "type" "text".

+ +

Decode Behavior

+ +
    + +

    Obtain the Map from the "requestParameterMap" + property of the ExternalContext. If the + Map contains an entry for the "clientId" of the + component, pass the value of the entry to the + setSubmittedValue() method of the component, which + must be an instance of EditableValueHolder.

    + +
+ +

Encode Behavior

+ +
    + +

    Render the clientId of the component as + the value of the "name" attribute. Render the current value of + the component as the value of the "value" attribute. If the + "styleClass" attribute is specified, render its value as the value + of the "class" attribute. +

    + +
+ ]]>
+ tag-class: com.sun.faces.taglib.html_basic.InputTextTag + body-content: JSP +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + MethodExpression representing a value change listener method + that will be notified when a new value has been set for this + input component. The expression must evaluate to a public + method that takes a ValueChangeEvent parameter, + with a return type of void, or + to a public method that takes no arguments with a return type + of void. In the latter case, the method has no way of easily + knowing what the new value is, but this can be useful in cases + where a notification is needed that "this value + changed". + +

+ ]]>
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + Renders an HTML "textarea" element.

+ +

Decode Behavior

+ +
    + +

    See the encode description for the Input + Text renderer.

    + +
+ +

Encode Behavior

+ +
    + +

    Render the + clientId as the value of the "name" attribute. Render the current + valu eof the component inside the "textarea" + element.

+ ]]>
+ tag-class: com.sun.faces.taglib.html_basic.InputTextareaTag + body-content: JSP +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + MethodExpression representing a value change listener method + that will be notified when a new value has been set for this + input component. The expression must evaluate to a public + method that takes a ValueChangeEvent parameter, + with a return type of void, or + to a public method that takes no arguments with a return type + of void. In the latter case, the method has no way of easily + knowing what the new value is, but this can be useful in cases + where a notification is needed that "this value + changed". + +

+ ]]>
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + Render a single message for a specific component.

+ +

Set-up for Rendering

+ +
    + +

    Obtain the "summary" and "detail" properties from + UIMessage component. If not present, keep the + empty string as the value, respectively. Obtain the first + FacesMessage to render from the component, using + the "for" property of the UIMessage. This will be + the only message we render. Obtain the severity style for this + message. If the severity of the message is + FacesMessage.SEVERITY_INFO, the severity style + comes from the value of the "infoStyle" attribute. If the + severity of the message is + FacesMessage.SEVERITY_WARN, the severity style + comes from the value of the "warnStyle" attribute, and so on for + each of the severities, INFO, WARN, ERROR and + FATAL. The same rules apply for obtaining the + severity style class, but instead of "infoStyle, warnStyle", etc + use "infoClass, warnClass", etc. Obtain the "style", + "styleClass" and "layout" attributes from the + UIMessage component. If we have a "style" + attribute and a severity style attribute, use the severity style + attribute as the value of the "style" attribute. If we have no + "style" attribute, but do have a severity style, use the + severity style as the value of the "style" attribute. The same + precedence rules apply for the style class. Obtain the value of + the dir and lang attributes.

    + +
+ +

Rendering

+ +
    + +

    For the message renderer, we only render one row, for the first + message. For the messages renderer, we render as many rows as we + have messages. If any of the "dir", "lang", "style" or + "styleClass" attributes has a non-null value (as determined + above), render a "span" element, outputting the value of the + "style" attribute as the the value of the "style" attribute, and + outputting the value of the "styleClass" attribute as the value of + the "class" attribute on the "span" element. Output the "dir" and + "lang" attributes as well, if they are present. If the + UIMessage has a "tooltip" attribute with the value of + "true", and the UIMessage has "showSummary" and + "showDetail" properties with the value "true", if we haven't + already written out the "span", output the "summary" as the value + of the "title" attribute on the "span". If we haven't already + written out a "title" attribute, and "showSummary" is true, output + the summary. If "showDetail" is true, output the detail. Close + out the span if necessary.

    + +
+ ]]>
+ tag-class: com.sun.faces.taglib.html_basic.MessageTag + body-content: JSP +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + The same as for the Message renderer, but output all the + messages. If the value of the "layout" attribute is "table", + render nested "table", "tr", and "td" elements, in that order. + If the value of the "layout" attribute is "list", or the "layout" + attribute is not specified, render nested "ul", "li" elements, + in that order. Output the value of the "style" attribute as the + value of the "style" attribute, output the value of the "styleClass" + attribute as the value of the "class" attribute, and output the dir + and lang attributes. Output these values on the "table" element or + the "ul" element. Output the values of the "errorStyle", "fatalStyle", + "infoStyle", "warnStyle" attributes as the value of the "style" attribute + on either the "tr" element or the "li" element. Output the values of + the "errorClass", "fatalClass", "infoClass", "warnClass" attributes as the + value of the "class" attribute on either the "tr" element or the "li" + element. The component is a UIMessages, and + there is no "for" attribute. Therefore, use either null + to obtain the messages from the FacesContext or the + empty string if the components "globalOnly" property is true. + If the layout was "table" close out the table elements, otherwise, + close out the list elements.

+ ]]>
+ tag-class: com.sun.faces.taglib.html_basic.MessagesTag + body-content: JSP +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + Render parameterized text. Obtain the + style, styleClass, dir, and + lang attributees from this component. If any are + present, render a "span" element. Output the + styleClass attribute (if present) as the value of the + class attribute. Output the style + attribute as the value of the style attribute. + Output the dir and lang attributes as + pass through attributes. Accrue a list of the values of all child + UIParameter components of this component. If there + are one or more accumulated parameter values, convert the list of + parameter values to an Object array, call + MessageFormat.format(), passing the + value of this component as the first argument, and + the array of parameter values as the second argument, and render + the result. Otherwise, render the value of this + component unmodified.

+ ]]>
+ tag-class: com.sun.faces.taglib.html_basic.OutputFormatTag + body-content: JSP +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + tag-class: com.sun.faces.taglib.html_basic.OutputLabelTag + body-content: JSP + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + encodeResourceURL() method of the + ExternalContext. The name of the UIParameter goes on + the left hand side, and the value of the UIParameter on the right + hand side. The name and the value must be URLEncoded. Each + UIParameter instance is separeted by an ampersand, as dictated in + the URL spec. If the "styleClass" attribute is specified, render + its value as the value of the "class" attribute. If the "id" attribute + is specified, follow the same steps as mentioned in the + "General + Notes on Encoding" regarding the "id" attribute for UIInput components. + If the "disabled" attribute is specified, do not render the HTML "a" + anchor element or the "href" element. Instead, render a "span" element. + If the "styleClass" attribute is specified, render its value as the value + of the "class" attribute on the "span". Render any pass-through attributes + on the "span". + ]]> + tag-class: com.sun.faces.taglib.html_basic.OutputLinkTag + body-content: JSP + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + tag-class: com.sun.faces.taglib.html_basic.OutputTextTag + body-content: JSP + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + UIPanel component inside + of a "tbody" element. Render the children based on the value of + the "columns" attribute, creating a new row each time a "columns" + worth of children have been rendered. For the start of each row, + render a "tr" element. Output the value of the "rowClasses" per + the attribute description below. For each child, output a "td" + element, attaching the value of the "columnClasses" attribute per + the attribute description below. Recursively encode each child. + Close out the "td" element. When done with the row, close out the + "tr" element. If a child has "rendered==false" it is not rendered, + and the column counter must not be incremented. + ]]> + tag-class: com.sun.faces.taglib.html_basic.PanelGridTag + body-content: JSP + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + tag-class: com.sun.faces.taglib.html_basic.PanelGroupTag + body-content: JSP + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Renders an HTML "input" element of type "checkbox".

+ +

Decode Behavior

+ +
    + +

    Obtain the Map from the "requestParameterMap" + property of the ExternalContext. If there is no + entry in the Map for the "clientId" of this + component, pass "false" to the setSubmittedValue() + method of the component, which must be an instance of + EditableValueHolder. If there is an entry, and its + value is equal, ignoring case and without quotes, to any of the + Strings: "on", "yes" or "true" pass true to the + setSubmittedValue() method of the component.

    + +
+ +

Encode Behavior

+ +
    + +

    + Render the clientId of the component as the value of the "name" + attribute. If the current value of the component is "true", + output the "checked" attribute (must be rendered as checked="checked"). + If the "styleClass" attribute is specified, render its value as the value + of the "class" attribute.

+ ]]>
+ tag-class: com.sun.faces.taglib.html_basic.SelectBooleanCheckboxTag + body-content: JSP +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + MethodExpression representing a value change listener method + that will be notified when a new value has been set for this + input component. The expression must evaluate to a public + method that takes a ValueChangeEvent parameter, + with a return type of void, or + to a public method that takes no arguments with a return type + of void. In the latter case, the method has no way of easily + knowing what the new value is, but this can be useful in cases + where a notification is needed that "this value + changed". + +

+ ]]>
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + Render an HTML checkbox + list.

+ +

Decode Behavior

+ + + +

Encode Behavior

+ +
    +

    Render a "table" element. If the "styleClass" is specified, + render the value of the "styleClass" attribute as the value of the + "class" attribute on the "table" element. If the "style", or + "border" attributes are specified, pass them thru and render their values as the "style" + and "border" attributes on the "table", respectively. If + the "layout" attribute is specified, and its value is + "pageDirection", render the children elements vertically, + otherwise horizontally, in the table. If any of the children are + an instance of SelectItemGroup, render them as a nested table. + Each of the children are ultimately rendererd as follows. Render + an "input" element of "type" "checkbox" for each child component. + Render the "name" attribute on the "input" element with the value + of the clientId of the component. Render an "id" + attribute on the "input" element. Each "id" value must be unique. + If the current SelectItem.isDisabled() returns true, render + "disabled" as the value of the "disabled" attribute. Close out + the "input" element. Render a "label" element. Render the "for" + attribute of the "label" element whose value is the corresponding + "input" element's "id" value. Render any "style" as the "class" + attribute on the "label" element. If the current checkbox would be + rendered as being checked, and there is a "selectedClass" + attribute, append a space, followed by the value of the + "selectedClass" attribute to any existing "class" attribute value + on the label element. Otherwise, render the value of the + "selectedClass" attribute as the value of the "class" attribute on + the label element. If the current checkbox would be rendered as + being not checked, and there is a "unselectedClass" attribute, + append a space, followed by the value of the "unselectedClass" + attribute to any existing "class" attribute value on the label + element. Otherwise, render the value of the "unselectedClass" + attribute as the value of the "class" attribute on the label + element. Close out the starting "label" element and render + the label value from SelectItem.getLabel(). Close out the "label" + element. As an exception to the general rules about how to handle + the "id" attribute, render it as an attribute on the outer "table" + element, the value of which is the clientId of the + component per the rules at the beginning of this specification. + The value of the current SelectItem is rendered as the value of + the "value" attribute. Coerce the value of the currently rendered + child to the type of the parent UISelectMany value following the + Expression Language coercion rules, before comparing the values. + If the value of the enclosing UISelectMany matches the current + value, render "checked" as the value of the "checked" attribute. + See the "Rendering + the option elements" specification for + ListboxRenderer for more detail on how to render the + "option" elements in this renderer.

    + +
+ ]]>
+ tag-class: com.sun.faces.taglib.html_basic.SelectManyCheckboxTag + body-content: JSP +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + MethodExpression representing a value change listener method + that will be notified when a new value has been set for this + input component. The expression must evaluate to a public + method that takes a ValueChangeEvent parameter, + with a return type of void, or + to a public method that takes no arguments with a return type + of void. In the latter case, the method has no way of easily + knowing what the new value is, but this can be useful in cases + where a notification is needed that "this value + changed". + +

+ ]]>
+
+
+ + + + + + + + + + + + + Optional + attribute that is a literal string that is the fully qualified + class name of a concrete class that implements + java.util.Collection, or an EL expression that + evaluates to either 1. such a String, or 2. the + Class object itself.

+ ]]>
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + Render an HTML option + list.

+ +

Decode Behavior

+ +

This section documents the decode behavior for all renderers + that handle UISelectMany or UISelectOne + components.

+ +
    + +

    Decode Behavior for + UISelectMany components

    + +
      + +

      Obtain the Map from the + "requestParameterValuesMap" property of the + ExternalContext. If the Map contains + an entry for the "clientId" of the component, pass the value of + the entry, cast to a String [], to the + setSubmittedValue() method of the component, which + must be an EditableValueHolder. If the + Map does not contain an entry, create an empty + String array and call + setSubmittedValue() with it.

      + +

      Please check the javadoc for UISelectMany.getConvertedValue() + for additional requirements for renderers that render this kind + of component.

      + +
    + +

    Decode Behavior for + UISelectOne components

    + +
      + +

      Obtain the Map from the "requestParameterMap" + property of the ExternalContext. If there is a + Map entry for the "clientId" property of the + component, pass it to the setSubmittedValue() method + of the component. If the + Map does not contain an entry, call + setSubmittedValue() passing an empty + String as the argument.

      + +
    + +

    Encode Behavior

    + +
      + +

      Render an HTML "select" element. Render the clientId of + the component as the value of the "name" attribute. If the "styleClass" + attribute is specified, render its value as the value of the "class" + attribute on the "select" element. If the component is a + UISelectMany instance, render "multiple" as the value of the + "multiple" attribute. If the "size" attribute is specified, render its + value as the value of the "size" attribute. Otherwise use the number of + items as the value of the "size" attribute.

      + +
    + +

    Rendering the "option" elements

    + +
      + +

      The only valid children of this component are + UISelectItem or UISelectItems + instances. Iterate over the children of this component, and accrue + a list of javax.faces.model.SelectItem instances. + If the current child is a + SelectItem whose noSelctionProperty is + true, and the UISelectOne or + UISelectMany parent of this option has one or more + selected values that are not the "no selection" + SelectItem, and the component has a + "hideNoSelectionLabel" attribute whose value is true, + then the current option, which is the "no selection" option, must + not be rendered. If the current child is a + UISelectItem create a SelectIteminstance + from its itemValue, itemLabel and + itemDescription properties, add it to the list. If + the current child is a UISelectItems instance, call + its getValue() method. If the result is a + SelectItem bean, add it to the list. If the result + is an array of SelectItem beans, add each one to the + list. If the result is a Collection of + SelectItem beans, add each one to the list. If the + result is a Map, create a SelectItem + bean for each entry in the Map using the key as the + label, the value as the value, and null as the + description. Iterate over the list of SelectItem + beans. If the current element is a SelectItemGroup, + render an "optgroup" element with a "label" attribute, the value + of which is the "label" property from the current element, then + call getSelectItems() and render each element as + below. If the current element is not a + SelectItemGroup, render an "option" element. Follow + the conversion rules in the spec to obtain a renderable + String from the "value" property of the current + element, render that as the value of the "value" atribute. Now it + is time to see if the current element is the selected value. Call + its getSubmittedValue() method, casting the result to + an Object [], otherwise the component must be a + UISelectOne instance, call its + getSubmittedValue() method and create an Object + [] around the result. Determine the type of the resultant + array if the resultant array is non-null, otherwise the type is + String. Coerce the current item value to this type + following the Expression Language coercion rules. If the + resultant array is non-null, we look in the array for a value + that, when we pass the renderable value to its + equals() method, it returns true, + meaning the current element is selected. If the resultant array + is null, if the component is a + UISelectMany, call its getValue() + method. If the result is a List obtain the values in + the list as an array. Otherwise, the component must be a + UISelectOne instance. Call its + getValue() method, which must be an Object array. + Look for an element in the resultant array that, 1. when we pass + the renderable value to its equals() method, it + returns true , or 2. if the renderable value is null, + and there is a null element in the array, also conclude that the + current element is selected. Otherwise the current element is not + selected. Now, if the current value is selected, write out an + HTML boolean property "selected". If the current + SelectItem.isDisabled() returns true, render "disabled" as the + value of the "disabled" attribute.

      + +
    + +
+ ]]>
+ tag-class: com.sun.faces.taglib.html_basic.SelectManyListboxTag + body-content: JSP +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + MethodExpression representing a value change listener method + that will be notified when a new value has been set for this + input component. The expression must evaluate to a public + method that takes a ValueChangeEvent parameter, + with a return type of void, or + to a public method that takes no arguments with a return type + of void. In the latter case, the method has no way of easily + knowing what the new value is, but this can be useful in cases + where a notification is needed that "this value + changed". + +

+ ]]>
+
+
+ + + + + + + + Optional + attribute that is a literal string that is the fully qualified + class name of a concrete class that implements + java.util.Collection, or an EL expression that + evaluates to either 1. such a String, or 2. the + Class object itself.

+ ]]>
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + Render an HTML option + list.

+ +

Decode Behavior

+ + + +

Encode Behavior

+ +
    + +

    Render an HTML "select" element. Render the clientId of + the component as the value of the "name" attribute. If the "styleClass" + attribute is specified, render its value as the value of the "class" + attribute on the "select" element. If the component + to be rendered is a UISelectMany, render "multiple" as the value of + the "multiple" attribute. Render "1" as the value of the "size" + attribute. See the "Rendering the option + elements" specification for ListboxRenderer for + more detail on how to render the "option" elements in this + renderer.

    + +
+ ]]>
+ tag-class: com.sun.faces.taglib.html_basic.SelectManyMenuTag + body-content: JSP +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + MethodExpression representing a value change listener method + that will be notified when a new value has been set for this + input component. The expression must evaluate to a public + method that takes a ValueChangeEvent parameter, + with a return type of void, or + to a public method that takes no arguments with a return type + of void. In the latter case, the method has no way of easily + knowing what the new value is, but this can be useful in cases + where a notification is needed that "this value + changed". + +

+ ]]>
+
+
+ + + + + + + + Optional + attribute that is a literal string that is the fully qualified + class name of a concrete class that implements + java.util.Collection, or an EL expression that + evaluates to either 1. such a String, or 2. the + Class object itself.

+ ]]>
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + Render an HTML option list.

+ +

Decode Behavior

+ + + +

Encode Behavior

+ +
    +

    Render an HTML "select" element. Render the clientId of + the component as the value of the "name" attribute. If the "styleClass" + attribute is specified, render its value as the value of the "class" + attribute on the "select" element. If the component + to be rendered is a UISelectMany, render "multiple" as the value of + the "multiple" attribute. If the "size" attribute is specified, + render its value as the value of the "size" attribute. Otherwise + use the number of items as the value of the "size" attribute. See + the "Rendering the option + elements" specification for ListboxRenderer for + more detail on how to render the "option" elements in this + renderer.

    + +
+ ]]>
+ tag-class: com.sun.faces.taglib.html_basic.SelectOneListboxTag + body-content: JSP +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + MethodExpression representing a value change listener method + that will be notified when a new value has been set for this + input component. The expression must evaluate to a public + method that takes a ValueChangeEvent parameter, + with a return type of void, or + to a public method that takes no arguments with a return type + of void. In the latter case, the method has no way of easily + knowing what the new value is, but this can be useful in cases + where a notification is needed that "this value + changed". + +

+ ]]>
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + Render an HTML option list.

+ +

Decode Behavior

+ + + +

Encode Behavior

+ +
    + +

    Render an HTML "select" element. Render the clientId of the + component as the value of the "name" attribute. If the + "styleClass" attribute is specified, render its value as the value + of the "class" attribute on the "select" element. If the component + to be rendered is a UISelectMany, render "true" as the value of + the "multiple" attribute. Use the number of items as the value of + the "size" attribute. See the "Rendering + the option elements" specification for + ListboxRenderer for more detail on how to render the + "option" elements in this renderer.

    + +
+ ]]>
+ tag-class: com.sun.faces.taglib.html_basic.SelectOneMenuTag + body-content: JSP +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + MethodExpression representing a value change listener method + that will be notified when a new value has been set for this + input component. The expression must evaluate to a public + method that takes a ValueChangeEvent parameter, + with a return type of void, or + to a public method that takes no arguments with a return type + of void. In the latter case, the method has no way of easily + knowing what the new value is, but this can be useful in cases + where a notification is needed that "this value + changed". + +

+ ]]>
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + Render a set of html + "input" elements of type "radio".

+ +

Decode Behavior

+ + + +

Encode Behavior

+ +
    + +

    Render a "table" element. If the "styleClass" is specified, + render the value of the "styleClass" attribute as the value of the + "class" attribute on the "table" element. If the "style", "border" + attributes are specified, pass them thru and render their values as the "style" + and "border" attributes on the "table", respectively.. If + the "layout" attribute is specified, and its value is + "pageDirection", render the children elements vertically, + otherwise horizontally, in the table. If any of the children are + an instance of SelectItemGroup, render them as a nested table. + Each of the children are ultimately rendered as follows. Render + an "input" element of "type" "radio" for each child component. + Render the "name" attribute on the "input" element with the value + of the clientId of the component. Render an "id" + attribute on the "input" element. Each "id" value must be unique. + If the current SelectItem.isDisabled() returns true, render + "disabled" as the value of the "disabled" attribute. Close out + the "input" element. Render a "label" element. Render the "for" + attribute of the "label" element whose value is the corresponding + "input" element's "id" value. Render any "style" as the "class" + attribute on the "label" element. Close out the starting "label" + element and render the label value from SelectItem.getLabel(). + Close out the "label" element. As an exception to the general + rules about how to handle the "id" attribute, render it as an + attribute on the outer "table" element, the value of which is the + clientId of the component per the rules at the + beginning of this specification. Coerce the value of the + currently rendered child to the type of the parent UISelectOne + value using the Expression Language coercion rules before + comparing the values. If the value of the currently rendered + child is equal to the value of the parent UISelectOne, render an + appropriate HTML boolean value indicating "checked" for the + enclosing "input". See the "Rendering + the option elements" specification for + ListboxRenderer for more detail on how to render the + "option" elements in this renderer.

    + +
+ ]]>
+ tag-class: com.sun.faces.taglib.html_basic.SelectOneRadioTag + body-content: JSP +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + MethodExpression representing a value change listener method + that will be notified when a new value has been set for this + input component. The expression must evaluate to a public + method that takes a ValueChangeEvent parameter, + with a return type of void, or + to a public method that takes no arguments with a return type + of void. In the latter case, the method has no way of easily + knowing what the new value is, but this can be useful in cases + where a notification is needed that "this value + changed". + +

+ ]]>
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + Renders a UIComponent that represents a single column of data within a parent UIData component.

+ ]]>
+ tag-class: com.sun.faces.taglib.html_basic.ColumnTag + body-content: JSP +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
diff --git a/cobigen/cobigen-xmlplugin/src/main/resources/mergeSchemas/xsd/myfaces_facelets_core_2_1.xsd b/cobigen/cobigen-xmlplugin/src/main/resources/mergeSchemas/xsd/myfaces_facelets_core_2_1.xsd new file mode 100644 index 0000000000..93c0b1206a --- /dev/null +++ b/cobigen/cobigen-xmlplugin/src/main/resources/mergeSchemas/xsd/myfaces_facelets_core_2_1.xsd @@ -0,0 +1,1620 @@ + + + + + + + + + This tag library implements the standard JSF core tags for Facelets. + display-name: JSF Core Facelets Tag Library. + tlib-version: 2.1 + short-name: f + + + + + + body-content: empty + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +See the javadocs for interface NamingContainer for further details. +

]]>
+ tag-class: org.apache.myfaces.taglib.core.SubviewTag + body-content: JSP +
+ + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + body-content: JSP + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + tag-class: org.apache.myfaces.taglib.core.ViewParamTag + body-content: JSP + + + + + + + + + + + + + + + +If this value is true and no input value is provided by a postback operation, then the "requiredMessage" text is +registered as a FacesMessage for the request, and validation fails. +

+

+Default value: false. +

]]>
+ +
+
+ + + +

]]>
+ +
+
+ + + + + + + + + +The invoked method is expected to check the submitted value for this component, and if not acceptable then report +a validation error for the component. +

+

+The method is expected to have the prototype +

+public void aMethod(FacesContext, UIComponent,Object)]]>
+ +
+
+ + + + + + + + + +The phase in which this method is invoked can be controlled via the immediate attribute. +

]]>
+ +
+
+ + + + + + + + + +The value can either be a static value (ID) or an EL expression. When a static id is +specified, an instance of the converter type registered with that id is used. When this +is an EL expression, the result of evaluating the expression must be an object that +implements the Converter interface. +

]]>
+ +
+
+ + + + + + + + + + + + +
+
+ + + +Unless otherwise specified, all attributes accept static values or EL expressions. +

]]>
+ tag-class: org.apache.myfaces.taglib.core.ParamTag + body-content: JSP +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +Unless otherwise specified, all attributes accept static values or EL expressions. +

+

+UISelectItem should be nestetd inside a UISelectMany or UISelectOne component, and results in the addition of a +SelectItem instance to the list of available options for the parent component +

]]>
+ tag-class: org.apache.myfaces.taglib.core.SelectItemTag + body-content: empty +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +BeanValidator is a {@link javax.faces.validator.Validator} +that doesn't do any validation itself, but delegates validation logic to +Bean Validation. +

]]>
+ tag-class: $component.tagClass + body-content: empty +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + JSF Specification]]> + tag-class: org.apache.myfaces.taglib.core.ValidateDoubleRangeTag + body-content: empty + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + JSF Specification]]> + tag-class: org.apache.myfaces.taglib.core.ValidateLengthTag + body-content: empty + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + JSF Specification]]> + tag-class: org.apache.myfaces.taglib.core.ValidateLongRangeTag + body-content: empty + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + RegexValidator is a {@link javax.faces.validator.Validator} + that checks the value of the corresponding component against specified + pattern using Java regular expression syntax. + + The regular expression syntax accepted by the RegexValidator class is + same as mentioned in class {@link java.util.regex.Pattern} in package + java.util.regex. +

+ +

+ The following algorithm is implemented: +

+ +
    +
  • If the passed value is null, exit immediately.
  • +
  • + If the passed value is not a String, exit with a {@link #NOT_MATCHED_MESSAGE_ID} + error message. +
  • +
  • + If no pattern has been set, or pattern resolves to null or an + empty String, throw a {@link javax.faces.validator.ValidatorException} + with a {@link #PATTERN_NOT_SET_MESSAGE_ID} message. +
  • +
  • + If pattern is not a valid regular expression, according to the rules as defined + in class {@link java.util.regex.Pattern}, throw a {@link ValidatorException} + with a (@link #MATCH_EXCEPTION_MESSAGE_ID} message. +
  • +
  • + If a pattern property has been configured on this + {@link javax.faces.validator.Validator}, check the passed value against this pattern. + If value does not match pattern throw a {@link ValidatorException} + containing a {@link #NOT_MATCHED_MESSAGE_ID} message. +
  • +
]]>
+ tag-class: org.apache.myfaces.taglib.core.ValidateRegexTag + body-content: empty +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + tag-class: $component.tagClass + body-content: empty + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Unless otherwise specified, all attributes accept static values or EL expressions. +

Register an ActionListener instance on the UIComponent associated with the closest parent UIComponent custom action. + +See javax.faces.event.ActionListener +See javax.faces.component.ActionSource

]]>
+ tag-class: org.apache.myfaces.view.facelets.tag.jsf.core.ActionListenerHandler + body-content: JSP +
+ + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +Unless otherwise specified, all attributes accept static values or EL expressions. +

+

+According to the documentation, the tag handler implementing this tag should meet +the following conditions: +

+
    +
  • Since this tag attach objects to UIComponent instances, and those instances +implements Behavior interface, this component should implement +BehaviorHolderAttachedObjectHandler interface.
  • +
  • f:ajax does not support binding property. In theory we should do something similar +to f:convertDateTime tag does: extends from ConverterHandler and override setAttributes +method, but in this case BehaviorTagHandlerDelegate has binding property defined, so +if we extend from BehaviorHandler we add binding support to f:ajax.
  • +
  • This tag works as a attached object handler, but note on the api there is no component +to define a target for a behavior. See comment inside apply() method.
  • +
]]>
+ tag-class: org.apache.myfaces.view.facelets.tag.jsf.core.AjaxHandler + body-content: JSP +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +When the value is not an EL expression, this tag has the same effect as calling component.getAttributes.put(name, +value). When the attribute name specified matches a standard property of the component, that property is set. However +it is also valid to assign attributes to components using any arbitrary name; the component itself won't make any use +of these but other objects such as custom renderers, validators or action listeners can later retrieve the attribute +from the component by name. +

+

+When the value is an EL expression, this tag has the same effect as calling component.setValueBinding. A call to +method component.getAttributes().get(name) will then cause that expression to be evaluated and the result of the +expression is returned, not the original EL expression string. +

+

+See the javadoc for UIComponent.getAttributes for more details. +

+

+Unless otherwise specified, all attributes accept static values or EL expressions. +

Sets the specified name and attribute on the parent UIComponent. If the "value" specified is not a literal, it will +instead set the ValueExpression on the UIComponent. + +See javax.faces.component.UIComponent#getAttributes() +See javax.faces.component.UIComponent#setValueExpression(java.lang.String, javax.el.ValueExpression)

]]>
+ tag-class: org.apache.myfaces.view.facelets.tag.jsf.core.AttributeHandler + body-content: JSP +
+ + + + + + + + + + + + + + + + + + +
+ + + + tag-class: org.apache.myfaces.view.facelets.tag.jsf.core.AttributesHandler + body-content: JSP + + + + + + + + + + + JSF Specification

Register a DateTimeConverter instance on the UIComponent associated with the closest parent UIComponent custom +action.

]]>
+ tag-class: org.apache.myfaces.view.facelets.tag.jsf.core.ConvertDateTimeHandler + body-content: JSP +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + Register a named Converter instance on the UIComponent associated with the closest parent UIComponent custom action.

]]>
+ tag-class: org.apache.myfaces.view.facelets.tag.jsf.core.ConvertDelegateHandler + body-content: JSP +
+ + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + JSF Specification

Register a NumberConverter instance on the UIComponent associated with the closest parent UIComponent custom action.

]]>
+ tag-class: org.apache.myfaces.view.facelets.tag.jsf.core.ConvertNumberHandler + body-content: JSP +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + tag-class: org.apache.myfaces.view.facelets.tag.jsf.core.EventHandler + body-content: JSP + + + + + + + + + + + + + + + + + + + + + + + JSF Specification

Register a named facet on the UIComponent associated with the closest parent UIComponent custom action.

]]>
+ tag-class: org.apache.myfaces.view.facelets.tag.jsf.core.FacetHandler + body-content: JSP +
+ + + + + + + + + + + + + +
+ + + +Unless otherwise specified, all attributes accept static values or EL expressions. +

+

+TODO: We should find a way to save loaded bundles in the state, because otherwise on the next request the bundle map +will not be present before the render phase and value bindings that reference to the bundle will always log annoying +"Variable 'xxx' could not be resolved" error messages. +

Load a resource bundle localized for the Locale of the current view, and expose it (as a Map) in the request +attributes of the current request.

]]>
+ tag-class: org.apache.myfaces.view.facelets.tag.jsf.core.LoadBundleHandler + body-content: JSP +
+ + + + + + + + + + + + + + + + + + + +
+ + + + tag-class: org.apache.myfaces.view.facelets.tag.jsf.core.PassThroughAttributeHandler + body-content: JSP + + + + + + + + + + + + tag-class: org.apache.myfaces.view.facelets.tag.jsf.core.PassThroughAttributesHandler + body-content: JSP + + + + + + + + + + + null

]]>
+ tag-class: org.apache.myfaces.view.facelets.tag.jsf.core.PhaseListenerHandler + body-content: JSP +
+ + + + + + + + + + + + + + + + + + +
+ + + + tag-class: org.apache.myfaces.view.facelets.tag.jsf.core.ResetValuesActionListenerHandler + body-content: JSP + + + + + + + + + + + + + + + + + + + + + + + + +Unless otherwise specified, all attributes accept static values +or EL expressions. +

+

+UISelectItems should be nested inside a UISelectMany or UISelectOne component, +and results in the addition of one ore more SelectItem instance to the list of available options +for the parent component +

null

]]>
+ tag-class: org.apache.myfaces.view.facelets.tag.jsf.core.SelectItemsHandler + body-content: JSP +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + null

]]>
+ tag-class: org.apache.myfaces.view.facelets.tag.jsf.core.SetPropertyActionListenerHandler + body-content: JSP +
+ + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +During the validation phase (or the apply-request-values phase for immediate components), if the associated component +has any submitted value and the conversion of that value to the required type has succeeded then the specified +validator type is invoked to test the validity of the converted value. +

+

+Commonly associated with an h:inputText entity, but may be applied to any input component. +

+

+Some validators may allow the component to use attributes to define component-specific validation constraints; see +the f:attribute tag. See also the "validator" attribute of all input components, which allows a component to specify +an arbitrary validation <i>method</i> (rather than a registered validation type, as this tag does). +

+

+Unless otherwise specified, all attributes accept static values or EL expressions. +

Register a named Validator instance on the UIComponent associated with the closest parent UIComponent custom +action.

]]>
+ tag-class: org.apache.myfaces.view.facelets.tag.jsf.core.ValidateDelegateHandler + body-content: JSP +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +Whenever the form containing the parent UIComponent is submitted, an instance of the specified type is created. If +the submitted value from the component is different from the component's current value then a ValueChangeEvent is +queued. When the ValueChangeEvent is processed (at end of the validate phase for non-immediate components, or at end +of the apply-request-values phase for immediate components) the object's processValueChange method is invoked. +

+

+Unless otherwise specified, all attributes accept static values or EL expressions. +

Register an ValueChangeListener instance on the UIComponent associated with the closest parent UIComponent custom +action.

]]>
+ tag-class: org.apache.myfaces.view.facelets.tag.jsf.core.ValueChangeListenerHandler + body-content: JSP +
+ + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + Handler for f:verbatim

]]>
+ tag-class: org.apache.myfaces.view.facelets.tag.jsf.core.VerbatimHandler + body-content: JSP +
+ + + + + + + + + + + + + + + + + + +
+ + + +Unless otherwise specified, all attributes accept static values or EL expressions. +

+

+See the javadoc for this class in the JSF +Specification for further details. +

Container for all JavaServer Faces core and custom component actions used on a page.

]]>
+ tag-class: org.apache.myfaces.view.facelets.tag.jsf.core.ViewHandler + body-content: JSP +
+ + + + + + + + +Defaults to the default locale specified in the faces configuration file. +

]]>
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + tag-class: org.apache.myfaces.view.facelets.tag.jsf.core.ViewMetadataHandler + body-content: JSP + + + + + + + + + + + + tag-class: org.apache.myfaces.view.facelets.tag.jsf.core.WebsocketHandler + body-content: JSP + + + + + + + + + + + + + + + +
diff --git a/cobigen/cobigen-xmlplugin/src/main/resources/mergeSchemas/xsd/myfaces_facelets_core_2_2.xsd b/cobigen/cobigen-xmlplugin/src/main/resources/mergeSchemas/xsd/myfaces_facelets_core_2_2.xsd new file mode 100644 index 0000000000..5ee96eaa5c --- /dev/null +++ b/cobigen/cobigen-xmlplugin/src/main/resources/mergeSchemas/xsd/myfaces_facelets_core_2_2.xsd @@ -0,0 +1,1620 @@ + + + + + + + + + This tag library implements the standard JSF core tags for Facelets. + display-name: JSF Core Facelets Tag Library. + tlib-version: 2.2 + short-name: f + + + + + + body-content: empty + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +See the javadocs for interface NamingContainer for further details. +

]]>
+ tag-class: org.apache.myfaces.taglib.core.SubviewTag + body-content: JSP +
+ + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + body-content: JSP + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + tag-class: org.apache.myfaces.taglib.core.ViewParamTag + body-content: JSP + + + + + + + + + + + + + + + +If this value is true and no input value is provided by a postback operation, then the "requiredMessage" text is +registered as a FacesMessage for the request, and validation fails. +

+

+Default value: false. +

]]>
+ +
+
+ + + +

]]>
+ +
+
+ + + + + + + + + +The invoked method is expected to check the submitted value for this component, and if not acceptable then report +a validation error for the component. +

+

+The method is expected to have the prototype +

+public void aMethod(FacesContext, UIComponent,Object)]]>
+ +
+
+ + + + + + + + + +The phase in which this method is invoked can be controlled via the immediate attribute. +

]]>
+ +
+
+ + + + + + + + + +The value can either be a static value (ID) or an EL expression. When a static id is +specified, an instance of the converter type registered with that id is used. When this +is an EL expression, the result of evaluating the expression must be an object that +implements the Converter interface. +

]]>
+ +
+
+ + + + + + + + + + + + +
+
+ + + +Unless otherwise specified, all attributes accept static values or EL expressions. +

]]>
+ tag-class: org.apache.myfaces.taglib.core.ParamTag + body-content: JSP +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +Unless otherwise specified, all attributes accept static values or EL expressions. +

+

+UISelectItem should be nestetd inside a UISelectMany or UISelectOne component, and results in the addition of a +SelectItem instance to the list of available options for the parent component +

]]>
+ tag-class: org.apache.myfaces.taglib.core.SelectItemTag + body-content: empty +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +BeanValidator is a {@link javax.faces.validator.Validator} +that doesn't do any validation itself, but delegates validation logic to +Bean Validation. +

]]>
+ tag-class: $component.tagClass + body-content: empty +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + JSF Specification]]> + tag-class: org.apache.myfaces.taglib.core.ValidateDoubleRangeTag + body-content: empty + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + JSF Specification]]> + tag-class: org.apache.myfaces.taglib.core.ValidateLengthTag + body-content: empty + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + JSF Specification]]> + tag-class: org.apache.myfaces.taglib.core.ValidateLongRangeTag + body-content: empty + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + RegexValidator is a {@link javax.faces.validator.Validator} + that checks the value of the corresponding component against specified + pattern using Java regular expression syntax. + + The regular expression syntax accepted by the RegexValidator class is + same as mentioned in class {@link java.util.regex.Pattern} in package + java.util.regex. +

+ +

+ The following algorithm is implemented: +

+ +
    +
  • If the passed value is null, exit immediately.
  • +
  • + If the passed value is not a String, exit with a {@link #NOT_MATCHED_MESSAGE_ID} + error message. +
  • +
  • + If no pattern has been set, or pattern resolves to null or an + empty String, throw a {@link javax.faces.validator.ValidatorException} + with a {@link #PATTERN_NOT_SET_MESSAGE_ID} message. +
  • +
  • + If pattern is not a valid regular expression, according to the rules as defined + in class {@link java.util.regex.Pattern}, throw a {@link ValidatorException} + with a (@link #MATCH_EXCEPTION_MESSAGE_ID} message. +
  • +
  • + If a pattern property has been configured on this + {@link javax.faces.validator.Validator}, check the passed value against this pattern. + If value does not match pattern throw a {@link ValidatorException} + containing a {@link #NOT_MATCHED_MESSAGE_ID} message. +
  • +
]]>
+ tag-class: org.apache.myfaces.taglib.core.ValidateRegexTag + body-content: empty +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + tag-class: $component.tagClass + body-content: empty + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Unless otherwise specified, all attributes accept static values or EL expressions. +

Register an ActionListener instance on the UIComponent associated with the closest parent UIComponent custom action. + +See javax.faces.event.ActionListener +See javax.faces.component.ActionSource

]]>
+ tag-class: org.apache.myfaces.view.facelets.tag.jsf.core.ActionListenerHandler + body-content: JSP +
+ + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +Unless otherwise specified, all attributes accept static values or EL expressions. +

+

+According to the documentation, the tag handler implementing this tag should meet +the following conditions: +

+
    +
  • Since this tag attach objects to UIComponent instances, and those instances +implements Behavior interface, this component should implement +BehaviorHolderAttachedObjectHandler interface.
  • +
  • f:ajax does not support binding property. In theory we should do something similar +to f:convertDateTime tag does: extends from ConverterHandler and override setAttributes +method, but in this case BehaviorTagHandlerDelegate has binding property defined, so +if we extend from BehaviorHandler we add binding support to f:ajax.
  • +
  • This tag works as a attached object handler, but note on the api there is no component +to define a target for a behavior. See comment inside apply() method.
  • +
]]>
+ tag-class: org.apache.myfaces.view.facelets.tag.jsf.core.AjaxHandler + body-content: JSP +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +When the value is not an EL expression, this tag has the same effect as calling component.getAttributes.put(name, +value). When the attribute name specified matches a standard property of the component, that property is set. However +it is also valid to assign attributes to components using any arbitrary name; the component itself won't make any use +of these but other objects such as custom renderers, validators or action listeners can later retrieve the attribute +from the component by name. +

+

+When the value is an EL expression, this tag has the same effect as calling component.setValueBinding. A call to +method component.getAttributes().get(name) will then cause that expression to be evaluated and the result of the +expression is returned, not the original EL expression string. +

+

+See the javadoc for UIComponent.getAttributes for more details. +

+

+Unless otherwise specified, all attributes accept static values or EL expressions. +

Sets the specified name and attribute on the parent UIComponent. If the "value" specified is not a literal, it will +instead set the ValueExpression on the UIComponent. + +See javax.faces.component.UIComponent#getAttributes() +See javax.faces.component.UIComponent#setValueExpression(java.lang.String, javax.el.ValueExpression)

]]>
+ tag-class: org.apache.myfaces.view.facelets.tag.jsf.core.AttributeHandler + body-content: JSP +
+ + + + + + + + + + + + + + + + + + +
+ + + + tag-class: org.apache.myfaces.view.facelets.tag.jsf.core.AttributesHandler + body-content: JSP + + + + + + + + + + + JSF Specification

Register a DateTimeConverter instance on the UIComponent associated with the closest parent UIComponent custom +action.

]]>
+ tag-class: org.apache.myfaces.view.facelets.tag.jsf.core.ConvertDateTimeHandler + body-content: JSP +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + Register a named Converter instance on the UIComponent associated with the closest parent UIComponent custom action.

]]>
+ tag-class: org.apache.myfaces.view.facelets.tag.jsf.core.ConvertDelegateHandler + body-content: JSP +
+ + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + JSF Specification

Register a NumberConverter instance on the UIComponent associated with the closest parent UIComponent custom action.

]]>
+ tag-class: org.apache.myfaces.view.facelets.tag.jsf.core.ConvertNumberHandler + body-content: JSP +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + tag-class: org.apache.myfaces.view.facelets.tag.jsf.core.EventHandler + body-content: JSP + + + + + + + + + + + + + + + + + + + + + + + JSF Specification

Register a named facet on the UIComponent associated with the closest parent UIComponent custom action.

]]>
+ tag-class: org.apache.myfaces.view.facelets.tag.jsf.core.FacetHandler + body-content: JSP +
+ + + + + + + + + + + + + +
+ + + +Unless otherwise specified, all attributes accept static values or EL expressions. +

+

+TODO: We should find a way to save loaded bundles in the state, because otherwise on the next request the bundle map +will not be present before the render phase and value bindings that reference to the bundle will always log annoying +"Variable 'xxx' could not be resolved" error messages. +

Load a resource bundle localized for the Locale of the current view, and expose it (as a Map) in the request +attributes of the current request.

]]>
+ tag-class: org.apache.myfaces.view.facelets.tag.jsf.core.LoadBundleHandler + body-content: JSP +
+ + + + + + + + + + + + + + + + + + + +
+ + + + tag-class: org.apache.myfaces.view.facelets.tag.jsf.core.PassThroughAttributeHandler + body-content: JSP + + + + + + + + + + + + tag-class: org.apache.myfaces.view.facelets.tag.jsf.core.PassThroughAttributesHandler + body-content: JSP + + + + + + + + + + + null

]]>
+ tag-class: org.apache.myfaces.view.facelets.tag.jsf.core.PhaseListenerHandler + body-content: JSP +
+ + + + + + + + + + + + + + + + + + +
+ + + + tag-class: org.apache.myfaces.view.facelets.tag.jsf.core.ResetValuesActionListenerHandler + body-content: JSP + + + + + + + + + + + + + + + + + + + + + + + + +Unless otherwise specified, all attributes accept static values +or EL expressions. +

+

+UISelectItems should be nested inside a UISelectMany or UISelectOne component, +and results in the addition of one ore more SelectItem instance to the list of available options +for the parent component +

null

]]>
+ tag-class: org.apache.myfaces.view.facelets.tag.jsf.core.SelectItemsHandler + body-content: JSP +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + null

]]>
+ tag-class: org.apache.myfaces.view.facelets.tag.jsf.core.SetPropertyActionListenerHandler + body-content: JSP +
+ + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +During the validation phase (or the apply-request-values phase for immediate components), if the associated component +has any submitted value and the conversion of that value to the required type has succeeded then the specified +validator type is invoked to test the validity of the converted value. +

+

+Commonly associated with an h:inputText entity, but may be applied to any input component. +

+

+Some validators may allow the component to use attributes to define component-specific validation constraints; see +the f:attribute tag. See also the "validator" attribute of all input components, which allows a component to specify +an arbitrary validation <i>method</i> (rather than a registered validation type, as this tag does). +

+

+Unless otherwise specified, all attributes accept static values or EL expressions. +

Register a named Validator instance on the UIComponent associated with the closest parent UIComponent custom +action.

]]>
+ tag-class: org.apache.myfaces.view.facelets.tag.jsf.core.ValidateDelegateHandler + body-content: JSP +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +Whenever the form containing the parent UIComponent is submitted, an instance of the specified type is created. If +the submitted value from the component is different from the component's current value then a ValueChangeEvent is +queued. When the ValueChangeEvent is processed (at end of the validate phase for non-immediate components, or at end +of the apply-request-values phase for immediate components) the object's processValueChange method is invoked. +

+

+Unless otherwise specified, all attributes accept static values or EL expressions. +

Register an ValueChangeListener instance on the UIComponent associated with the closest parent UIComponent custom +action.

]]>
+ tag-class: org.apache.myfaces.view.facelets.tag.jsf.core.ValueChangeListenerHandler + body-content: JSP +
+ + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + Handler for f:verbatim

]]>
+ tag-class: org.apache.myfaces.view.facelets.tag.jsf.core.VerbatimHandler + body-content: JSP +
+ + + + + + + + + + + + + + + + + + +
+ + + +Unless otherwise specified, all attributes accept static values or EL expressions. +

+

+See the javadoc for this class in the JSF +Specification for further details. +

Container for all JavaServer Faces core and custom component actions used on a page.

]]>
+ tag-class: org.apache.myfaces.view.facelets.tag.jsf.core.ViewHandler + body-content: JSP +
+ + + + + + + + +Defaults to the default locale specified in the faces configuration file. +

]]>
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + tag-class: org.apache.myfaces.view.facelets.tag.jsf.core.ViewMetadataHandler + body-content: JSP + + + + + + + + + + + + tag-class: org.apache.myfaces.view.facelets.tag.jsf.core.WebsocketHandler + body-content: JSP + + + + + + + + + + + + + + + +
diff --git a/cobigen/cobigen-xmlplugin/src/main/resources/mergeSchemas/xsd/myfaces_facelets_html_2_1.xsd b/cobigen/cobigen-xmlplugin/src/main/resources/mergeSchemas/xsd/myfaces_facelets_html_2_1.xsd new file mode 100644 index 0000000000..c636ef7f11 --- /dev/null +++ b/cobigen/cobigen-xmlplugin/src/main/resources/mergeSchemas/xsd/myfaces_facelets_html_2_1.xsd @@ -0,0 +1,6965 @@ + + + + + + + + + This tag library implements the standard JSF HTML tags for Facelets. + display-name: JSF HTML Facelets Tag Library. + short-name: h + + + + + + tag-class: org.apache.myfaces.taglib.html.HtmlInputHiddenTag + body-content: JSP + + + + + + + + + +During normal event processing, action methods and action listener methods are fired during the +"invoke application" phase of request processing. If this attribute is set to "true", these methods are fired +instead at the end of the "apply request values" phase. +

]]>
+ +
+
+ + + +If this value is true and no input value is provided by a postback operation, then the "requiredMessage" text is +registered as a FacesMessage for the request, and validation fails. +

+

+Default value: false. +

]]>
+ +
+
+ + + +

]]>
+ +
+
+ + + + + + + + + +The invoked method is expected to check the submitted value for this component, and if not acceptable then report +a validation error for the component. +

+

+The method is expected to have the prototype +

+public void aMethod(FacesContext, UIComponent,Object)]]>
+ +
+
+ + + + + + + + + +The phase in which this method is invoked can be controlled via the immediate attribute. +

]]>
+ +
+
+ + + + + + + + + +The value can either be a static value (ID) or an EL expression. When a static id is +specified, an instance of the converter type registered with that id is used. When this +is an EL expression, the result of evaluating the expression must be an object that +implements the Converter interface. +

]]>
+ +
+
+ + + + + + + + + + + + + + + + + + +
+
+ + + + body-content: JSP + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +This tag is commonly used as a child of the h:dataTable tag, to represent a column of +data within an html table. It can be decorated with nested "header" and "footer" facets +which cause the output of header and footer rows. +

+

+The non-facet child components of this column are re-rendered on each table row +to generate the content of the cell. Those child components can reference the "var" +attribute of the containing h:dataTable to generate appropriate output for each row. +

]]>
+ tag-class: org.apache.myfaces.taglib.html.HtmlColumnTag + body-content: JSP +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + tag-class: org.apache.myfaces.taglib.html.HtmlCommandButtonTag + body-content: JSP + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +During normal event processing, action methods and action listener methods are fired during the +"invoke application" phase of request processing. If this attribute is set to "true", these methods +are fired instead at the end of the "apply request values" phase. +

]]>
+ +
+
+ + + + + + + + + +If the value is an expression, it is expected to be a method binding EL expression that identifies +an action method. An action method accepts no parameters and has a String return value, called the +action outcome, that identifies the next view displayed. The phase that this event is fired in +can be controlled via the immediate attribute. +

+

+If the value is a string literal, it is treated as a navigation outcome for the current view. This +is functionally equivalent to a reference to an action method that returns the string literal. +

]]>
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + tag-class: org.apache.myfaces.taglib.html.HtmlCommandLinkTag + body-content: JSP + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +During normal event processing, action methods and action listener methods are fired during the +"invoke application" phase of request processing. If this attribute is set to "true", these methods +are fired instead at the end of the "apply request values" phase. +

]]>
+ +
+
+ + + + + + + + + +If the value is an expression, it is expected to be a method binding EL expression that identifies +an action method. An action method accepts no parameters and has a String return value, called the +action outcome, that identifies the next view displayed. The phase that this event is fired in +can be controlled via the immediate attribute. +

+

+If the value is a string literal, it is treated as a navigation outcome for the current view. This +is functionally equivalent to a reference to an action method that returns the string literal. +

]]>
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + tag-class: org.apache.myfaces.taglib.html.HtmlCommandScriptTag + body-content: JSP + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +During normal event processing, action methods and action listener methods are fired during the +"invoke application" phase of request processing. If this attribute is set to "true", these methods +are fired instead at the end of the "apply request values" phase. +

]]>
+ +
+
+ + + + + + + + + +If the value is an expression, it is expected to be a method binding EL expression that identifies +an action method. An action method accepts no parameters and has a String return value, called the +action outcome, that identifies the next view displayed. The phase that this event is fired in +can be controlled via the immediate attribute. +

+

+If the value is a string literal, it is treated as a navigation outcome for the current view. This +is functionally equivalent to a reference to an action method that returns the string literal. +

]]>
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + +This component may have nested facets with names "header" and "footer" +to specify header and footer rows. +

+

+The non-facet children of this component are expected to be +h:column components which describe the columns of the table. +

]]>
+ tag-class: org.apache.myfaces.taglib.html.HtmlDataTableTag + body-content: JSP +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +The value referenced by the EL expression can be of any type. +

+
    +
  • A value of type DataModel is used directly.
  • +
  • Array-like parameters of type array-of-Object, java.util.List, java.sql.ResultSet or +javax.servlet.jsp.jstl.sql.Result are wrapped in a corresponding DataModel that knows how to iterate over the +elements.
  • +
  • Other values are wrapped in a DataModel as a single row.
  • +
+

+Note in particular that unordered collections, eg Set are not supported. Therefore if the value expression +references such an object then the table will be considered to contain just one element - the collection itself. +

]]>
+ +
+
+ + + + + + + + + +Specify zero to display all rows from the "first" row to the end of available data. +

]]>
+ +
+
+ + + +During rendering of child components of this UIData, the variable with this name can be read to learn what the +"rowData" object for the row currently being rendered is. +

+

+This value must be a static value, ie an EL expression is not permitted. +

]]>
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + body-content: JSP + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +The value can either be a static value (ID) or an EL expression. When a static id is +specified, an instance of the converter type registered with that id is used. When this +is an EL expression, the result of evaluating the expression must be an object that +implements the Converter interface. +

]]>
+ +
+
+ + + + + + + + + + + + + + + + + + +
+
+ + + + tag-class: org.apache.myfaces.taglib.html.HtmlFormTag + body-content: JSP + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +The value attribute specifies the url of the image to be displayed; +see the documentation for attribute "url" for more details. +

]]>
+ tag-class: org.apache.myfaces.taglib.html.HtmlGraphicImageTag + body-content: JSP +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +If the URL starts with a '/', it is relative to the context path of the web application. +

]]>
+ +
+
+ + + + + + + + + + + + + + + + + + +
+
+ + + + body-content: JSP + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + tag-class: org.apache.myfaces.taglib.html.HtmlInputFileTag + body-content: JSP + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +During normal event processing, action methods and action listener methods are fired during the +"invoke application" phase of request processing. If this attribute is set to "true", these methods are fired +instead at the end of the "apply request values" phase. +

]]>
+ +
+
+ + + +If this value is true and no input value is provided by a postback operation, then the "requiredMessage" text is +registered as a FacesMessage for the request, and validation fails. +

+

+Default value: false. +

]]>
+ +
+
+ + + +

]]>
+ +
+
+ + + + + + + + + +The invoked method is expected to check the submitted value for this component, and if not acceptable then report +a validation error for the component. +

+

+The method is expected to have the prototype +

+public void aMethod(FacesContext, UIComponent,Object)]]>
+ +
+
+ + + + + + + + + +The phase in which this method is invoked can be controlled via the immediate attribute. +

]]>
+ +
+
+ + + + + + + + + +The value can either be a static value (ID) or an EL expression. When a static id is +specified, an instance of the converter type registered with that id is used. When this +is an EL expression, the result of evaluating the expression must be an object that +implements the Converter interface. +

]]>
+ +
+
+ + + + + + + + + + + + + + + + + + +
+
+ + + + tag-class: org.apache.myfaces.taglib.html.HtmlInputSecretTag + body-content: JSP + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +During normal event processing, action methods and action listener methods are fired during the +"invoke application" phase of request processing. If this attribute is set to "true", these methods are fired +instead at the end of the "apply request values" phase. +

]]>
+ +
+
+ + + +If this value is true and no input value is provided by a postback operation, then the "requiredMessage" text is +registered as a FacesMessage for the request, and validation fails. +

+

+Default value: false. +

]]>
+ +
+
+ + + +

]]>
+ +
+
+ + + + + + + + + +The invoked method is expected to check the submitted value for this component, and if not acceptable then report +a validation error for the component. +

+

+The method is expected to have the prototype +

+public void aMethod(FacesContext, UIComponent,Object)]]>
+ +
+
+ + + + + + + + + +The phase in which this method is invoked can be controlled via the immediate attribute. +

]]>
+ +
+
+ + + + + + + + + +The value can either be a static value (ID) or an EL expression. When a static id is +specified, an instance of the converter type registered with that id is used. When this +is an EL expression, the result of evaluating the expression must be an object that +implements the Converter interface. +

]]>
+ +
+
+ + + + + + + + + + + + + + + + + + +
+
+ + + + tag-class: org.apache.myfaces.taglib.html.HtmlInputTextTag + body-content: JSP + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +During normal event processing, action methods and action listener methods are fired during the +"invoke application" phase of request processing. If this attribute is set to "true", these methods are fired +instead at the end of the "apply request values" phase. +

]]>
+ +
+
+ + + +If this value is true and no input value is provided by a postback operation, then the "requiredMessage" text is +registered as a FacesMessage for the request, and validation fails. +

+

+Default value: false. +

]]>
+ +
+
+ + + +

]]>
+ +
+
+ + + + + + + + + +The invoked method is expected to check the submitted value for this component, and if not acceptable then report +a validation error for the component. +

+

+The method is expected to have the prototype +

+public void aMethod(FacesContext, UIComponent,Object)]]>
+ +
+
+ + + + + + + + + +The phase in which this method is invoked can be controlled via the immediate attribute. +

]]>
+ +
+
+ + + + + + + + + +The value can either be a static value (ID) or an EL expression. When a static id is +specified, an instance of the converter type registered with that id is used. When this +is an EL expression, the result of evaluating the expression must be an object that +implements the Converter interface. +

]]>
+ +
+
+ + + + + + + + + + + + + + + + + + +
+
+ + + + tag-class: org.apache.myfaces.taglib.html.HtmlInputTextareaTag + body-content: JSP + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +During normal event processing, action methods and action listener methods are fired during the +"invoke application" phase of request processing. If this attribute is set to "true", these methods are fired +instead at the end of the "apply request values" phase. +

]]>
+ +
+
+ + + +If this value is true and no input value is provided by a postback operation, then the "requiredMessage" text is +registered as a FacesMessage for the request, and validation fails. +

+

+Default value: false. +

]]>
+ +
+
+ + + +

]]>
+ +
+
+ + + + + + + + + +The invoked method is expected to check the submitted value for this component, and if not acceptable then report +a validation error for the component. +

+

+The method is expected to have the prototype +

+public void aMethod(FacesContext, UIComponent,Object)]]>
+ +
+
+ + + + + + + + + +The phase in which this method is invoked can be controlled via the immediate attribute. +

]]>
+ +
+
+ + + + + + + + + +The value can either be a static value (ID) or an EL expression. When a static id is +specified, an instance of the converter type registered with that id is used. When this +is an EL expression, the result of evaluating the expression must be an object that +implements the Converter interface. +

]]>
+ +
+
+ + + + + + + + + + + + + + + + + + +
+
+ + + + tag-class: org.apache.myfaces.taglib.html.HtmlMessageTag + body-content: JSP + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +This is a required property on the component. +

]]>
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + +
  • If globalOnly = true, only global messages, that have no +associated clientId, will be displayed.
  • +
  • else if there is a "for" attribute, only messages that are +assigned to the component referenced by the "for" attribute +are displayed.
  • +
  • else all messages are displayed.
  • +]]>
    + tag-class: org.apache.myfaces.taglib.html.HtmlMessagesTag + body-content: JSP +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + body-content: JSP + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +The value can either be a static value (ID) or an EL expression. When a static id is +specified, an instance of the converter type registered with that id is used. When this +is an EL expression, the result of evaluating the expression must be an object that +implements the Converter interface. +

    ]]>
    + +
    +
    + + + + + + + + + + + + + + + + + + +
    +
    + + + + body-content: JSP + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +The value can either be a static value (ID) or an EL expression. When a static id is +specified, an instance of the converter type registered with that id is used. When this +is an EL expression, the result of evaluating the expression must be an object that +implements the Converter interface. +

    ]]>
    + +
    +
    + + + + + + + + + + + + + + + + + + +
    +
    + + + + tag-class: org.apache.myfaces.taglib.html.HtmlOutputFormatTag + body-content: JSP + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +The value can either be a static value (ID) or an EL expression. When a static id is +specified, an instance of the converter type registered with that id is used. When this +is an EL expression, the result of evaluating the expression must be an object that +implements the Converter interface. +

    ]]>
    + +
    +
    + + + + + + + + + + + + + + + + + + +
    +
    + + + + tag-class: org.apache.myfaces.taglib.html.HtmlOutputLabelTag + body-content: JSP + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +The value can either be a static value (ID) or an EL expression. When a static id is +specified, an instance of the converter type registered with that id is used. When this +is an EL expression, the result of evaluating the expression must be an object that +implements the Converter interface. +

    ]]>
    + +
    +
    + + + + + + + + + + + + + + + + + + +
    +
    + + + + tag-class: org.apache.myfaces.taglib.html.HtmlOutputLinkTag + body-content: JSP + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +The value can either be a static value (ID) or an EL expression. When a static id is +specified, an instance of the converter type registered with that id is used. When this +is an EL expression, the result of evaluating the expression must be an object that +implements the Converter interface. +

    ]]>
    + +
    +
    + + + + + + + + + + + + + + + + + + +
    +
    + + + + tag-class: org.apache.myfaces.taglib.html.HtmlOutputTextTag + body-content: JSP + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +The value can either be a static value (ID) or an EL expression. When a static id is +specified, an instance of the converter type registered with that id is used. When this +is an EL expression, the result of evaluating the expression must be an object that +implements the Converter interface. +

    ]]>
    + +
    +
    + + + + + + + + + + + + + + + + + + +
    +
    + + + +Children of this element are rendered as cells in the table, filling +rows from left to right. Facets named "header" and "footer" are optional +and specify the content of the thead and tfoot rows, respectively. +

    ]]>
    + tag-class: org.apache.myfaces.taglib.html.HtmlPanelGridTag + body-content: JSP +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + tag-class: org.apache.myfaces.taglib.html.HtmlPanelGroupTag + body-content: JSP + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Renders as an HTML input tag with its type set to "checkbox", and +its name attribute set to the id. The "checked" attribute is rendered +if the value of this component is true. +

    ]]>
    + tag-class: org.apache.myfaces.taglib.html.HtmlSelectBooleanCheckboxTag + body-content: JSP +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +During normal event processing, action methods and action listener methods are fired during the +"invoke application" phase of request processing. If this attribute is set to "true", these methods are fired +instead at the end of the "apply request values" phase. +

    ]]>
    + +
    +
    + + + +If this value is true and no input value is provided by a postback operation, then the "requiredMessage" text is +registered as a FacesMessage for the request, and validation fails. +

    +

    +Default value: false. +

    ]]>
    + +
    +
    + + + +

    ]]>
    + +
    +
    + + + + + + + + + +The invoked method is expected to check the submitted value for this component, and if not acceptable then report +a validation error for the component. +

    +

    +The method is expected to have the prototype +

    +public void aMethod(FacesContext, UIComponent,Object)]]>
    + +
    +
    + + + + + + + + + +The phase in which this method is invoked can be controlled via the immediate attribute. +

    ]]>
    + +
    +
    + + + +The value can either be a static value (ID) or an EL expression. When a static id is +specified, an instance of the converter type registered with that id is used. When this +is an EL expression, the result of evaluating the expression must be an object that +implements the Converter interface. +

    ]]>
    + +
    +
    + + + + + + + + + + + + + + + + + + +
    +
    + + + +This is presented as a table with one cell per available option; each cell contains a +checkbox and the option's label. The "layout" attribute determines whether the checkboxes +are laid out horizontally or vertically. +

    +

    +The set of available options is defined by adding child +f:selectItem or f:selectItems components to this component. +

    +

    +The value attribute must be a value-binding expression to a +property of type List, Object array or primitive array. That +"collection" is expected to contain objects of the same type as +SelectItem.getValue() returns for the child SelectItem objects. +On rendering, any child whose value is in the list will be +selected initially. During the update phase, the property setter +is called to replace the original collection with a completely +new collection object of the appropriate type. The new collection +object contains the value of each child SelectItem object that +is currently selected. +

    ]]>
    + tag-class: org.apache.myfaces.taglib.html.HtmlSelectManyCheckboxTag + body-content: JSP +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +During normal event processing, action methods and action listener methods are fired during the +"invoke application" phase of request processing. If this attribute is set to "true", these methods are fired +instead at the end of the "apply request values" phase. +

    ]]>
    + +
    +
    + + + +If this value is true and no input value is provided by a postback operation, then the "requiredMessage" text is +registered as a FacesMessage for the request, and validation fails. +

    +

    +Default value: false. +

    ]]>
    + +
    +
    + + + +

    ]]>
    + +
    +
    + + + + + + + + + +The invoked method is expected to check the submitted value for this component, and if not acceptable then report +a validation error for the component. +

    +

    +The method is expected to have the prototype +

    +public void aMethod(FacesContext, UIComponent,Object)]]>
    + +
    +
    + + + + + + + + + +The phase in which this method is invoked can be controlled via the immediate attribute. +

    ]]>
    + +
    +
    + + + + + + + + + +The value can either be a static value (ID) or an EL expression. When a static id is +specified, an instance of the converter type registered with that id is used. When this +is an EL expression, the result of evaluating the expression must be an object that +implements the Converter interface. +

    ]]>
    + +
    +
    + + + + + + + + + + + + + + + + + + +
    +
    + + + +The set of available options is defined by adding child +f:selectItem or f:selectItems components to this component. +

    +

    +The list is rendered as an HTML select element. The "multiple" +attribute is set on the element and the size attribute is set to +the provided value, defaulting to the number of items in the list +if no value is provided. If the size is set to 1, then a +"drop-down" list (aka "combo-box") is presented, though if this is +the intention then a selectManyMenu should be used instead. +

    +

    +The value attribute must be a value-binding expression to a +property of type List, Object array or primitive array. That +"collection" is expected to contain objects of the same type as +SelectItem.getValue() returns for the child SelectItem objects. +On rendering, any child whose value is in the list will be +selected initially. During the update phase, the property is set +to contain a "collection" of values for those child SelectItem +objects that are currently selected. +

    ]]>
    + tag-class: org.apache.myfaces.taglib.html.HtmlSelectManyListboxTag + body-content: JSP +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +During normal event processing, action methods and action listener methods are fired during the +"invoke application" phase of request processing. If this attribute is set to "true", these methods are fired +instead at the end of the "apply request values" phase. +

    ]]>
    + +
    +
    + + + +If this value is true and no input value is provided by a postback operation, then the "requiredMessage" text is +registered as a FacesMessage for the request, and validation fails. +

    +

    +Default value: false. +

    ]]>
    + +
    +
    + + + +

    ]]>
    + +
    +
    + + + + + + + + + +The invoked method is expected to check the submitted value for this component, and if not acceptable then report +a validation error for the component. +

    +

    +The method is expected to have the prototype +

    +public void aMethod(FacesContext, UIComponent,Object)]]>
    + +
    +
    + + + + + + + + + +The phase in which this method is invoked can be controlled via the immediate attribute. +

    ]]>
    + +
    +
    + + + + + + + + + +The value can either be a static value (ID) or an EL expression. When a static id is +specified, an instance of the converter type registered with that id is used. When this +is an EL expression, the result of evaluating the expression must be an object that +implements the Converter interface. +

    ]]>
    + +
    +
    + + + + + + + + + + + + + + + + + + +
    +
    + + + +The set of available options is defined by adding child +f:selectItem or f:selectItems components to this component. +

    +

    +Renders as an HTML select element, with the choices made up of +child f:selectItem or f:selectItems elements. The multiple +attribute is set and the size attribute is set to 1. +

    +

    +The value attribute must be a value-binding expression to a +property of type List, Object array or primitive array. That +"collection" is expected to contain objects of the same type as +SelectItem.getValue() returns for the child SelectItem objects. +On rendering, any child whose value is in the list will be +selected initially. During the update phase, the property is set +to contain a "collection" of values for those child SelectItem +objects that are currently selected. +

    ]]>
    + tag-class: org.apache.myfaces.taglib.html.HtmlSelectManyMenuTag + body-content: JSP +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +During normal event processing, action methods and action listener methods are fired during the +"invoke application" phase of request processing. If this attribute is set to "true", these methods are fired +instead at the end of the "apply request values" phase. +

    ]]>
    + +
    +
    + + + +If this value is true and no input value is provided by a postback operation, then the "requiredMessage" text is +registered as a FacesMessage for the request, and validation fails. +

    +

    +Default value: false. +

    ]]>
    + +
    +
    + + + +

    ]]>
    + +
    +
    + + + + + + + + + +The invoked method is expected to check the submitted value for this component, and if not acceptable then report +a validation error for the component. +

    +

    +The method is expected to have the prototype +

    +public void aMethod(FacesContext, UIComponent,Object)]]>
    + +
    +
    + + + + + + + + + +The phase in which this method is invoked can be controlled via the immediate attribute. +

    ]]>
    + +
    +
    + + + + + + + + + +The value can either be a static value (ID) or an EL expression. When a static id is +specified, an instance of the converter type registered with that id is used. When this +is an EL expression, the result of evaluating the expression must be an object that +implements the Converter interface. +

    ]]>
    + +
    +
    + + + + + + + + + + + + + + + + + + +
    +
    + + + +Rendered as a listbox with the MULTIPLE attribute set to false. +

    +

    +The available choices are defined via child f:selectItem or +f:selectItems elements. The size of the listbox defaults to the +number of available choices; if size is explicitly set to a +smaller value, then scrollbars will be rendered. If size is set +to 1 then a "drop-down menu" (aka "combo-box") is rendered, though +if this is the intent then selectOneMenu should be used instead. +

    +

    +The value attribute of this component is read to determine +which of the available options is initially selected; its value +should match the "value" property of one of the child SelectItem +objects. +

    +

    +On submit of the enclosing form, the value attribute's bound +property is updated to contain the "value" property from the +chosen SelectItem. +

    ]]>
    + tag-class: org.apache.myfaces.taglib.html.HtmlSelectOneListboxTag + body-content: JSP +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +During normal event processing, action methods and action listener methods are fired during the +"invoke application" phase of request processing. If this attribute is set to "true", these methods are fired +instead at the end of the "apply request values" phase. +

    ]]>
    + +
    +
    + + + +If this value is true and no input value is provided by a postback operation, then the "requiredMessage" text is +registered as a FacesMessage for the request, and validation fails. +

    +

    +Default value: false. +

    ]]>
    + +
    +
    + + + +

    ]]>
    + +
    +
    + + + + + + + + + +The invoked method is expected to check the submitted value for this component, and if not acceptable then report +a validation error for the component. +

    +

    +The method is expected to have the prototype +

    +public void aMethod(FacesContext, UIComponent,Object)]]>
    + +
    +
    + + + + + + + + + +The phase in which this method is invoked can be controlled via the immediate attribute. +

    ]]>
    + +
    +
    + + + + + + + + + +The value can either be a static value (ID) or an EL expression. When a static id is +specified, an instance of the converter type registered with that id is used. When this +is an EL expression, the result of evaluating the expression must be an object that +implements the Converter interface. +

    ]]>
    + +
    +
    + + + + + + + + + + + + + + + + + + +
    +
    + + + +Renders a drop-down menu (aka "combo-box") containing a set of +choices, of which only one can be chosen at a time. The available +choices are defined via child f:selectItem or f:selectItems +elements. +

    +

    +The value attribute of this component is read to determine +which of the available options is initially selected; its value +should match the "value" property of one of the child SelectItem +objects. +

    +

    +On submit of the enclosing form, the value attribute's bound property +is updated to contain the "value" property from the chosen SelectItem. +

    ]]>
    + tag-class: org.apache.myfaces.taglib.html.HtmlSelectOneMenuTag + body-content: JSP +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +During normal event processing, action methods and action listener methods are fired during the +"invoke application" phase of request processing. If this attribute is set to "true", these methods are fired +instead at the end of the "apply request values" phase. +

    ]]>
    + +
    +
    + + + +If this value is true and no input value is provided by a postback operation, then the "requiredMessage" text is +registered as a FacesMessage for the request, and validation fails. +

    +

    +Default value: false. +

    ]]>
    + +
    +
    + + + +

    ]]>
    + +
    +
    + + + + + + + + + +The invoked method is expected to check the submitted value for this component, and if not acceptable then report +a validation error for the component. +

    +

    +The method is expected to have the prototype +

    +public void aMethod(FacesContext, UIComponent,Object)]]>
    + +
    +
    + + + + + + + + + +The phase in which this method is invoked can be controlled via the immediate attribute. +

    ]]>
    + +
    +
    + + + + + + + + + +The value can either be a static value (ID) or an EL expression. When a static id is +specified, an instance of the converter type registered with that id is used. When this +is an EL expression, the result of evaluating the expression must be an object that +implements the Converter interface. +

    ]]>
    + +
    +
    + + + + + + + + + + + + + + + + + + +
    +
    + + + +Renders as an HTML table element, containing an input element for +each child f:selectItem or f:selectItems elements. The input +elements are rendered as type radio. +

    +

    +The value attribute of this component is read to determine +which of the available options is initially selected; its value should +match the "value" property of one of the child SelectItem objects. +

    +

    +On submit of the enclosing form, the value attribute's bound property +is updated to contain the "value" property from the chosen SelectItem. +

    ]]>
    + tag-class: org.apache.myfaces.taglib.html.HtmlSelectOneRadioTag + body-content: JSP +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +During normal event processing, action methods and action listener methods are fired during the +"invoke application" phase of request processing. If this attribute is set to "true", these methods are fired +instead at the end of the "apply request values" phase. +

    ]]>
    + +
    +
    + + + +If this value is true and no input value is provided by a postback operation, then the "requiredMessage" text is +registered as a FacesMessage for the request, and validation fails. +

    +

    +Default value: false. +

    ]]>
    + +
    +
    + + + +

    ]]>
    + +
    +
    + + + + + + + + + +The invoked method is expected to check the submitted value for this component, and if not acceptable then report +a validation error for the component. +

    +

    +The method is expected to have the prototype +

    +public void aMethod(FacesContext, UIComponent,Object)]]>
    + +
    +
    + + + + + + + + + +The phase in which this method is invoked can be controlled via the immediate attribute. +

    ]]>
    + +
    +
    + + + + + + + + + +The value can either be a static value (ID) or an EL expression. When a static id is +specified, an instance of the converter type registered with that id is used. When this +is an EL expression, the result of evaluating the expression must be an object that +implements the Converter interface. +

    ]]>
    + +
    +
    + + + + + + + + + + + + + + + + + + +
    +
    + + + + +This tag is backed using a javax.faces.component.UIOutput component instance. +In other words, instances of this component class are created when it is resolved +a Resource annotation, so there is no concrete class or specific tag handler for it, +but there exists a concrete renderer for it. +

    ]]>
    + tag-class: org.apache.myfaces.view.facelets.tag.jsf.html.HtmlOutputScriptHandler + body-content: JSP +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +The value can either be a static value (ID) or an EL expression. When a static id is +specified, an instance of the converter type registered with that id is used. When this +is an EL expression, the result of evaluating the expression must be an object that +implements the Converter interface. +

    ]]>
    + +
    +
    + + + + + + + + + + + + + + + + + + + +
    +
    + + + +This tag is backed using a javax.faces.component.UIOutput component instance. +In other words, instances of this component class are created when it is resolved +a Resource annotation, so there is no concrete class or specific tag handler for it, +but there exists a concrete renderer for it. +

    ]]>
    + tag-class: org.apache.myfaces.view.facelets.tag.jsf.html.HtmlOutputStylesheetHandler + body-content: JSP +
    + + + + + + + + + + + + + + + + + + + + + + + + + + +The value can either be a static value (ID) or an EL expression. When a static id is +specified, an instance of the converter type registered with that id is used. When this +is an EL expression, the result of evaluating the expression must be an object that +implements the Converter interface. +

    ]]>
    + +
    +
    + + + + + + + + + + + + + + + + + + + +
    +
    + +
    diff --git a/cobigen/cobigen-xmlplugin/src/main/resources/mergeSchemas/xsd/myfaces_facelets_html_2_2.xsd b/cobigen/cobigen-xmlplugin/src/main/resources/mergeSchemas/xsd/myfaces_facelets_html_2_2.xsd new file mode 100644 index 0000000000..eb98f8b56c --- /dev/null +++ b/cobigen/cobigen-xmlplugin/src/main/resources/mergeSchemas/xsd/myfaces_facelets_html_2_2.xsd @@ -0,0 +1,6965 @@ + + + + + + + + + This tag library implements the standard JSF HTML tags for Facelets. + display-name: JSF HTML Facelets Tag Library. + short-name: h + + + + + + tag-class: org.apache.myfaces.taglib.html.HtmlInputHiddenTag + body-content: JSP + + + + + + + + + +During normal event processing, action methods and action listener methods are fired during the +"invoke application" phase of request processing. If this attribute is set to "true", these methods are fired +instead at the end of the "apply request values" phase. +

    ]]>
    + +
    +
    + + + +If this value is true and no input value is provided by a postback operation, then the "requiredMessage" text is +registered as a FacesMessage for the request, and validation fails. +

    +

    +Default value: false. +

    ]]>
    + +
    +
    + + + +

    ]]>
    + +
    +
    + + + + + + + + + +The invoked method is expected to check the submitted value for this component, and if not acceptable then report +a validation error for the component. +

    +

    +The method is expected to have the prototype +

    +public void aMethod(FacesContext, UIComponent,Object)]]>
    + +
    +
    + + + + + + + + + +The phase in which this method is invoked can be controlled via the immediate attribute. +

    ]]>
    + +
    +
    + + + + + + + + + +The value can either be a static value (ID) or an EL expression. When a static id is +specified, an instance of the converter type registered with that id is used. When this +is an EL expression, the result of evaluating the expression must be an object that +implements the Converter interface. +

    ]]>
    + +
    +
    + + + + + + + + + + + + + + + + + + +
    +
    + + + + body-content: JSP + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +This tag is commonly used as a child of the h:dataTable tag, to represent a column of +data within an html table. It can be decorated with nested "header" and "footer" facets +which cause the output of header and footer rows. +

    +

    +The non-facet child components of this column are re-rendered on each table row +to generate the content of the cell. Those child components can reference the "var" +attribute of the containing h:dataTable to generate appropriate output for each row. +

    ]]>
    + tag-class: org.apache.myfaces.taglib.html.HtmlColumnTag + body-content: JSP +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + tag-class: org.apache.myfaces.taglib.html.HtmlCommandButtonTag + body-content: JSP + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +During normal event processing, action methods and action listener methods are fired during the +"invoke application" phase of request processing. If this attribute is set to "true", these methods +are fired instead at the end of the "apply request values" phase. +

    ]]>
    + +
    +
    + + + + + + + + + +If the value is an expression, it is expected to be a method binding EL expression that identifies +an action method. An action method accepts no parameters and has a String return value, called the +action outcome, that identifies the next view displayed. The phase that this event is fired in +can be controlled via the immediate attribute. +

    +

    +If the value is a string literal, it is treated as a navigation outcome for the current view. This +is functionally equivalent to a reference to an action method that returns the string literal. +

    ]]>
    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + tag-class: org.apache.myfaces.taglib.html.HtmlCommandLinkTag + body-content: JSP + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +During normal event processing, action methods and action listener methods are fired during the +"invoke application" phase of request processing. If this attribute is set to "true", these methods +are fired instead at the end of the "apply request values" phase. +

    ]]>
    + +
    +
    + + + + + + + + + +If the value is an expression, it is expected to be a method binding EL expression that identifies +an action method. An action method accepts no parameters and has a String return value, called the +action outcome, that identifies the next view displayed. The phase that this event is fired in +can be controlled via the immediate attribute. +

    +

    +If the value is a string literal, it is treated as a navigation outcome for the current view. This +is functionally equivalent to a reference to an action method that returns the string literal. +

    ]]>
    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + tag-class: org.apache.myfaces.taglib.html.HtmlCommandScriptTag + body-content: JSP + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +During normal event processing, action methods and action listener methods are fired during the +"invoke application" phase of request processing. If this attribute is set to "true", these methods +are fired instead at the end of the "apply request values" phase. +

    ]]>
    + +
    +
    + + + + + + + + + +If the value is an expression, it is expected to be a method binding EL expression that identifies +an action method. An action method accepts no parameters and has a String return value, called the +action outcome, that identifies the next view displayed. The phase that this event is fired in +can be controlled via the immediate attribute. +

    +

    +If the value is a string literal, it is treated as a navigation outcome for the current view. This +is functionally equivalent to a reference to an action method that returns the string literal. +

    ]]>
    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + +This component may have nested facets with names "header" and "footer" +to specify header and footer rows. +

    +

    +The non-facet children of this component are expected to be +h:column components which describe the columns of the table. +

    ]]>
    + tag-class: org.apache.myfaces.taglib.html.HtmlDataTableTag + body-content: JSP +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +The value referenced by the EL expression can be of any type. +

    +
      +
    • A value of type DataModel is used directly.
    • +
    • Array-like parameters of type array-of-Object, java.util.List, java.sql.ResultSet or +javax.servlet.jsp.jstl.sql.Result are wrapped in a corresponding DataModel that knows how to iterate over the +elements.
    • +
    • Other values are wrapped in a DataModel as a single row.
    • +
    +

    +Note in particular that unordered collections, eg Set are not supported. Therefore if the value expression +references such an object then the table will be considered to contain just one element - the collection itself. +

    ]]>
    + +
    +
    + + + + + + + + + +Specify zero to display all rows from the "first" row to the end of available data. +

    ]]>
    + +
    +
    + + + +During rendering of child components of this UIData, the variable with this name can be read to learn what the +"rowData" object for the row currently being rendered is. +

    +

    +This value must be a static value, ie an EL expression is not permitted. +

    ]]>
    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + body-content: JSP + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +The value can either be a static value (ID) or an EL expression. When a static id is +specified, an instance of the converter type registered with that id is used. When this +is an EL expression, the result of evaluating the expression must be an object that +implements the Converter interface. +

    ]]>
    + +
    +
    + + + + + + + + + + + + + + + + + + +
    +
    + + + + tag-class: org.apache.myfaces.taglib.html.HtmlFormTag + body-content: JSP + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +The value attribute specifies the url of the image to be displayed; +see the documentation for attribute "url" for more details. +

    ]]>
    + tag-class: org.apache.myfaces.taglib.html.HtmlGraphicImageTag + body-content: JSP +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +If the URL starts with a '/', it is relative to the context path of the web application. +

    ]]>
    + +
    +
    + + + + + + + + + + + + + + + + + + +
    +
    + + + + body-content: JSP + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + tag-class: org.apache.myfaces.taglib.html.HtmlInputFileTag + body-content: JSP + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +During normal event processing, action methods and action listener methods are fired during the +"invoke application" phase of request processing. If this attribute is set to "true", these methods are fired +instead at the end of the "apply request values" phase. +

    ]]>
    + +
    +
    + + + +If this value is true and no input value is provided by a postback operation, then the "requiredMessage" text is +registered as a FacesMessage for the request, and validation fails. +

    +

    +Default value: false. +

    ]]>
    + +
    +
    + + + +

    ]]>
    + +
    +
    + + + + + + + + + +The invoked method is expected to check the submitted value for this component, and if not acceptable then report +a validation error for the component. +

    +

    +The method is expected to have the prototype +

    +public void aMethod(FacesContext, UIComponent,Object)]]>
    + +
    +
    + + + + + + + + + +The phase in which this method is invoked can be controlled via the immediate attribute. +

    ]]>
    + +
    +
    + + + + + + + + + +The value can either be a static value (ID) or an EL expression. When a static id is +specified, an instance of the converter type registered with that id is used. When this +is an EL expression, the result of evaluating the expression must be an object that +implements the Converter interface. +

    ]]>
    + +
    +
    + + + + + + + + + + + + + + + + + + +
    +
    + + + + tag-class: org.apache.myfaces.taglib.html.HtmlInputSecretTag + body-content: JSP + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +During normal event processing, action methods and action listener methods are fired during the +"invoke application" phase of request processing. If this attribute is set to "true", these methods are fired +instead at the end of the "apply request values" phase. +

    ]]>
    + +
    +
    + + + +If this value is true and no input value is provided by a postback operation, then the "requiredMessage" text is +registered as a FacesMessage for the request, and validation fails. +

    +

    +Default value: false. +

    ]]>
    + +
    +
    + + + +

    ]]>
    + +
    +
    + + + + + + + + + +The invoked method is expected to check the submitted value for this component, and if not acceptable then report +a validation error for the component. +

    +

    +The method is expected to have the prototype +

    +public void aMethod(FacesContext, UIComponent,Object)]]>
    + +
    +
    + + + + + + + + + +The phase in which this method is invoked can be controlled via the immediate attribute. +

    ]]>
    + +
    +
    + + + + + + + + + +The value can either be a static value (ID) or an EL expression. When a static id is +specified, an instance of the converter type registered with that id is used. When this +is an EL expression, the result of evaluating the expression must be an object that +implements the Converter interface. +

    ]]>
    + +
    +
    + + + + + + + + + + + + + + + + + + +
    +
    + + + + tag-class: org.apache.myfaces.taglib.html.HtmlInputTextTag + body-content: JSP + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +During normal event processing, action methods and action listener methods are fired during the +"invoke application" phase of request processing. If this attribute is set to "true", these methods are fired +instead at the end of the "apply request values" phase. +

    ]]>
    + +
    +
    + + + +If this value is true and no input value is provided by a postback operation, then the "requiredMessage" text is +registered as a FacesMessage for the request, and validation fails. +

    +

    +Default value: false. +

    ]]>
    + +
    +
    + + + +

    ]]>
    + +
    +
    + + + + + + + + + +The invoked method is expected to check the submitted value for this component, and if not acceptable then report +a validation error for the component. +

    +

    +The method is expected to have the prototype +

    +public void aMethod(FacesContext, UIComponent,Object)]]>
    + +
    +
    + + + + + + + + + +The phase in which this method is invoked can be controlled via the immediate attribute. +

    ]]>
    + +
    +
    + + + + + + + + + +The value can either be a static value (ID) or an EL expression. When a static id is +specified, an instance of the converter type registered with that id is used. When this +is an EL expression, the result of evaluating the expression must be an object that +implements the Converter interface. +

    ]]>
    + +
    +
    + + + + + + + + + + + + + + + + + + +
    +
    + + + + tag-class: org.apache.myfaces.taglib.html.HtmlInputTextareaTag + body-content: JSP + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +During normal event processing, action methods and action listener methods are fired during the +"invoke application" phase of request processing. If this attribute is set to "true", these methods are fired +instead at the end of the "apply request values" phase. +

    ]]>
    + +
    +
    + + + +If this value is true and no input value is provided by a postback operation, then the "requiredMessage" text is +registered as a FacesMessage for the request, and validation fails. +

    +

    +Default value: false. +

    ]]>
    + +
    +
    + + + +

    ]]>
    + +
    +
    + + + + + + + + + +The invoked method is expected to check the submitted value for this component, and if not acceptable then report +a validation error for the component. +

    +

    +The method is expected to have the prototype +

    +public void aMethod(FacesContext, UIComponent,Object)]]>
    + +
    +
    + + + + + + + + + +The phase in which this method is invoked can be controlled via the immediate attribute. +

    ]]>
    + +
    +
    + + + + + + + + + +The value can either be a static value (ID) or an EL expression. When a static id is +specified, an instance of the converter type registered with that id is used. When this +is an EL expression, the result of evaluating the expression must be an object that +implements the Converter interface. +

    ]]>
    + +
    +
    + + + + + + + + + + + + + + + + + + +
    +
    + + + + tag-class: org.apache.myfaces.taglib.html.HtmlMessageTag + body-content: JSP + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +This is a required property on the component. +

    ]]>
    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + +
  • If globalOnly = true, only global messages, that have no +associated clientId, will be displayed.
  • +
  • else if there is a "for" attribute, only messages that are +assigned to the component referenced by the "for" attribute +are displayed.
  • +
  • else all messages are displayed.
  • +]]>
    + tag-class: org.apache.myfaces.taglib.html.HtmlMessagesTag + body-content: JSP +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + body-content: JSP + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +The value can either be a static value (ID) or an EL expression. When a static id is +specified, an instance of the converter type registered with that id is used. When this +is an EL expression, the result of evaluating the expression must be an object that +implements the Converter interface. +

    ]]>
    + +
    +
    + + + + + + + + + + + + + + + + + + +
    +
    + + + + body-content: JSP + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +The value can either be a static value (ID) or an EL expression. When a static id is +specified, an instance of the converter type registered with that id is used. When this +is an EL expression, the result of evaluating the expression must be an object that +implements the Converter interface. +

    ]]>
    + +
    +
    + + + + + + + + + + + + + + + + + + +
    +
    + + + + tag-class: org.apache.myfaces.taglib.html.HtmlOutputFormatTag + body-content: JSP + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +The value can either be a static value (ID) or an EL expression. When a static id is +specified, an instance of the converter type registered with that id is used. When this +is an EL expression, the result of evaluating the expression must be an object that +implements the Converter interface. +

    ]]>
    + +
    +
    + + + + + + + + + + + + + + + + + + +
    +
    + + + + tag-class: org.apache.myfaces.taglib.html.HtmlOutputLabelTag + body-content: JSP + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +The value can either be a static value (ID) or an EL expression. When a static id is +specified, an instance of the converter type registered with that id is used. When this +is an EL expression, the result of evaluating the expression must be an object that +implements the Converter interface. +

    ]]>
    + +
    +
    + + + + + + + + + + + + + + + + + + +
    +
    + + + + tag-class: org.apache.myfaces.taglib.html.HtmlOutputLinkTag + body-content: JSP + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +The value can either be a static value (ID) or an EL expression. When a static id is +specified, an instance of the converter type registered with that id is used. When this +is an EL expression, the result of evaluating the expression must be an object that +implements the Converter interface. +

    ]]>
    + +
    +
    + + + + + + + + + + + + + + + + + + +
    +
    + + + + tag-class: org.apache.myfaces.taglib.html.HtmlOutputTextTag + body-content: JSP + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +The value can either be a static value (ID) or an EL expression. When a static id is +specified, an instance of the converter type registered with that id is used. When this +is an EL expression, the result of evaluating the expression must be an object that +implements the Converter interface. +

    ]]>
    + +
    +
    + + + + + + + + + + + + + + + + + + +
    +
    + + + +Children of this element are rendered as cells in the table, filling +rows from left to right. Facets named "header" and "footer" are optional +and specify the content of the thead and tfoot rows, respectively. +

    ]]>
    + tag-class: org.apache.myfaces.taglib.html.HtmlPanelGridTag + body-content: JSP +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + tag-class: org.apache.myfaces.taglib.html.HtmlPanelGroupTag + body-content: JSP + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Renders as an HTML input tag with its type set to "checkbox", and +its name attribute set to the id. The "checked" attribute is rendered +if the value of this component is true. +

    ]]>
    + tag-class: org.apache.myfaces.taglib.html.HtmlSelectBooleanCheckboxTag + body-content: JSP +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +During normal event processing, action methods and action listener methods are fired during the +"invoke application" phase of request processing. If this attribute is set to "true", these methods are fired +instead at the end of the "apply request values" phase. +

    ]]>
    + +
    +
    + + + +If this value is true and no input value is provided by a postback operation, then the "requiredMessage" text is +registered as a FacesMessage for the request, and validation fails. +

    +

    +Default value: false. +

    ]]>
    + +
    +
    + + + +

    ]]>
    + +
    +
    + + + + + + + + + +The invoked method is expected to check the submitted value for this component, and if not acceptable then report +a validation error for the component. +

    +

    +The method is expected to have the prototype +

    +public void aMethod(FacesContext, UIComponent,Object)]]>
    + +
    +
    + + + + + + + + + +The phase in which this method is invoked can be controlled via the immediate attribute. +

    ]]>
    + +
    +
    + + + +The value can either be a static value (ID) or an EL expression. When a static id is +specified, an instance of the converter type registered with that id is used. When this +is an EL expression, the result of evaluating the expression must be an object that +implements the Converter interface. +

    ]]>
    + +
    +
    + + + + + + + + + + + + + + + + + + +
    +
    + + + +This is presented as a table with one cell per available option; each cell contains a +checkbox and the option's label. The "layout" attribute determines whether the checkboxes +are laid out horizontally or vertically. +

    +

    +The set of available options is defined by adding child +f:selectItem or f:selectItems components to this component. +

    +

    +The value attribute must be a value-binding expression to a +property of type List, Object array or primitive array. That +"collection" is expected to contain objects of the same type as +SelectItem.getValue() returns for the child SelectItem objects. +On rendering, any child whose value is in the list will be +selected initially. During the update phase, the property setter +is called to replace the original collection with a completely +new collection object of the appropriate type. The new collection +object contains the value of each child SelectItem object that +is currently selected. +

    ]]>
    + tag-class: org.apache.myfaces.taglib.html.HtmlSelectManyCheckboxTag + body-content: JSP +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +During normal event processing, action methods and action listener methods are fired during the +"invoke application" phase of request processing. If this attribute is set to "true", these methods are fired +instead at the end of the "apply request values" phase. +

    ]]>
    + +
    +
    + + + +If this value is true and no input value is provided by a postback operation, then the "requiredMessage" text is +registered as a FacesMessage for the request, and validation fails. +

    +

    +Default value: false. +

    ]]>
    + +
    +
    + + + +

    ]]>
    + +
    +
    + + + + + + + + + +The invoked method is expected to check the submitted value for this component, and if not acceptable then report +a validation error for the component. +

    +

    +The method is expected to have the prototype +

    +public void aMethod(FacesContext, UIComponent,Object)]]>
    + +
    +
    + + + + + + + + + +The phase in which this method is invoked can be controlled via the immediate attribute. +

    ]]>
    + +
    +
    + + + + + + + + + +The value can either be a static value (ID) or an EL expression. When a static id is +specified, an instance of the converter type registered with that id is used. When this +is an EL expression, the result of evaluating the expression must be an object that +implements the Converter interface. +

    ]]>
    + +
    +
    + + + + + + + + + + + + + + + + + + +
    +
    + + + +The set of available options is defined by adding child +f:selectItem or f:selectItems components to this component. +

    +

    +The list is rendered as an HTML select element. The "multiple" +attribute is set on the element and the size attribute is set to +the provided value, defaulting to the number of items in the list +if no value is provided. If the size is set to 1, then a +"drop-down" list (aka "combo-box") is presented, though if this is +the intention then a selectManyMenu should be used instead. +

    +

    +The value attribute must be a value-binding expression to a +property of type List, Object array or primitive array. That +"collection" is expected to contain objects of the same type as +SelectItem.getValue() returns for the child SelectItem objects. +On rendering, any child whose value is in the list will be +selected initially. During the update phase, the property is set +to contain a "collection" of values for those child SelectItem +objects that are currently selected. +

    ]]>
    + tag-class: org.apache.myfaces.taglib.html.HtmlSelectManyListboxTag + body-content: JSP +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +During normal event processing, action methods and action listener methods are fired during the +"invoke application" phase of request processing. If this attribute is set to "true", these methods are fired +instead at the end of the "apply request values" phase. +

    ]]>
    + +
    +
    + + + +If this value is true and no input value is provided by a postback operation, then the "requiredMessage" text is +registered as a FacesMessage for the request, and validation fails. +

    +

    +Default value: false. +

    ]]>
    + +
    +
    + + + +

    ]]>
    + +
    +
    + + + + + + + + + +The invoked method is expected to check the submitted value for this component, and if not acceptable then report +a validation error for the component. +

    +

    +The method is expected to have the prototype +

    +public void aMethod(FacesContext, UIComponent,Object)]]>
    + +
    +
    + + + + + + + + + +The phase in which this method is invoked can be controlled via the immediate attribute. +

    ]]>
    + +
    +
    + + + + + + + + + +The value can either be a static value (ID) or an EL expression. When a static id is +specified, an instance of the converter type registered with that id is used. When this +is an EL expression, the result of evaluating the expression must be an object that +implements the Converter interface. +

    ]]>
    + +
    +
    + + + + + + + + + + + + + + + + + + +
    +
    + + + +The set of available options is defined by adding child +f:selectItem or f:selectItems components to this component. +

    +

    +Renders as an HTML select element, with the choices made up of +child f:selectItem or f:selectItems elements. The multiple +attribute is set and the size attribute is set to 1. +

    +

    +The value attribute must be a value-binding expression to a +property of type List, Object array or primitive array. That +"collection" is expected to contain objects of the same type as +SelectItem.getValue() returns for the child SelectItem objects. +On rendering, any child whose value is in the list will be +selected initially. During the update phase, the property is set +to contain a "collection" of values for those child SelectItem +objects that are currently selected. +

    ]]>
    + tag-class: org.apache.myfaces.taglib.html.HtmlSelectManyMenuTag + body-content: JSP +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +During normal event processing, action methods and action listener methods are fired during the +"invoke application" phase of request processing. If this attribute is set to "true", these methods are fired +instead at the end of the "apply request values" phase. +

    ]]>
    + +
    +
    + + + +If this value is true and no input value is provided by a postback operation, then the "requiredMessage" text is +registered as a FacesMessage for the request, and validation fails. +

    +

    +Default value: false. +

    ]]>
    + +
    +
    + + + +

    ]]>
    + +
    +
    + + + + + + + + + +The invoked method is expected to check the submitted value for this component, and if not acceptable then report +a validation error for the component. +

    +

    +The method is expected to have the prototype +

    +public void aMethod(FacesContext, UIComponent,Object)]]>
    + +
    +
    + + + + + + + + + +The phase in which this method is invoked can be controlled via the immediate attribute. +

    ]]>
    + +
    +
    + + + + + + + + + +The value can either be a static value (ID) or an EL expression. When a static id is +specified, an instance of the converter type registered with that id is used. When this +is an EL expression, the result of evaluating the expression must be an object that +implements the Converter interface. +

    ]]>
    + +
    +
    + + + + + + + + + + + + + + + + + + +
    +
    + + + +Rendered as a listbox with the MULTIPLE attribute set to false. +

    +

    +The available choices are defined via child f:selectItem or +f:selectItems elements. The size of the listbox defaults to the +number of available choices; if size is explicitly set to a +smaller value, then scrollbars will be rendered. If size is set +to 1 then a "drop-down menu" (aka "combo-box") is rendered, though +if this is the intent then selectOneMenu should be used instead. +

    +

    +The value attribute of this component is read to determine +which of the available options is initially selected; its value +should match the "value" property of one of the child SelectItem +objects. +

    +

    +On submit of the enclosing form, the value attribute's bound +property is updated to contain the "value" property from the +chosen SelectItem. +

    ]]>
    + tag-class: org.apache.myfaces.taglib.html.HtmlSelectOneListboxTag + body-content: JSP +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +During normal event processing, action methods and action listener methods are fired during the +"invoke application" phase of request processing. If this attribute is set to "true", these methods are fired +instead at the end of the "apply request values" phase. +

    ]]>
    + +
    +
    + + + +If this value is true and no input value is provided by a postback operation, then the "requiredMessage" text is +registered as a FacesMessage for the request, and validation fails. +

    +

    +Default value: false. +

    ]]>
    + +
    +
    + + + +

    ]]>
    + +
    +
    + + + + + + + + + +The invoked method is expected to check the submitted value for this component, and if not acceptable then report +a validation error for the component. +

    +

    +The method is expected to have the prototype +

    +public void aMethod(FacesContext, UIComponent,Object)]]>
    + +
    +
    + + + + + + + + + +The phase in which this method is invoked can be controlled via the immediate attribute. +

    ]]>
    + +
    +
    + + + + + + + + + +The value can either be a static value (ID) or an EL expression. When a static id is +specified, an instance of the converter type registered with that id is used. When this +is an EL expression, the result of evaluating the expression must be an object that +implements the Converter interface. +

    ]]>
    + +
    +
    + + + + + + + + + + + + + + + + + + +
    +
    + + + +Renders a drop-down menu (aka "combo-box") containing a set of +choices, of which only one can be chosen at a time. The available +choices are defined via child f:selectItem or f:selectItems +elements. +

    +

    +The value attribute of this component is read to determine +which of the available options is initially selected; its value +should match the "value" property of one of the child SelectItem +objects. +

    +

    +On submit of the enclosing form, the value attribute's bound property +is updated to contain the "value" property from the chosen SelectItem. +

    ]]>
    + tag-class: org.apache.myfaces.taglib.html.HtmlSelectOneMenuTag + body-content: JSP +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +During normal event processing, action methods and action listener methods are fired during the +"invoke application" phase of request processing. If this attribute is set to "true", these methods are fired +instead at the end of the "apply request values" phase. +

    ]]>
    + +
    +
    + + + +If this value is true and no input value is provided by a postback operation, then the "requiredMessage" text is +registered as a FacesMessage for the request, and validation fails. +

    +

    +Default value: false. +

    ]]>
    + +
    +
    + + + +

    ]]>
    + +
    +
    + + + + + + + + + +The invoked method is expected to check the submitted value for this component, and if not acceptable then report +a validation error for the component. +

    +

    +The method is expected to have the prototype +

    +public void aMethod(FacesContext, UIComponent,Object)]]>
    + +
    +
    + + + + + + + + + +The phase in which this method is invoked can be controlled via the immediate attribute. +

    ]]>
    + +
    +
    + + + + + + + + + +The value can either be a static value (ID) or an EL expression. When a static id is +specified, an instance of the converter type registered with that id is used. When this +is an EL expression, the result of evaluating the expression must be an object that +implements the Converter interface. +

    ]]>
    + +
    +
    + + + + + + + + + + + + + + + + + + +
    +
    + + + +Renders as an HTML table element, containing an input element for +each child f:selectItem or f:selectItems elements. The input +elements are rendered as type radio. +

    +

    +The value attribute of this component is read to determine +which of the available options is initially selected; its value should +match the "value" property of one of the child SelectItem objects. +

    +

    +On submit of the enclosing form, the value attribute's bound property +is updated to contain the "value" property from the chosen SelectItem. +

    ]]>
    + tag-class: org.apache.myfaces.taglib.html.HtmlSelectOneRadioTag + body-content: JSP +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +During normal event processing, action methods and action listener methods are fired during the +"invoke application" phase of request processing. If this attribute is set to "true", these methods are fired +instead at the end of the "apply request values" phase. +

    ]]>
    + +
    +
    + + + +If this value is true and no input value is provided by a postback operation, then the "requiredMessage" text is +registered as a FacesMessage for the request, and validation fails. +

    +

    +Default value: false. +

    ]]>
    + +
    +
    + + + +

    ]]>
    + +
    +
    + + + + + + + + + +The invoked method is expected to check the submitted value for this component, and if not acceptable then report +a validation error for the component. +

    +

    +The method is expected to have the prototype +

    +public void aMethod(FacesContext, UIComponent,Object)]]>
    + +
    +
    + + + + + + + + + +The phase in which this method is invoked can be controlled via the immediate attribute. +

    ]]>
    + +
    +
    + + + + + + + + + +The value can either be a static value (ID) or an EL expression. When a static id is +specified, an instance of the converter type registered with that id is used. When this +is an EL expression, the result of evaluating the expression must be an object that +implements the Converter interface. +

    ]]>
    + +
    +
    + + + + + + + + + + + + + + + + + + +
    +
    + + + + +This tag is backed using a javax.faces.component.UIOutput component instance. +In other words, instances of this component class are created when it is resolved +a Resource annotation, so there is no concrete class or specific tag handler for it, +but there exists a concrete renderer for it. +

    ]]>
    + tag-class: org.apache.myfaces.view.facelets.tag.jsf.html.HtmlOutputScriptHandler + body-content: JSP +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +The value can either be a static value (ID) or an EL expression. When a static id is +specified, an instance of the converter type registered with that id is used. When this +is an EL expression, the result of evaluating the expression must be an object that +implements the Converter interface. +

    ]]>
    + +
    +
    + + + + + + + + + + + + + + + + + + + +
    +
    + + + +This tag is backed using a javax.faces.component.UIOutput component instance. +In other words, instances of this component class are created when it is resolved +a Resource annotation, so there is no concrete class or specific tag handler for it, +but there exists a concrete renderer for it. +

    ]]>
    + tag-class: org.apache.myfaces.view.facelets.tag.jsf.html.HtmlOutputStylesheetHandler + body-content: JSP +
    + + + + + + + + + + + + + + + + + + + + + + + + + + +The value can either be a static value (ID) or an EL expression. When a static id is +specified, an instance of the converter type registered with that id is used. When this +is an EL expression, the result of evaluating the expression must be an object that +implements the Converter interface. +

    ]]>
    + +
    +
    + + + + + + + + + + + + + + + + + + + +
    +
    + +
    diff --git a/cobigen/cobigen-xmlplugin/src/main/resources/mergeSchemas/xsd/myfaces_facelets_ui_2_1.xsd b/cobigen/cobigen-xmlplugin/src/main/resources/mergeSchemas/xsd/myfaces_facelets_ui_2_1.xsd new file mode 100644 index 0000000000..95d0b5d038 --- /dev/null +++ b/cobigen/cobigen-xmlplugin/src/main/resources/mergeSchemas/xsd/myfaces_facelets_ui_2_1.xsd @@ -0,0 +1,368 @@ + + + + + + + + + JSF UI Facelets Tag Library. + display-name: JSF UI Facelets Tag Library. + short-name: ui + + + + + + body-content: JSP + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + body-content: JSP + + + + + + + + + + + + + + + + + + + + + + + + +The component class used for this tag is +org.apache.myfaces.view.facelets.tag.ui.ComponentRef and the +real java class that contains this description is not used on runtime. +

    ]]>
    + tag-class: org.apache.myfaces.view.facelets.tag.ui.ComponentRefHandler + body-content: JSP +
    + + + + + + + + + + + + + + + + + + + +
    + + + +The component class used for this tag is +org.apache.myfaces.view.facelets.tag.ui.ComponentRef and the +real java class that contains this description is not used on runtime. +

    ]]>
    + tag-class: org.apache.myfaces.view.facelets.tag.ui.ComponentRefHandler + body-content: JSP +
    + + + + + + + + + + + + + + + + + + + +
    + + + + tag-class: org.apache.myfaces.view.facelets.tag.ui.CompositionHandler + body-content: JSP + + + + + + + + + + + + + + + + + + tag-class: org.apache.myfaces.view.facelets.tag.ui.DecorateHandler + body-content: JSP + + + + + + + + + + + + + + + + + + tag-class: org.apache.myfaces.view.facelets.tag.ui.DefineHandler + body-content: JSP + + + + + + + + + + + + + + + + + + tag-class: org.apache.myfaces.view.facelets.tag.ui.IncludeHandler + body-content: JSP + + + + + + + + + + + + + + + + + + tag-class: org.apache.myfaces.view.facelets.tag.ui.InsertHandler + body-content: JSP + + + + + + + + + + + + + + + + + + tag-class: org.apache.myfaces.view.facelets.tag.ui.ParamHandler + body-content: JSP + + + + + + + + + + + + + + + + + + + + + +
    diff --git a/cobigen/cobigen-xmlplugin/src/main/resources/mergeSchemas/xsd/myfaces_facelets_ui_2_2.xsd b/cobigen/cobigen-xmlplugin/src/main/resources/mergeSchemas/xsd/myfaces_facelets_ui_2_2.xsd new file mode 100644 index 0000000000..bf4e07f6c3 --- /dev/null +++ b/cobigen/cobigen-xmlplugin/src/main/resources/mergeSchemas/xsd/myfaces_facelets_ui_2_2.xsd @@ -0,0 +1,368 @@ + + + + + + + + + JSF UI Facelets Tag Library. + display-name: JSF UI Facelets Tag Library. + short-name: ui + + + + + + body-content: JSP + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + body-content: JSP + + + + + + + + + + + + + + + + + + + + + + + + +The component class used for this tag is +org.apache.myfaces.view.facelets.tag.ui.ComponentRef and the +real java class that contains this description is not used on runtime. +

    ]]>
    + tag-class: org.apache.myfaces.view.facelets.tag.ui.ComponentRefHandler + body-content: JSP +
    + + + + + + + + + + + + + + + + + + + +
    + + + +The component class used for this tag is +org.apache.myfaces.view.facelets.tag.ui.ComponentRef and the +real java class that contains this description is not used on runtime. +

    ]]>
    + tag-class: org.apache.myfaces.view.facelets.tag.ui.ComponentRefHandler + body-content: JSP +
    + + + + + + + + + + + + + + + + + + + +
    + + + + tag-class: org.apache.myfaces.view.facelets.tag.ui.CompositionHandler + body-content: JSP + + + + + + + + + + + + + + + + + + tag-class: org.apache.myfaces.view.facelets.tag.ui.DecorateHandler + body-content: JSP + + + + + + + + + + + + + + + + + + tag-class: org.apache.myfaces.view.facelets.tag.ui.DefineHandler + body-content: JSP + + + + + + + + + + + + + + + + + + tag-class: org.apache.myfaces.view.facelets.tag.ui.IncludeHandler + body-content: JSP + + + + + + + + + + + + + + + + + + tag-class: org.apache.myfaces.view.facelets.tag.ui.InsertHandler + body-content: JSP + + + + + + + + + + + + + + + + + + tag-class: org.apache.myfaces.view.facelets.tag.ui.ParamHandler + body-content: JSP + + + + + + + + + + + + + + + + + + + + + +
    diff --git a/cobigen/cobigen-xmlplugin/src/test/java/com/devonfw/cobigen/xmlplugin/integrationtest/XmlPluginIntegrationTest.java b/cobigen/cobigen-xmlplugin/src/test/java/com/devonfw/cobigen/xmlplugin/integrationtest/XmlPluginIntegrationTest.java index 0112b99dad..0437fc39dc 100644 --- a/cobigen/cobigen-xmlplugin/src/test/java/com/devonfw/cobigen/xmlplugin/integrationtest/XmlPluginIntegrationTest.java +++ b/cobigen/cobigen-xmlplugin/src/test/java/com/devonfw/cobigen/xmlplugin/integrationtest/XmlPluginIntegrationTest.java @@ -2,9 +2,6 @@ import static com.devonfw.cobigen.test.assertj.CobiGenAsserts.assertThat; import static org.assertj.core.api.Assertions.assertThat; -import static org.hamcrest.CoreMatchers.containsString; -import static org.hamcrest.CoreMatchers.not; -import static org.junit.Assert.assertThat; import java.io.File; import java.nio.charset.Charset; @@ -25,11 +22,11 @@ import org.w3c.dom.Document; import com.devonfw.cobigen.api.CobiGen; -import com.devonfw.cobigen.api.exception.InvalidConfigurationException; -import com.devonfw.cobigen.api.exception.MergeException; +import com.devonfw.cobigen.api.exception.PluginNotAvailableException; import com.devonfw.cobigen.api.to.GenerationReportTo; import com.devonfw.cobigen.api.to.TemplateTo; import com.devonfw.cobigen.impl.CobiGenFactory; +import com.devonfw.cobigen.test.assertj.GenerationReportToAssert; import junit.framework.AssertionFailedError; @@ -261,7 +258,7 @@ public void testXmlReaderIntegration_VariablesConstant() throws Exception { } /** - * Regression test that the error message of cobigen-core has not be changed, which indicates a merge + * Regression test that the error message of cobigen-core has not been changed, which indicates a merge * strategy to not being found. This is necessary for the tests checking the already implemented merge * strategies to exist. * @throws Exception @@ -270,11 +267,10 @@ public void testXmlReaderIntegration_VariablesConstant() throws Exception { @Test public void testMergeStrategyNotFoundErrorMessageRegression() throws Exception { generateTemplateAndTestOutput("xmlTestTemplate_SingleAttribute", "xmlTestOutput_SingleAttribute.txt", null); - try { + GenerationReportToAssert asserts = generateTemplateAndTestOutput("xmlTestTemplate_SingleAttribute", "xmlTestOutput_SingleAttribute.txt", null); - } catch (InvalidConfigurationException e) { - assertThat(e.getMessage(), containsString("No merger for merge strategy")); - } + + asserts.containsException(PluginNotAvailableException.class); } /** @@ -284,13 +280,26 @@ public void testMergeStrategyNotFoundErrorMessageRegression() throws Exception { */ @Test public void testMergeStrategyDefined_xmlmerge_attachTexts() throws Exception { - generateTemplateAndTestOutput("xmlTestTemplate_TextNodes", "xmlTestOutput_TextNodes.txt", null); - try { + GenerationReportToAssert asserts = generateTemplateAndTestOutput("xmlTestTemplate_TextNodes", "xmlTestOutput_TextNodes.txt", null); - } catch (MergeException e) { - assertThat(e.getMessage(), not(containsString("No merger for merge strategy"))); - } + + asserts.notContainsException(PluginNotAvailableException.class); + + } + + /** + * Tests the merge strategy xmlmerge_attachTexts_validate to exist and being registered. + * @throws Exception + * test fails + */ + @Test + public void testMergeStrategyDefined_xmlmerge_attachTexts_validate() throws Exception { + generateTemplateAndTestOutput("xmlTestTemplate_TextNodesValidate", "xmlTestOutput_TextNodes.txt", null); + GenerationReportToAssert asserts = + generateTemplateAndTestOutput("xmlTestTemplate_TextNodesValidate", "xmlTestOutput_TextNodes.txt", null); + + asserts.notContainsException(PluginNotAvailableException.class); } /** @@ -300,13 +309,25 @@ public void testMergeStrategyDefined_xmlmerge_attachTexts() throws Exception { */ @Test public void testMergeStrategyDefined_xmlmerge_override_attachTexts() throws Exception { - generateTemplateAndTestOutput("xmlTestTemplate_SingleChild", "xmlTestOutput_SingleChild.txt", null); - try { + GenerationReportToAssert asserts = generateTemplateAndTestOutput("xmlTestTemplate_SingleChild", "xmlTestOutput_SingleChild.txt", null); - } catch (MergeException e) { - assertThat(e.getMessage(), not(containsString("No merger for merge strategy"))); - } + + asserts.notContainsException(PluginNotAvailableException.class); + } + + /** + * Tests the merge strategy xmlmerge_override_attachTexts_validate to exist and being registered. + * @throws Exception + * test fails + */ + @Test + public void testMergeStrategyDefined_xmlmerge_override_attachTexts_validate() throws Exception { + generateTemplateAndTestOutput("xmlTestTemplate_SingleChildValidate", "xmlTestOutput_SingleChild.txt", null); + GenerationReportToAssert asserts = + generateTemplateAndTestOutput("xmlTestTemplate_SingleChildValidate", "xmlTestOutput_SingleChild.txt", null); + + asserts.notContainsException(PluginNotAvailableException.class); } /** @@ -316,13 +337,25 @@ public void testMergeStrategyDefined_xmlmerge_override_attachTexts() throws Exce */ @Test public void testMergeStrategyDefined_xmlmerge() throws Exception { - generateTemplateAndTestOutput("xmlTestTemplate_ChildList", "xmlTestOutput_ChildList.txt", null); - try { + GenerationReportToAssert asserts = generateTemplateAndTestOutput("xmlTestTemplate_ChildList", "xmlTestOutput_ChildList.txt", null); - } catch (MergeException e) { - assertThat(e.getMessage(), not(containsString("No merger for merge strategy"))); - } + + asserts.notContainsException(PluginNotAvailableException.class); + } + + /** + * Tests the merge strategy xmlmerge_validate to exist and being registered. + * @throws Exception + * test fails + */ + @Test + public void testMergeStrategyDefined_xmlmerge_validate() throws Exception { + generateTemplateAndTestOutput("xmlTestTemplate_ChildListValidate", "xmlTestOutput_ChildList.txt", null); + GenerationReportToAssert asserts = + generateTemplateAndTestOutput("xmlTestTemplate_ChildListValidate", "xmlTestOutput_ChildList.txt", null); + + asserts.notContainsException(PluginNotAvailableException.class); } /** @@ -332,14 +365,26 @@ public void testMergeStrategyDefined_xmlmerge() throws Exception { */ @Test public void testMergeStrategyDefined_xmlmerge_override() throws Exception { - generateTemplateAndTestOutput("xmlTestTemplate_VariablesConstant", "xmlTestOutput_VariablesConstant.txt", null); - try { - generateTemplateAndTestOutput("xmlTestTemplate_VariablesConstant", "xmlTestOutput_VariablesConstant.txt", - null); - } catch (MergeException e) { - assertThat(e.getMessage(), not(containsString("No merger for merge strategy"))); - } + GenerationReportToAssert asserts = generateTemplateAndTestOutput("xmlTestTemplate_VariablesConstant", + "xmlTestOutput_VariablesConstant.txt", null); + + asserts.notContainsException(PluginNotAvailableException.class); + } + + /** + * Tests the merge strategy xmlmerge_override_validate to exist and being registered. + * @throws Exception + * test fails + */ + @Test + public void testMergeStrategyDefined_xmlmerge_override_validate() throws Exception { + generateTemplateAndTestOutput("xmlTestTemplate_VariablesConstantValidate", + "xmlTestOutput_VariablesConstant.txt", null); + GenerationReportToAssert asserts = generateTemplateAndTestOutput("xmlTestTemplate_VariablesConstantValidate", + "xmlTestOutput_VariablesConstant.txt", null); + + asserts.notContainsException(PluginNotAvailableException.class); } /** @@ -354,8 +399,8 @@ public void testMergeStrategyDefined_xmlmerge_override() throws Exception { * @throws Exception * if anything fails. */ - private void generateTemplateAndTestOutput(String templateId, String outputFileName, String expectedFileContents) - throws Exception { + private GenerationReportToAssert generateTemplateAndTestOutput(String templateId, String outputFileName, + String expectedFileContents) throws Exception { CobiGen cobiGen = CobiGenFactory.create(cobigenConfigFolder.toURI()); // wenn der temporäre Output Ordner breits existiert, dann wird dieser wiederverwendet. @@ -373,9 +418,14 @@ private void generateTemplateAndTestOutput(String templateId, String outputFileN // find matching templates and use test template for generation List templates = cobiGen.getMatchingTemplates(inputDocument); boolean templateFound = false; + GenerationReportToAssert asserts = null; for (TemplateTo template : templates) { if (template.getId().equals(templateId)) { - cobiGen.generate(inputDocument, template, Paths.get(tmpFolderCobiGen.getAbsolutePath()), false); + GenerationReportTo report = + cobiGen.generate(inputDocument, template, Paths.get(tmpFolderCobiGen.getAbsolutePath()), false); + + asserts = assertThat(report); + File expectedFile = new File(tmpFolderCobiGen.getAbsoluteFile() + SystemUtils.FILE_SEPARATOR + outputFileName); @@ -392,5 +442,6 @@ private void generateTemplateAndTestOutput(String templateId, String outputFileN if (!templateFound) { throw new AssertionFailedError("Test template not found"); } + return asserts; } } diff --git a/cobigen/cobigen-xmlplugin/src/test/java/com/devonfw/cobigen/xmlplugin/integrationtest/merger/XmlPluginMergerIntegrationTest.java b/cobigen/cobigen-xmlplugin/src/test/java/com/devonfw/cobigen/xmlplugin/integrationtest/merger/XmlPluginMergerIntegrationTest.java index a8993e5c40..80b01ff7ef 100644 --- a/cobigen/cobigen-xmlplugin/src/test/java/com/devonfw/cobigen/xmlplugin/integrationtest/merger/XmlPluginMergerIntegrationTest.java +++ b/cobigen/cobigen-xmlplugin/src/test/java/com/devonfw/cobigen/xmlplugin/integrationtest/merger/XmlPluginMergerIntegrationTest.java @@ -19,6 +19,7 @@ import org.w3c.dom.Element; import org.xml.sax.InputSource; +import com.devonfw.cobigen.api.exception.MergeException; import com.devonfw.cobigen.api.extension.Merger; import com.devonfw.cobigen.xmlplugin.merger.delegates.MergeType; import com.devonfw.cobigen.xmlplugin.merger.delegates.XmlMergerDelegate; @@ -54,9 +55,9 @@ public class XmlPluginMergerIntegrationTest { @Before public void setUp() { final String mergeSchemaLocation = "src/main/resources/mergeSchemas/"; - patchPreferingMerger = new XmlMergerDelegate(mergeSchemaLocation, MergeType.PATCHATTACHOROVERWRITE); + patchPreferingMerger = new XmlMergerDelegate(mergeSchemaLocation, MergeType.PATCHATTACHOROVERWRITE, false); // ((XmlLawMergerDelegate) patchPreferingMerger).setValidation(false); - basePreferingMerger = new XmlMergerDelegate(mergeSchemaLocation, MergeType.BASEATTACHOROVERWRITE); + basePreferingMerger = new XmlMergerDelegate(mergeSchemaLocation, MergeType.BASEATTACHOROVERWRITE, false); ((XmlMergerDelegate) basePreferingMerger).setValidation(false); } @@ -273,6 +274,28 @@ public void testBeans() throws Exception { // returned as well and needed to be considered } + /** + * Tests that a MergeException is thrown if the validation is enabled and the validation by LeXeMe failed + * and canceled the merge + * @throws Exception + * should not happen + */ + @Test(expected = MergeException.class) + public void testValidationEnabledThrowsMergeException() throws Exception { + + String mergeSchemaLocation = "src/main/resources/mergeSchemas/"; + patchPreferingMerger = + new XmlMergerDelegate(mergeSchemaLocation, MergeType.PATCHATTACHOROVERWRITEVALIDATE, true); + basePreferingMerger = new XmlMergerDelegate(mergeSchemaLocation, MergeType.BASEATTACHOROVERWRITEVALIDATE, true); + + String basePath = resourcesRoot + "BaseFile_validation.xml"; + String patchPath = resourcesRoot + "PatchFile_validation.xml"; + + File baseFile = new File(basePath); + String patchString = readFile(patchPath, charset); + basePreferingMerger.merge(baseFile, patchString, charset); + } + /** * Test for Issue #189. Tests if maven configurations can be merged to accumulate dependencies * @throws Exception diff --git a/cobigen/cobigen-xmlplugin/src/test/resources/testdata/integrationtest/templates/testTemplates/templates.xml b/cobigen/cobigen-xmlplugin/src/test/resources/testdata/integrationtest/templates/testTemplates/templates.xml index b36e8027ad..5566ed7158 100644 --- a/cobigen/cobigen-xmlplugin/src/test/resources/testdata/integrationtest/templates/testTemplates/templates.xml +++ b/cobigen/cobigen-xmlplugin/src/test/resources/testdata/integrationtest/templates/testTemplates/templates.xml @@ -5,8 +5,12 @@