You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@myfaces.apache.org by "Andy Schwartz (JIRA)" <de...@myfaces.apache.org> on 2009/05/04 22:51:31 UTC
[jira] Updated: (TRINIDAD-1466) Support xinclude'd property
metadata
[ https://issues.apache.org/jira/browse/TRINIDAD-1466?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Andy Schwartz updated TRINIDAD-1466:
------------------------------------
Status: Patch Available (was: Open)
> Support xinclude'd property metadata
> ------------------------------------
>
> Key: TRINIDAD-1466
> URL: https://issues.apache.org/jira/browse/TRINIDAD-1466
> Project: MyFaces Trinidad
> Issue Type: Improvement
> Components: Build
> Reporter: Andy Schwartz
> Priority: Minor
> Attachments: TRINIDAD-1466.patch
>
>
> Currently the Trinidad plugins support the use of xinclude to pull in component metadata. For example, looking at CoreCommandButton.xml, I see:
> <faces-config version="1.2" xmlns="http://java.sun.com/xml/ns/javaee"
> xmlns:tr="http://myfaces.apache.org/trinidad"
> xmlns:xi="http://www.w3.org/2001/XInclude"
> xmlns:mfp="http://myfaces.apache.org/maven-faces-plugin"
> xmlns:xhtml="http://www.w3.org/1999/xhtml">
> <component>
> <!-- Snip -->
> <xi:include href="includes/CommonAttrs.xml" xpointer="/faces-config/component/*"/>
> <xi:include href="includes/CoreJSEvents.xml" xpointer="/faces-config/component/*"/>
> <xi:include href="includes/LaunchSource.xml" xpointer="/faces-config/component/*"/>
> <!-- Snip -->
> </faces-config.xml>
> This pulls in component properties from various external sources, making it possible to share component metadata across components.
> I have a case where I would like to include property-specific metadata, eg:
> <faces-config version="1.2" xmlns="http://java.sun.com/xml/ns/javaee"
> xmlns:tr="http://myfaces.apache.org/trinidad"
> xmlns:xi="http://www.w3.org/2001/XInclude"
> xmlns:mfp="http://myfaces.apache.org/maven-faces-plugin"
> xmlns:xhtml="http://www.w3.org/1999/xhtml">
> <component>
> <property>
> <property-name>Foo</property-name>
> <xi:include href="includes/CommonFoo.xml" xpointer="/faces-config/component/property/*"/>
> </property>
> </faces-config.xml>
> The goal is to define property metadata once and then include this into various property definitions that share common metadata.
> However, this does not currently work. The issue is that FacesConfigParser. addComponentDigesterRules() only provides support for includes that appear within faces-config/component elements:
> // XInclude rules
> digester.setRuleNamespaceURI(XIncludeFilter.XINCLUDE_NAMESPACE);
> digester.addFactoryCreate("faces-config/component/include",
> ComponentIncludeFactory.class);
> Includes underneath faces-config/component/property elements are ignored. This prevents sharing of metadata across property definitions.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.