<?xml version="1.0" encoding="UTF-8" ?>

<!-- $Id$
  
 Licensed to the Apache Software Foundation (ASF) under one or more
 contributor license agreements.  See the NOTICE file distributed with
 this work for additional information regarding copyright ownership.
 The ASF licenses this file to You under the Apache License, Version 2.0
 (the "License"); you may not use this file except in compliance with
 the License.  You may obtain a copy of the License at
  
       http://www.apache.org/licenses/LICENSE-2.0
  
 Unless required by applicable law or agreed to in writing, software
 distributed under the License is distributed on an "AS IS" BASIS,
 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 See the License for the specific language governing permissions and
 limitations under the License.
--> 

<!--
        "Digester" component of the Commons Subproject
        DTD for the definition of Digester rules in XML.
        $Id$

        Applications wishing to reference this DTD in their own documents
        should use the following DOCTYPE declaration:

        <!DOCTYPE digester-rules PUBLIC
         "-//Apache Commons //DTD digester-rules XML V1.0//EN"
         "http://commons.apache.org/digester/dtds/digester-rules-3.0.dtd">

-->

<!-- 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://commons.apache.org/digester/.  -->

<!ENTITY % rule-elements "bean-property-setter-rule | call-method-rule |
                   call-param-rule | object-param-rule | node-create-rule |
                   factory-create-rule | object-create-rule |
                   set-properties-rule | set-nested-properties-rule |
                   set-property-rule | set-top-rule |
                   set-next-rule | set-root-rule" >

<!-- digester-rules is the root element. -->
<!ELEMENT digester-rules (pattern | include | %rule-elements; )*>
<!ATTLIST digester-rules
    namespaceURI   CDATA #IMPLIED>

<!-- <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 | %rule-elements; )*>
<!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
    url   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
    propertynameFromAttribute CDATA #IMPLIED>

<!-- CallMethodRule
  -
  - Note that paramtypes is ignored unless paramcount is defined.
  -->
<!ELEMENT call-method-rule EMPTY>
<!ATTLIST call-method-rule
    pattern                    CDATA #IMPLIED
    targetoffset               CDATA #IMPLIED
    methodname                 CDATA #REQUIRED
    paramcount                 CDATA #IMPLIED
    paramtypes                 CDATA #IMPLIED
    usingElementBodyAsArgument CDATA #IMPLIED
    useExactMatch              CDATA #IMPLIED>

<!--
    CallParamRule
    attrname
        - set param from attribute value (cannot be combined with from-stack or
          stack-index)
    from-stack
        - select an object from the current digester stack to pass as the
          parameter value.
    stack-index
        - select an object from the current digester stack to pass as a
          parameter value. If this is defined then from-stack is implicitly
          true. If from-stack is defined but this is not defined then this
          has an implicit value of zero, ie the top object on the stack is
          passed as the parameter.
    -->
<!ELEMENT call-param-rule EMPTY>
<!ATTLIST call-param-rule
    pattern  CDATA #IMPLIED
    paramnumber CDATA #REQUIRED
    attrname CDATA #IMPLIED
    from-stack CDATA #IMPLIED
    stack-index CDATA #IMPLIED>

<!--
    ObjectParamRule
    attrname
        - Optional. This attribute is not normally specified. If it is provided,
          then this rule is executed *only* if the matched element has an attribute
          with this name.
    type
        - The type of the object to be passed to the target method.
          Mandatory.
    value
        - Initial value for the object. The BeanUtils converter module will
          be used to convert this to the type specified by the type attribute.
          Optional; if no value is provided then the converter will be invoked
          to convert NULL to the target type. For most (but not all) converters,
          NULL input results in NULL output.
    -->
<!ELEMENT object-param-rule EMPTY>
<!ATTLIST object-param-rule
    pattern  CDATA #IMPLIED
    paramnumber CDATA #REQUIRED
    attrname CDATA #IMPLIED
    type CDATA #REQUIRED
    value CDATA #IMPLIED>

<!--
    NodeCreateRule
    type
        - node type: either 'element' or 'fragment'. this is optional, default is 'element'
    -->
<!ELEMENT node-create-rule EMPTY>
<!ATTLIST node-create-rule
    pattern CDATA #IMPLIED
    type 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
    paramtypes CDATA #IMPLIED
    params CDATA #IMPLIED>

<!-- SetPropertiesRule -->
<!ELEMENT set-properties-rule (alias)*>
<!ATTLIST set-properties-rule
    pattern   CDATA #IMPLIED>

<!-- SetNestedPropertiesRule -->
<!ELEMENT set-nested-properties-rule (alias)*>
<!ATTLIST set-nested-properties-rule
    pattern                       CDATA #IMPLIED
    allow-unknown-child-elements  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
    exactMatch  CDATA #IMPLIED
    fireOnBegin CDATA #IMPLIED>

<!-- SetNextRule -->
<!ELEMENT set-next-rule EMPTY>
<!ATTLIST set-next-rule
    pattern     CDATA #IMPLIED
    methodname  CDATA #REQUIRED
    paramtype   CDATA #IMPLIED
    exactMatch  CDATA #IMPLIED
    fireOnBegin CDATA #IMPLIED>

<!-- SetRootRule -->
<!ELEMENT set-root-rule EMPTY>
<!ATTLIST set-root-rule
    pattern     CDATA #IMPLIED
    methodname  CDATA #REQUIRED
    paramtype   CDATA #IMPLIED
    exactMatch  CDATA #IMPLIED
    fireOnBegin CDATA #IMPLIED>
