You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by to...@apache.org on 2003/11/09 02:24:04 UTC

cvs commit: jakarta-commons/digester/xdocs/dtds digester-rules.dtd

tobrien     2003/11/08 17:24:04

  Added:       digester/xdocs/dtds digester-rules.dtd
  Log:
  Digester dtd added to Digester site
  
  Revision  Changes    Path
  1.1                  jakarta-commons/digester/xdocs/dtds/digester-rules.dtd
  
  Index: digester-rules.dtd
  ===================================================================
  <?xml version="1.0" encoding="UTF-8" ?>
  
  <!--
          "Digester" component of the Jakarta Commons Subproject
          DTD for the definition of Digester rules in XML.
          $Id: digester-rules.dtd,v 1.1 2003/11/09 01:24:04 tobrien Exp $
  -->
  
  <!-- This document type defines an XML format for defining Digester rules.
       Digester is a framework for pattern-matching-based parsing of XML into
       Java objects. See http://jakarta.apache.org/commons/digester.html.  -->
  
  <!ENTITY % rule-elements "bean-property-setter-rule | call-method-rule |
                     call-param-rule | object-param-rule |
                     factory-create-rule | object-create-rule |
                     set-properties-rule | set-property-rule | set-top-rule |
                     set-next-rule" >
  
  <!-- digester-rules is the root element. -->
  <!ELEMENT digester-rules (pattern | include | bean-property-setter-rule | call-method-rule | call-param-rule |  object-param-rule | factory-create-rule | object-create-rule | set-properties-rule | set-property-rule | set-top-rule | set-next-rule )*>
  
  
  <!-- <pattern> defines a matching pattern, or part of a matching pattern. Any
       rule nested in a pattern element prepends its parent's to its pattern.
       Patterns may be recursively nested.
       Example:
         <pattern value="foo">
            <pattern value="bar">
              <object-create-rule pattern="baz" classname="Fubar" />
            </pattern>
         </pattern>
  
       The above sample fragment defines an ObjectCreateRule associated
       with the pattern "foo/bar/baz".
  
    Note that the use of pattern elements is optional; an alternative is for
    each rule element to contain a 'pattern' attribute.   -->
  <!ELEMENT pattern (pattern | include | bean-property-setter-rule | call-method-rule | call-param-rule |
                     factory-create-rule | object-create-rule |
                     set-properties-rule | set-property-rule | set-top-rule |
                     set-next-rule )*>
  <!ATTLIST pattern
      value CDATA #REQUIRED>
  
  
  <!--
    <include> allows one set of digester rules to be included inside
    another. The 'path' attribute contains the URI of the document to
    include. Inclusion behaves as if the included rules document is
    'macro-expanded' within the outer document.
    Programmatically initialized rules can be included as well, via the
    'class' attribute. The 'class' attribute should contain the name
    of a class that implements
    org.apache.commons.digester.xmlrules.DigesterRulesSource.
  -->
  <!ELEMENT include EMPTY>
  <!ATTLIST include
      path  CDATA #IMPLIED
      class CDATA #IMPLIED>
  
  
  <!-- Each 'rule' element below corresponds to a concrete subclass
       of org.apache.framework.digester.Rule.
       Each 'rule' element has an optional 'pattern' attribute, which
       defines the pattern for that rule instance. If the rule element
       is nested inside one or more <pattern> elements, those patterns
       will be prepended to the pattern specified in the rule's 'pattern'
       attribute. -->
  
  <!-- Bean Property Setter Rule -->
  <!ELEMENT bean-property-setter-rule EMPTY>
  <!ATTLIST bean-property-setter-rule
      pattern      CDATA #IMPLIED
      propertyname CDATA #IMPLIED>
  
  <!-- CallMethodRule -->
  <!ELEMENT call-method-rule EMPTY>
  <!ATTLIST call-method-rule
      pattern    CDATA #IMPLIED
      methodname CDATA #REQUIRED
      paramcount CDATA #IMPLIED
      paramtypes CDATA #IMPLIED>
  
  <!-- 
      CallParamRule 
      attrname - set param from attribute value (cannot be combined with from-stack)
      from-stack - set param from stack (cannot be combined with attrname)
      -->
  <!ELEMENT call-param-rule EMPTY>
  <!ATTLIST call-param-rule
      pattern  CDATA #IMPLIED
      paramnumber CDATA #REQUIRED
      attrname CDATA #IMPLIED
      from-stack CDATA #IMPLIED>
      
  <!--
      ObjectParamRule
      attrname  
             - an arbitrary Object defined programatically, assigned if the 
               element pattern AND specified attribute name are matched
      param 
             - an arbitrary Object defined programatically, assigned when the 
               element pattern associated with the Rule is matched
      type 
             - class name for object
      value 
             - initial value for the object
      -->
  <!ELEMENT object-param-rule EMPTY>
  <!ATTLIST object-param-rule
      pattern  CDATA #IMPLIED
      paramnumber CDATA #REQUIRED
      param CDATA #REQUIRED
      attrname CDATA #IMPLIED
      type CDATA #REQUIRED
      value CDATA #IMPLIED>
  
  <!-- 
      FactoryCreateRule 
      
      ignore-exceptions - if this attribute is (ignore case) 'true' then any exceptions
                          thrown by the object create rule will be ignore.
                          This will allow processing to continue.
      -->
  <!ELEMENT factory-create-rule EMPTY>
  <!ATTLIST factory-create-rule
      pattern   CDATA #IMPLIED
      classname CDATA #REQUIRED
      attrname  CDATA #IMPLIED
      ignore-exceptions  CDATA #IMPLIED> 
  
  <!-- ObjectCreateRule -->
  <!ELEMENT object-create-rule EMPTY>
  <!ATTLIST object-create-rule
      pattern   CDATA #IMPLIED
      classname CDATA #REQUIRED
      attrname  CDATA #IMPLIED>
  
  <!-- SetPropertiesRule -->
  <!ELEMENT set-properties-rule (alias)*>
  <!ATTLIST set-properties-rule
      pattern   CDATA #IMPLIED>
  
  <!-- An alias is a custom attribute->property name mapping -->
  <!ELEMENT alias EMPTY>
  <!ATTLIST alias
   attr-name CDATA #REQUIRED
   prop-name CDATA #IMPLIED>
  
  <!-- SetPropertyRule -->
  <!ELEMENT set-property-rule EMPTY>
  <!ATTLIST set-property-rule
      pattern   CDATA #IMPLIED
      name      CDATA #IMPLIED
      value     CDATA #IMPLIED>
  
  <!-- SetTopRule -->
  <!ELEMENT set-top-rule EMPTY>
  <!ATTLIST set-top-rule
      pattern    CDATA #IMPLIED
      methodname CDATA #REQUIRED
      paramtype  CDATA #IMPLIED>
  
  <!-- SetNextRule -->
  <!ELEMENT set-next-rule EMPTY>
  <!ATTLIST set-next-rule
      pattern    CDATA #IMPLIED
      methodname CDATA #REQUIRED
      paramtype  CDATA #IMPLIED>
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org