Nexaweb has free a newborn creation that physique on Dojo, dojo.E:

dojo.E provides developers with the knowledge to ingest an XML supported markup module to add in their Ajax behaviors. Markup whether — XML, HTML or CSS — simplifies utilization by earmark developers to intercommunicate in ultimate book info what they would otherwise requirement to intercommunicate in code. Markup also provides a enthusiastic conception place that separates the feat from the usage.

This release, which is an Athapascan call unstoppered maker send itself, consists of digit pieces:

dojo.E Markup

dojo.E Markup allows developers to exposit their dojo components using a ultimate markup module that translates direct into dojo classes. For warning declaring a fix in dojo would be finished digit of digit ways;

HTML:

  1.  
  2. <div dojoType=”dijit.form.Button” label=”Hello, world”/>
  3.  

Using JavaScript new dijit.form.Button(htmlElement, “Hello, World”);

dojo.E Markup provides a ordinal artefact that allows developers to exposit the fix as follows:

HTML:

  1.  
  2. <script type=“text/xml” dojoType=“dojoe.XmlScript”>
  3.    <ui xmlns:dijit=“dijit”>
  4.         <dijit :form.Button label=“Hello, World!”
  5.            onclick=“alert(’It works!’)”/>
  6.     </ui>
  7. </script>
  8.  

dojo.E Runtime

The runtime provides added markup that makes modifying the HTML DOM or the dojo Components easier.

XML:

  1.  
  2. <xm :x modify document=”ui”>
  3.         </xm><xm :append select=”//widget.SortList”>
  4.                 <li>{0}</li>
  5.         </xm>
  6.  
  7.  

The xModify structure above tells the dojo.E runtime to attach a “

  • {0}
  • ” attach to the dojo SortList component. The superior evidence in this housing is a XPath evidence and not a CSS selector. In the actualised distribution this piece above is twine with a “Macro” which allows the developer to parameterize the “{0}” and fulfil the xModify piece when the developer clicks the “Add” button.

    You crapper endeavor with this in a live editor that shows samples much as a todo list:

    XML:

    1.  
    2. <declarations>
    3.         <dojoe :Macro id=“add” xmlns:dojoe=“dojoe”>
    4.         <![CDATA[
    5.         <xm:xmodify xmlns="html" xmlns:xm="dojoe" xmlns:dijit="dijit" document="ui">
    6.                 <xm :append select="//widget.SortList ">
    7.                         <li>{0}</li>
    8.                 </xm>
    9.        
    10.         ]]>
    11.         </dojoe>
    12. </declarations>
    13. <ui xmlns:dijit=“dijit” xmlns:dojox=“dojox” xmlns=“html”>
    14.         <div id=“input_container”>
    15.                 <span>ToDo:</span>
    16.                 <input style=“width: 184px; margin-left:3px;” id=“textbox” type=“text” class=“input_tbx” value=“Item”/>
    17.                 <input class=“button” type=“button” value=“Add” onclick=“dojoe.containers.macro.get(’add’).execute(document.getElementById(’textbox’).value);” />
    18.         </div>
    19.         <div id=“list_container”>
    20.                 <dojox :widget.SortList  title=“SortList From Markup” style=“width:300px; height:150px;”>
    21.                         <li>A. Download and Install the dojo.E</li>
    22.                         <li>B. Build dojo.E Application</li>
    23.                         <li>C. Profit</li>
    24.                 </dojox>
    25.         </div>
    26. </ui>
    27.