Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="exml:ext.tree" xmlns:et="exml:ext.tree" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:exml="http://www.jangaroo.net/exml/0.8" xmlns:ed="exml:ext.dd" xmlns:eu="exml:ext.util" xmlns:exda="exml:ext.data" xmlns:e="exml:ext" >
  <xs:import namespace="http://www.jangaroo.net/exml/0.8"/>
  <xs:import namespace="exml:ext.dd"/>
  <xs:import namespace="exml:ext.util"/>
  <xs:import namespace="exml:ext.data"/>
  <xs:import namespace="exml:ext"/>
  <xs:complexType name='AsyncTreeNode_TYPE'>
    <xs:complexContent>
      <xs:extension base='et:TreeNode_TYPE'>
        <xs:sequence>
            <xs:element name='loader' minOccurs="0" maxOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  A TreeLoader to be used by this node (defaults to the loader defined on the tree)
                </xs:documentation>
              </xs:annotation>
              <xs:complexType>
                <xs:sequence>
                  <xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax"/>
                </xs:sequence>
                <xs:anyAttribute processContents="skip"/>
              </xs:complexType>
            </xs:element>
        </xs:sequence>
        <xs:attribute type='exml:String' name='loader'>
          <xs:annotation>
            <xs:documentation>
              A TreeLoader to be used by this node (defaults to the loader defined on the tree)
            </xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:anyAttribute namespace="http://www.jangaroo.net/exml/0.8 exml:untyped" processContents="skip"/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name='AsyncTreeNode' type='et:AsyncTreeNode_TYPE' substitutionGroup='et:TreeNode'>
    <xs:annotation>
      <xs:documentation>
        <p>This class serves as a typed config object for constructor of class AsyncTreeNode.</p> <p>Copyright &#169; 2011 Sencha Inc.</p> @see ext.tree.AsyncTreeNode
      </xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name='DefaultSelectionModel_TYPE'>
    <xs:complexContent>
      <xs:extension base='eu:Observable_TYPE'>
        <xs:sequence>
        </xs:sequence>
        <xs:anyAttribute namespace="http://www.jangaroo.net/exml/0.8 exml:untyped" processContents="skip"/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name='DefaultSelectionModel' type='et:DefaultSelectionModel_TYPE' substitutionGroup='eu:Observable'>
    <xs:annotation>
      <xs:documentation>
        The default single selection for a TreePanel. <p>This class serves as a typed config object for constructor of class DefaultSelectionModel.</p> <p>Copyright &#169; 2011 Sencha Inc.</p> @see ext.tree.DefaultSelectionModel
      </xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name='MultiSelectionModel_TYPE'>
    <xs:complexContent>
      <xs:extension base='eu:Observable_TYPE'>
        <xs:sequence>
        </xs:sequence>
        <xs:anyAttribute namespace="http://www.jangaroo.net/exml/0.8 exml:untyped" processContents="skip"/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name='MultiSelectionModel' type='et:MultiSelectionModel_TYPE' substitutionGroup='eu:Observable'>
    <xs:annotation>
      <xs:documentation>
        Multi selection for a TreePanel. <p>This class serves as a typed config object for constructor of class MultiSelectionModel.</p> <p>Copyright &#169; 2011 Sencha Inc.</p> @see ext.tree.MultiSelectionModel
      </xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name='TreeDragZone_TYPE'>
    <xs:complexContent>
      <xs:extension base='ed:DragZone_TYPE'>
        <xs:sequence>
        </xs:sequence>
        <xs:anyAttribute namespace="http://www.jangaroo.net/exml/0.8 exml:untyped" processContents="skip"/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name='TreeDragZone' type='et:TreeDragZone_TYPE' substitutionGroup='ed:DragZone'>
    <xs:annotation>
      <xs:documentation>
        <p>This class serves as a typed config object for constructor of class TreeDragZone.</p> <p>Copyright &#169; 2011 Sencha Inc.</p> @see ext.tree.TreeDragZone
      </xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name='TreeDropZone_TYPE'>
    <xs:complexContent>
      <xs:extension base='ed:DropZone_TYPE'>
        <xs:sequence>
        </xs:sequence>
        <xs:attribute type='exml:String' name='allowContainerDrop'>
          <xs:annotation>
            <xs:documentation>
              True if drops on the tree container (outside of a specific tree node) are allowed (defaults to false)
            </xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute type='exml:Boolean' name='allowParentInsert'>
          <xs:annotation>
            <xs:documentation>
              Allow inserting a dragged node between an expanded parent node and its first child that will become a sibling of the parent when dropped (defaults to false)
            </xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute type='exml:String' name='appendOnly'>
          <xs:annotation>
            <xs:documentation>
              True if the tree should only allow append drops (use for trees which are sorted, defaults to false)
            </xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute type='exml:String' name='expandDelay'>
          <xs:annotation>
            <xs:documentation>
              The delay in milliseconds to wait before expanding a target tree node while dragging a droppable node over the target (defaults to 1000)
            </xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:anyAttribute namespace="http://www.jangaroo.net/exml/0.8 exml:untyped" processContents="skip"/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name='TreeDropZone' type='et:TreeDropZone_TYPE' substitutionGroup='ed:DropZone'>
    <xs:annotation>
      <xs:documentation>
        <p>This class serves as a typed config object for constructor of class TreeDropZone.</p> <p>Copyright &#169; 2011 Sencha Inc.</p> @see ext.tree.TreeDropZone
      </xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name='TreeEditor_TYPE'>
    <xs:complexContent>
      <xs:extension base='e:Editor_TYPE'>
        <xs:sequence>
        </xs:sequence>
        <xs:attribute type='exml:Number' name='editDelay'>
          <xs:annotation>
            <xs:documentation>
              The number of milliseconds between clicks to register a double-click that will trigger editing on the current node (defaults to 350). If two clicks occur on the same node within this time span, the editor for the node will display, otherwise it will be processed as a regular click.
            </xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute type='exml:Number' name='maxWidth'>
          <xs:annotation>
            <xs:documentation>
              The maximum width in pixels of the editor field (defaults to 250). Note that if the maxWidth would exceed the containing tree element's size, it will be automatically limited for you to the container width, taking scroll and client offsets into account prior to each edit.
            </xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute type='exml:Boolean' name='shim'>
          <xs:annotation>
            <xs:documentation>
              True to shim the editor if selects/iframes could be displayed beneath it (defaults to false)
            </xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:anyAttribute namespace="http://www.jangaroo.net/exml/0.8 exml:untyped" processContents="skip"/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name='TreeEditor' type='et:TreeEditor_TYPE' substitutionGroup='e:Editor'>
    <xs:annotation>
      <xs:documentation>
        Provides editor functionality for inline tree node editing. Any valid <a href="Ext.form.Field.html">Ext.form.Field</a> subclass can be used as the editor field. <p>This class serves as a typed config object for constructor of class TreeEditor.</p> <p>Copyright &#169; 2011 Sencha Inc.</p> @see ext.tree.TreeEditor
      </xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name='TreeLoader_TYPE'>
    <xs:complexContent>
      <xs:extension base='eu:Observable_TYPE'>
        <xs:sequence>
            <xs:element name='baseAttrs' minOccurs="0" maxOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  An object containing attributes to be added to all nodes created by this loader. If the attributes sent by the server have an attribute in this object, they take priority.
                </xs:documentation>
              </xs:annotation>
              <xs:complexType>
                <xs:sequence>
                  <xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax"/>
                </xs:sequence>
                <xs:anyAttribute processContents="skip"/>
              </xs:complexType>
            </xs:element>
            <xs:element name='baseParams' minOccurs="0" maxOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  An object containing properties which specify HTTP parameters to be passed to each request for child nodes.
                </xs:documentation>
              </xs:annotation>
              <xs:complexType>
                <xs:sequence>
                  <xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax"/>
                </xs:sequence>
                <xs:anyAttribute processContents="skip"/>
              </xs:complexType>
            </xs:element>
            <xs:element name='directFn' minOccurs="0" maxOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  Function to call when executing a request.
                </xs:documentation>
              </xs:annotation>
              <xs:complexType>
                <xs:sequence>
                  <xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax"/>
                </xs:sequence>
                <xs:anyAttribute processContents="skip"/>
              </xs:complexType>
            </xs:element>
            <xs:element name='paramOrder' minOccurs="0" maxOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  Defaults to <tt>undefined</tt>. Only used when using directFn. Specifies the params in the order in which they must be passed to the server-side Direct method as either (1) an Array of String values, or (2) a String of params delimited by either whitespace, comma, or pipe. For example, any of the following would be acceptable:<pre><code>nodeParameter: 'node', paramOrder: ['param1','param2','param3'] paramOrder: 'node param1 param2 param3' paramOrder: 'param1,node,param2,param3' paramOrder: 'param1|param2|param|node' </code></pre>
                </xs:documentation>
              </xs:annotation>
              <xs:complexType>
                <xs:sequence>
                  <xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax"/>
                </xs:sequence>
                <xs:anyAttribute processContents="skip"/>
              </xs:complexType>
            </xs:element>
            <xs:element name='uiProviders' minOccurs="0" maxOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  An object containing properties which specify custom <a href="Ext.tree.TreeNodeUI.html">Ext.tree.TreeNodeUI</a> implementations. If the optional <i>uiProvider</i> attribute of a returned child node is a string rather than a reference to a TreeNodeUI implementation, then that string value is used as a property name in the uiProviders object.
                </xs:documentation>
              </xs:annotation>
              <xs:complexType>
                <xs:sequence>
                  <xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax"/>
                </xs:sequence>
                <xs:anyAttribute processContents="skip"/>
              </xs:complexType>
            </xs:element>
        </xs:sequence>
        <xs:attribute type='exml:String' name='baseAttrs'>
          <xs:annotation>
            <xs:documentation>
              An object containing attributes to be added to all nodes created by this loader. If the attributes sent by the server have an attribute in this object, they take priority.
            </xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute type='exml:String' name='baseParams'>
          <xs:annotation>
            <xs:documentation>
              An object containing properties which specify HTTP parameters to be passed to each request for child nodes.
            </xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute type='exml:Boolean' name='clearOnLoad'>
          <xs:annotation>
            <xs:documentation>
              Default to true. Remove previously existing child nodes before loading.
            </xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute type='exml:String' name='dataUrl'>
          <xs:annotation>
            <xs:documentation>
              The URL from which to request a Json string which specifies an array of node definition objects representing the child nodes to be loaded.
            </xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute type='exml:String' name='directFn'>
          <xs:annotation>
            <xs:documentation>
              Function to call when executing a request.
            </xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute type='exml:String' name='nodeParameter'>
          <xs:annotation>
            <xs:documentation>
              The name of the parameter sent to the server which contains the identifier of the node. Defaults to <tt>'node'</tt>.
            </xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute type='exml:String' name='paramOrder'>
          <xs:annotation>
            <xs:documentation>
              Defaults to <tt>undefined</tt>. Only used when using directFn. Specifies the params in the order in which they must be passed to the server-side Direct method as either (1) an Array of String values, or (2) a String of params delimited by either whitespace, comma, or pipe. For example, any of the following would be acceptable:<pre><code>nodeParameter: 'node', paramOrder: ['param1','param2','param3'] paramOrder: 'node param1 param2 param3' paramOrder: 'param1,node,param2,param3' paramOrder: 'param1|param2|param|node' </code></pre>
            </xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute type='exml:Boolean' name='paramsAsHash'>
          <xs:annotation>
            <xs:documentation>
              Only used when using directFn. Send parameters as a collection of named arguments (defaults to <tt>false</tt>). Providing a <tt><a href="output/Ext.tree.TreeLoader.html#Ext.tree.TreeLoader-paramOrder">paramOrder</a></tt> nullifies this configuration.
            </xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute type='exml:Boolean' name='preloadChildren'>
          <xs:annotation>
            <xs:documentation>
              If set to true, the loader recursively loads "children" attributes when doing the first load on nodes.
            </xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute type='exml:String' name='requestMethod'>
          <xs:annotation>
            <xs:documentation>
              The HTTP request method for loading data (defaults to the value of <a href="output/Ext.Ajax.html#Ext.Ajax-method">Ext.Ajax.method</a>).
            </xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute type='exml:String' name='uiProviders'>
          <xs:annotation>
            <xs:documentation>
              An object containing properties which specify custom <a href="Ext.tree.TreeNodeUI.html">Ext.tree.TreeNodeUI</a> implementations. If the optional <i>uiProvider</i> attribute of a returned child node is a string rather than a reference to a TreeNodeUI implementation, then that string value is used as a property name in the uiProviders object.
            </xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute type='exml:String' name='url'>
          <xs:annotation>
            <xs:documentation>
              Equivalent to <a href="output/Ext.tree.TreeLoader.html#Ext.tree.TreeLoader-dataUrl">dataUrl</a>.
            </xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:anyAttribute namespace="http://www.jangaroo.net/exml/0.8 exml:untyped" processContents="skip"/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name='TreeLoader' type='et:TreeLoader_TYPE' substitutionGroup='eu:Observable'>
    <xs:annotation>
      <xs:documentation>
        A TreeLoader provides for lazy loading of an <a href="Ext.tree.TreeNode.html">Ext.tree.TreeNode</a>'s child nodes from a specified URL. The response must be a JavaScript Array definition whose elements are node definition objects. e.g.: <pre><code> [{ id: 1, text: 'A leaf Node', leaf: true },{ id: 2, text: 'A folder Node', children: [{ id: 3, text: 'A child Node', leaf: true }] }] </code></pre><br/><br/>A server request is sent, and child nodes are loaded only when a node is expanded. The loading node's id is passed to the server under the parameter name "node" to enable the server to produce the correct child nodes. <br/><br/>To pass extra parameters, an event handler may be attached to the "beforeload" event, and the parameters specified in the TreeLoader's baseParams property: <pre><code> myTreeLoader.on("beforeload", function(treeLoader, node) { this.baseParams.category = node.attributes.category; }, this); </code></pre>This would pass an HTTP parameter called "category" to the server containing the value of the Node's "category" attribute. <p>This class serves as a typed config object for constructor of class TreeLoader.</p> <p>Copyright &#169; 2011 Sencha Inc.</p> @see ext.tree.TreeLoader
      </xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name='TreeNode_TYPE'>
    <xs:complexContent>
      <xs:extension base='exda:Node_TYPE'>
        <xs:sequence>
            <xs:element name='uiProvider' minOccurs="0" maxOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  A UI <b>class</b> to use for this node (defaults to Ext.tree.TreeNodeUI)
                </xs:documentation>
              </xs:annotation>
              <xs:complexType>
                <xs:sequence>
                  <xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax"/>
                </xs:sequence>
                <xs:anyAttribute processContents="skip"/>
              </xs:complexType>
            </xs:element>
        </xs:sequence>
        <xs:attribute type='exml:Boolean' name='allowChildren'>
          <xs:annotation>
            <xs:documentation>
              False to not allow this node to have child nodes (defaults to true)
            </xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute type='exml:Boolean' name='allowDrag'>
          <xs:annotation>
            <xs:documentation>
              False to make this node undraggable if <a href="output/Ext.tree.TreeNode.html#Ext.tree.TreeNode-draggable">draggable</a> = true (defaults to true)
            </xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute type='exml:Boolean' name='allowDrop'>
          <xs:annotation>
            <xs:documentation>
              False if this node cannot have child nodes dropped on it (defaults to true)
            </xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute type='exml:Boolean' name='checked'>
          <xs:annotation>
            <xs:documentation>
              True to render a checked checkbox for this node, false to render an unchecked checkbox (defaults to undefined with no checkbox rendered)
            </xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute type='exml:String' name='cls'>
          <xs:annotation>
            <xs:documentation>
              A css class to be added to the node
            </xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute type='exml:Boolean' name='disabled'>
          <xs:annotation>
            <xs:documentation>
              true to start the node disabled
            </xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute type='exml:Boolean' name='draggable'>
          <xs:annotation>
            <xs:documentation>
              True to make this node draggable (defaults to false)
            </xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute type='exml:Boolean' name='editable'>
          <xs:annotation>
            <xs:documentation>
              False to not allow this node to be edited by an <a href="Ext.tree.TreeEditor.html">Ext.tree.TreeEditor</a> (defaults to true)
            </xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute type='exml:Boolean' name='expandable'>
          <xs:annotation>
            <xs:documentation>
              If set to true, the node will always show a plus/minus icon, even when empty
            </xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute type='exml:Boolean' name='expanded'>
          <xs:annotation>
            <xs:documentation>
              true to start the node expanded
            </xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute type='exml:Boolean' name='hidden'>
          <xs:annotation>
            <xs:documentation>
              True to render hidden. (Defaults to false).
            </xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute type='exml:String' name='href'>
          <xs:annotation>
            <xs:documentation>
              URL of the link used for the node (defaults to #)
            </xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute type='exml:String' name='hrefTarget'>
          <xs:annotation>
            <xs:documentation>
              target frame for the link
            </xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute type='exml:String' name='icon'>
          <xs:annotation>
            <xs:documentation>
              The path to an icon for the node. The preferred way to do this is to use the cls or iconCls attributes and add the icon via a CSS background image.
            </xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute type='exml:String' name='iconCls'>
          <xs:annotation>
            <xs:documentation>
              A css class to be added to the nodes icon element for applying css background images
            </xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute type='exml:Boolean' name='isTarget'>
          <xs:annotation>
            <xs:documentation>
              False to not allow this node to act as a drop target (defaults to true)
            </xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute type='exml:String' name='qtip'>
          <xs:annotation>
            <xs:documentation>
              An Ext QuickTip for the node
            </xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute type='exml:String' name='qtipCfg'>
          <xs:annotation>
            <xs:documentation>
              An Ext QuickTip config for the node (used instead of qtip)
            </xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute type='exml:Boolean' name='singleClickExpand'>
          <xs:annotation>
            <xs:documentation>
              True for single click expand on this node
            </xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute type='exml:String' name='text'>
          <xs:annotation>
            <xs:documentation>
              The text for this node
            </xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute type='exml:String' name='uiProvider'>
          <xs:annotation>
            <xs:documentation>
              A UI <b>class</b> to use for this node (defaults to Ext.tree.TreeNodeUI)
            </xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:anyAttribute namespace="http://www.jangaroo.net/exml/0.8 exml:untyped" processContents="skip"/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name='TreeNode' type='et:TreeNode_TYPE' substitutionGroup='exda:Node'>
    <xs:annotation>
      <xs:documentation>
        <p>This class serves as a typed config object for constructor of class TreeNode.</p> <p>Copyright &#169; 2011 Sencha Inc.</p> @see ext.tree.TreeNode
      </xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name='TreePanel_TYPE'>
    <xs:complexContent>
      <xs:extension base='e:Panel_TYPE'>
        <xs:sequence>
            <xs:element name='dragConfig' minOccurs="0" maxOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  Custom config to pass to the <a href="Ext.tree.TreeDragZone.html">Ext.tree.TreeDragZone</a> instance
                </xs:documentation>
              </xs:annotation>
              <xs:complexType>
                <xs:sequence>
                  <xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax"/>
                </xs:sequence>
                <xs:anyAttribute processContents="skip"/>
              </xs:complexType>
            </xs:element>
            <xs:element name='dropConfig' minOccurs="0" maxOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  Custom config to pass to the <a href="Ext.tree.TreeDropZone.html">Ext.tree.TreeDropZone</a> instance
                </xs:documentation>
              </xs:annotation>
              <xs:complexType>
                <xs:sequence>
                  <xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax"/>
                </xs:sequence>
                <xs:anyAttribute processContents="skip"/>
              </xs:complexType>
            </xs:element>
            <xs:element name='loader' minOccurs="0" maxOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  A <a href="Ext.tree.TreeLoader.html">Ext.tree.TreeLoader</a> for use with this TreePanel
                </xs:documentation>
              </xs:annotation>
              <xs:complexType>
                <xs:sequence>
                  <xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax"/>
                </xs:sequence>
                <xs:anyAttribute processContents="skip"/>
              </xs:complexType>
            </xs:element>
            <xs:element name='root' minOccurs="0" maxOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  The root node for the tree.
                </xs:documentation>
              </xs:annotation>
              <xs:complexType>
                <xs:sequence>
                  <xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax"/>
                </xs:sequence>
                <xs:anyAttribute processContents="skip"/>
              </xs:complexType>
            </xs:element>
            <xs:element name='selModel' minOccurs="0" maxOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  A tree selection model to use with this TreePanel (defaults to an <a href="Ext.tree.DefaultSelectionModel.html">Ext.tree.DefaultSelectionModel</a>)
                </xs:documentation>
              </xs:annotation>
              <xs:complexType>
                <xs:sequence>
                  <xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax"/>
                </xs:sequence>
                <xs:anyAttribute processContents="skip"/>
              </xs:complexType>
            </xs:element>
        </xs:sequence>
        <xs:attribute type='exml:Boolean' name='animate'>
          <xs:annotation>
            <xs:documentation>
              <tt>true</tt> to enable animated expand/collapse (defaults to the value of <a href="output/Ext.html#Ext-enableFx">Ext.enableFx</a>)
            </xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute type='exml:Boolean' name='containerScroll'>
          <xs:annotation>
            <xs:documentation>
              <tt>true</tt> to register this container with ScrollManager
            </xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute type='exml:Boolean' name='ddAppendOnly'>
          <xs:annotation>
            <xs:documentation>
              <tt>true</tt> if the tree should only allow append drops (use for trees which are sorted)
            </xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute type='exml:String' name='ddGroup'>
          <xs:annotation>
            <xs:documentation>
              The DD group this TreePanel belongs to
            </xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute type='exml:Boolean' name='ddScroll'>
          <xs:annotation>
            <xs:documentation>
              <tt>true</tt> to enable body scrolling
            </xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute type='exml:String' name='dragConfig'>
          <xs:annotation>
            <xs:documentation>
              Custom config to pass to the <a href="Ext.tree.TreeDragZone.html">Ext.tree.TreeDragZone</a> instance
            </xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute type='exml:String' name='dropConfig'>
          <xs:annotation>
            <xs:documentation>
              Custom config to pass to the <a href="Ext.tree.TreeDropZone.html">Ext.tree.TreeDropZone</a> instance
            </xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute type='exml:Boolean' name='enableDD'>
          <xs:annotation>
            <xs:documentation>
              <tt>true</tt> to enable drag and drop
            </xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute type='exml:Boolean' name='enableDrag'>
          <xs:annotation>
            <xs:documentation>
              <tt>true</tt> to enable just drag
            </xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute type='exml:Boolean' name='enableDrop'>
          <xs:annotation>
            <xs:documentation>
              <tt>true</tt> to enable just drop
            </xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute type='exml:String' name='hlColor'>
          <xs:annotation>
            <xs:documentation>
              The color of the node highlight (defaults to <tt>'C3DAF9'</tt>)
            </xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute type='exml:Boolean' name='hlDrop'>
          <xs:annotation>
            <xs:documentation>
              <tt>false</tt> to disable node highlight on drop (defaults to the value of <a href="output/Ext.html#Ext-enableFx">Ext.enableFx</a>)
            </xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute type='exml:Boolean' name='lines'>
          <xs:annotation>
            <xs:documentation>
              <tt>false</tt> to disable tree lines (defaults to <tt>true</tt>)
            </xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute type='exml:String' name='loader'>
          <xs:annotation>
            <xs:documentation>
              A <a href="Ext.tree.TreeLoader.html">Ext.tree.TreeLoader</a> for use with this TreePanel
            </xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute type='exml:String' name='pathSeparator'>
          <xs:annotation>
            <xs:documentation>
              The token used to separate sub-paths in path strings (defaults to <tt>'/'</tt>)
            </xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute type='exml:String' name='requestMethod'>
          <xs:annotation>
            <xs:documentation>
              The HTTP request method for loading data (defaults to the value of <a href="output/Ext.Ajax.html#Ext.Ajax-method">Ext.Ajax.method</a>).
            </xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute type='exml:String' name='root'>
          <xs:annotation>
            <xs:documentation>
              The root node for the tree.
            </xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute type='exml:Boolean' name='rootVisible'>
          <xs:annotation>
            <xs:documentation>
              <tt>false</tt> to hide the root node (defaults to <tt>true</tt>)
            </xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute type='exml:String' name='selModel'>
          <xs:annotation>
            <xs:documentation>
              A tree selection model to use with this TreePanel (defaults to an <a href="Ext.tree.DefaultSelectionModel.html">Ext.tree.DefaultSelectionModel</a>)
            </xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute type='exml:Boolean' name='singleExpand'>
          <xs:annotation>
            <xs:documentation>
              <tt>true</tt> if only 1 node per branch may be expanded
            </xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute type='exml:Boolean' name='trackMouseOver'>
          <xs:annotation>
            <xs:documentation>
              <tt>false</tt> to disable mouse over highlighting
            </xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute type='exml:Boolean' name='useArrows'>
          <xs:annotation>
            <xs:documentation>
              <tt>true</tt> to use Vista-style arrows in the tree (defaults to <tt>false</tt>)
            </xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:anyAttribute namespace="http://www.jangaroo.net/exml/0.8 exml:untyped" processContents="skip"/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name='TreePanel' type='et:TreePanel_TYPE' substitutionGroup='e:Panel'>
    <xs:annotation>
      <xs:documentation>
        The TreePanel provides tree-structured UI representation of tree-structured data. <p><a href="Ext.tree.TreeNode.html">TreeNode</a>s added to the TreePanel may each contain metadata used by your application in their <a href="output/Ext.tree.TreeNode.html#Ext.tree.TreeNode-attributes">attributes</a> property.</p><p><b>A TreePanel must have a <a href="output/Ext.tree.TreePanel.html#Ext.tree.TreePanel-root">root</a> node before it is rendered.</b> This may either be specified using the <a href="output/Ext.tree.TreePanel.html#Ext.tree.TreePanel-root">root</a> config option, or using the <a href="output/Ext.tree.TreePanel.html#Ext.tree.TreePanel-setRootNode">setRootNode</a> method.</p><p>An example of tree rendered to an existing div:</p><pre><code>var tree = new Ext.tree.TreePanel({ renderTo: 'tree-div', useArrows: true, autoScroll: true, animate: true, enableDD: true, containerScroll: true, border: false, // auto create TreeLoader dataUrl: 'get-nodes.php', root: { nodeType: 'async', text: 'Ext JS', draggable: false, id: 'source' } }); tree.getRootNode().expand(); </code></pre><p>The example above would work with a data packet similar to this:</p><pre><code>[{ "text": "adapter", "id": "source\/adapter", "cls": "folder" }, { "text": "dd", "id": "source\/dd", "cls": "folder" }, { "text": "debug.js", "id": "source\/debug.js", "leaf": true, "cls": "file" }] </code></pre><p>An example of tree within a Viewport:</p><pre><code>new Ext.Viewport({ layout: 'border', items: [{ region: 'west', collapsible: true, title: 'Navigation', xtype: 'treepanel', width: 200, autoScroll: true, split: true, loader: new Ext.tree.TreeLoader(), root: new Ext.tree.AsyncTreeNode({ expanded: true, children: [{ text: 'Menu Option 1', leaf: true }, { text: 'Menu Option 2', leaf: true }, { text: 'Menu Option 3', leaf: true }] }), rootVisible: false, listeners: { click: function(n) { Ext.Msg.alert('Navigation Tree Click', 'You clicked: "' + n.attributes.text + '"'); } } }, { region: 'center', xtype: 'tabpanel', // remaining code not shown ... }] }); </code></pre> <p>This class represents the xtype 'treepanel' and serves as a typed config object for constructor of class TreePanel.</p> <p>Copyright &#169; 2011 Sencha Inc.</p> @see ext.tree.TreePanel
      </xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name='TreeSorter_TYPE'>
        <xs:sequence>
            <xs:element name='sortType' minOccurs="0" maxOccurs="1">
              <xs:annotation>
                <xs:documentation>
                  A custom "casting" function used to convert node values before sorting. The function will be called with a single parameter (the <a href="Ext.tree.TreeNode.html">Ext.tree.TreeNode</a> being evaluated) and is expected to return the node's sort value cast to the specific data type required for sorting. This could be used, for example, when a node's text (or other attribute) should be sorted as a date or numeric value. See the class description for example usage. Note that if a sortType is specified, any <a href="output/Ext.tree.TreeSorter.html#Ext.tree.TreeSorter-property">property</a> config will be ignored.
                </xs:documentation>
              </xs:annotation>
              <xs:complexType>
                <xs:sequence>
                  <xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax"/>
                </xs:sequence>
                <xs:anyAttribute processContents="skip"/>
              </xs:complexType>
            </xs:element>
        </xs:sequence>
        <xs:attribute type='exml:Boolean' name='caseSensitive'>
          <xs:annotation>
            <xs:documentation>
              true for case-sensitive sort (defaults to false)
            </xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute type='exml:String' name='dir'>
          <xs:annotation>
            <xs:documentation>
              The direction to sort ("asc" or "desc," case-insensitive, defaults to "asc")
            </xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute type='exml:Boolean' name='folderSort'>
          <xs:annotation>
            <xs:documentation>
              True to sort leaf nodes under non-leaf nodes (defaults to false)
            </xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute type='exml:String' name='leafAttr'>
          <xs:annotation>
            <xs:documentation>
              The attribute used to determine leaf nodes when <a href="output/Ext.tree.TreeSorter.html#Ext.tree.TreeSorter-folderSort">folderSort</a> = true (defaults to "leaf")
            </xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute type='exml:String' name='property'>
          <xs:annotation>
            <xs:documentation>
              The named attribute on the node to sort by (defaults to "text"). Note that this property is only used if no <a href="output/Ext.tree.TreeSorter.html#Ext.tree.TreeSorter-sortType">sortType</a> function is specified, otherwise it is ignored.
            </xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute type='exml:String' name='sortType'>
          <xs:annotation>
            <xs:documentation>
              A custom "casting" function used to convert node values before sorting. The function will be called with a single parameter (the <a href="Ext.tree.TreeNode.html">Ext.tree.TreeNode</a> being evaluated) and is expected to return the node's sort value cast to the specific data type required for sorting. This could be used, for example, when a node's text (or other attribute) should be sorted as a date or numeric value. See the class description for example usage. Note that if a sortType is specified, any <a href="output/Ext.tree.TreeSorter.html#Ext.tree.TreeSorter-property">property</a> config will be ignored.
            </xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:anyAttribute namespace="http://www.jangaroo.net/exml/0.8 exml:untyped" processContents="skip"/>
  </xs:complexType>
  <xs:element name='TreeSorter' type='et:TreeSorter_TYPE'>
    <xs:annotation>
      <xs:documentation>
        Provides sorting of nodes in a <a href="Ext.tree.TreePanel.html">Ext.tree.TreePanel</a>. The TreeSorter automatically monitors events on the associated TreePanel that might affect the tree's sort order (beforechildrenrendered, append, insert and textchange). Example usage:<br/><pre><code>new Ext.tree.TreeSorter(myTree, { folderSort: true, dir: "desc", sortType: function(node) { // sort by a custom, typed attribute: return parseInt(node.id, 10); } }); </code></pre> <p>This class serves as a typed config object for constructor of class TreeSorter.</p> <p>Copyright &#169; 2011 Sencha Inc.</p> @see ext.tree.TreeSorter
      </xs:documentation>
    </xs:annotation>
  </xs:element>
</xs:schema>
New to GrepCode? Check out our FAQ X