- About Us Home Contributors License Components Sandbox Jelly Overview FAQ Getting Started Tutorial Detail JellyDoc Download Tag Reference Community IRC Powered By To Do List Features JellyUnit JellySwing JellySWT XML Pipeline Core Tags Tag Libraries General Information Charter Volunteering Contributing Patches Releasing Components Jakarta Community Get Involved Mailing Lists Commons Resources (Unofficial) Wiki Japanese Translation Korean Translation Related DB Commons XML Commons | ### TODO The following is a list of items that need to be completed in Jelly. Contributions are welcome!. ### Core tasks Implementa a META-INF/services mechanism for mapping Jelly libraries to namespace URIs in a similar way to how the commons-discovery and JAXP libraries work. This would allow Jelly libraries to be distributed in a self contained JAR then just put on the classpath and they'd be usable. Implement a JJAR/Maven mechanism so that using a new Jelly library via a namespace URI would automatically download the jar and its dependencies from some local/remote repository. Maybe add a Scope class to make it easier to plugin custom scopes such as request, session, applicaiton, initParams, params, transation etc. In a workflow setting this could also include transient and persistent scopes Write a JellyServlet so that Jelly can be used as a page templating system. Implement a HTML parser for Jelly, probably using NeckoHTML so that non-XML can be parsed and tags with prefixes can be bound to Jelly tags. write a Cocoon JellyGenerator so that Jelly scripts can be used easily inside Cocoon consider implementing a Jelly Doclet so that Jelly can be used to code generate stuff from javadoc tags in a similar way to XDoclet but making use of the JSTL tags and the Velocity like expression language (Jexl) which will avoid the need to use huge numbers of tags. Rename the DynaTag interface to be DynamicAttributes along with JSP1.3, also add a namespace URI parameter Add support for namespace URI use inside XPath expressions. When defining new tags using <define:tag>, we should allow attributes to be named, specified as required, specify the optional conditions and so forth for validating instances. I guess this could just be normal script though. The org.apache.commons.jelly.impl package doesn't have a great name - Can we think of a better one? Also some of the classes in this package could maybe do with a rename? ScriptBlock for example - should we just call it a Block or maybe a CompositeScript? Add an adapter to run JSP tag libraries inside Jelly when Jelly is used in a Servlet / JSP environment? Document much more! ### Ideas for new tag libraries An XSD tag library that can be used to parse XSD documents and create DynaBeans from the complex types.
      <xsd:element name="MyDynamicClass">
        <xsd:complexType>
            ...
        </xsd:complexType>
      </xsd:element>
Also we could consider using class names or XSD type names to do conversions of values, maybe using the ConvertUtils class in beanutils. conside a tag library which implements the STX specification for the SAX based transformation of XML. This is kinda like XPath and XSLT but is based purely on a SAX stream. Maybe we could wrap Joost in a Jelly tag library Implement a Schematron tag library for validing XML using a path based approach, rather than schema based. Provide support for running a piece of Jelly script remotely. This would be particularly useful for distributed testing. Maybe integrating or enhancing something like rant ### Changes to existing tag libraries Add JSL test cases to test for ordering of patterns and that the correct output comes out. ### Ponder about The following is a list of things that might be good to add to Jelly, maybe after more thought. maybe consider a tag which will switch the default EL to XPath; then XPath and EL can be peers. Then ${foo} can be used as an XPath expression anywhere We could autogenerate XML Schemas or RelaxNG docs for tag libraries to help validate scripts Patch TagLibrary to alias all <mixedCase> tags to <mixed-case> tags