Cernunnos Manual


<entry>

Description:

Defines a new grammar entry of class IMPL with the specified NAME.

NOTE: This task may only appear as a direct child of a <grammar> task .

Reagents:

Name XPath Description Reagent Type Expected Type Required
NAME @name Name of this grammar entry. Cernunnos XML typically references tasks and phrases by name. PHRASE java.lang.String Yes
IMPL @impl Fully-qualified Java class name for this Task or Phrase. PHRASE java.lang.String Yes
CONTENT_MODEL content-model Grammar entries may optionally be defined with some or all of the reagents supported by the underlying class pre-defined. Use a single child 'content-model' element for this purpose: reagents of the implementing class will have their XPath expressions evaluated against this element. Note that phrases, which normally can accept only one input ('descendant-or-self::text()') can support multiple reagents using this mechanism. NODE_LIST java.util.List No
DESCRIPTION description XHTML description of this entry. NODE_LIST java.util.List No
EXAMPLES example Examples of this entry in use. Each example may optionally include a 'caption' attribute that describes what the example does. NODE_LIST java.util.List No
DEPRECATION_VERSION deprecation/@since Version of Cernunnos (or this Cernunnos-based API) when this entry was first deprecated. The default is null, signifying that this entry has not been deprecated. PHRASE java.lang.String No
DEPRECATION_DESCRIPTION deprecation/* XHTML description of why this entry was deprecated and/or what should be used instead. NODE_LIST java.util.List No

Examples:

Creates a new Grammar object, adds the <request-dispatcher> entry, then returns it to the caller of this Cernunnos XML:

 
       
        <grammar> 
          <entries> 
            <entry impl="org.danann.cernunnos.runtime.web.RequestDispatcherTask" name="request-dispatcher"> 
              <description> 
                <p>Include the specified resource using a PortletRequestDispatcher.</p> 
              </description> 
            </entry> 
          </entries>  
          <subtasks> 
            <return value="${grammar()}"/> 
          </subtasks> 
        </grammar>