<?xml version="1.0"?>
<javascript>
    <classes>
    <TMPL_LOOP NAME="classes">
        <class 
            name="<TMPL_VAR NAME="classname">" 
                <TMPL_IF NAME="extends">extends="<TMPL_VAR NAME='extends'>"</TMPL_IF> >
            <constructor_args><!-- TMPL_VAR NAME="constructor_args" --></constructor_args>
            <constructor_vars>
            <TMPL_LOOP NAME="constructor_vars">
                <var name="<TMPL_VAR NAME='@name'>">
                <TMPL_LOOP NAME="values">
                    <value><![CDATA[<TMPL_VAR NAME="val">]]></value>
                </TMPL_LOOP>
                </var>
            </TMPL_LOOP>
            </constructor_vars>

            <constructor_detail><![CDATA[<TMPL_VAR NAME="constructor_detail">]]></constructor_detail>

            <instance-methods>
                <TMPL_LOOP NAME="instance_methods">
                    <method mapped_name="<TMPL_VAR NAME='mapped_name'>">
                        <description><![CDATA[<TMPL_VAR NAME="description">]]></description>
                        <argument_list><!-- 
                            TMPL_VAR NAME="argument_list" 
                            --></argument_list>
                        <vars>
                            <TMPL_LOOP NAME="vars">
                            <var name="<TMPL_VAR NAME='@name'>">
                            <TMPL_LOOP NAME="values">
                                <value><![CDATA[<TMPL_VAR NAME="val">]]></value>
                            </TMPL_LOOP>
                            </var>
                            </TMPL_LOOP>
                        </vars>
                </method>
               </TMPL_LOOP>
            </instance-methods>

            <instance-fields>
                <TMPL_LOOP NAME="instance_fields">
                    <field name="<TMPL_VAR NAME='field_name'>">
                    <field-value><![CDATA[<TMPL_VAR NAME="field_value">]]></field-value>
                        <field-description><![CDATA[<TMPL_VAR NAME="field_description">]]></field-description>
                            <vars>
                                <TMPL_LOOP NAME="field_vars">
                                    <var name="<TMPL_VAR NAME='@name'>">
                            <TMPL_LOOP NAME="values">
                                <value><![CDATA[<TMPL_VAR NAME="val">]]></value>
                            </TMPL_LOOP>
                                    </var>
                                </TMPL_LOOP>
                        </vars>
                    </field>
                </TMPL_LOOP>
            </instance-fields>

            <class-methods>
                <TMPL_LOOP NAME="class_methods">
                    <method mapped_name="<TMPL_VAR NAME='mapped_name'>">
                        <description><![CDATA[<TMPL_VAR NAME="description">]]></description>
                        <argument_list><!-- 
                            TMPL_VAR NAME="argument_list" 
                            --></argument_list>
                        <vars>
                            <TMPL_LOOP NAME="vars">
                            <var name="<TMPL_VAR NAME='@name'>">
                            <TMPL_LOOP NAME="values">
                                <value><![CDATA[<TMPL_VAR NAME="val">]]></value>
                            </TMPL_LOOP>
                            </var>
                            </TMPL_LOOP>
                        </vars>
                </method>

                </TMPL_LOOP>


            </class-methods>

            <class-fields>
                <TMPL_LOOP NAME="class_fields">

                    <field name="<TMPL_VAR NAME='field_name'>">
                    <field-value><![CDATA[<TMPL_VAR NAME="field_value">]]></field-value>
                        <field-description><![CDATA[<TMPL_VAR NAME="field_description">]]></field-description>
                            <vars>
                                <TMPL_LOOP NAME="field_vars">
                                    <var name="<TMPL_VAR NAME='@name'>">
                            <TMPL_LOOP NAME="values">
                                <value><![CDATA[<TMPL_VAR NAME="val">]]></value>
                            </TMPL_LOOP>
                                    </var>
                                </TMPL_LOOP>
                        </vars>
                    </field>
                </TMPL_LOOP>

            </class-fields>

            <inner-classes>
            <TMPL_LOOP NAME="inner_classes">
                <class name="<TMPL_VAR NAME='class_name'>"/>
            </TMPL_LOOP>
        </inner-classes>

            <TMPL_LOOP NAME="inherits">
                <inherits from="<TMPL_VAR NAME='class'>">
                <TMPL_IF NAME="methods">
                <methods>
                    <TMPL_LOOP NAME="methods">
                        <method><!-- TMPL_VAR NAME="name" --></method>
                    </TMPL_LOOP>
                </methods>
                </TMPL_IF>

                <TMPL_IF NAME="fields">
                <fields>
                </fields>
            </TMPL_IF>
        </inherits>

            </TMPL_LOOP>
        </class>
    </TMPL_LOOP>
    </classes>
</javascript>
