<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.scott5.org/index.php?action=history&amp;feed=atom&amp;title=E4X</id>
	<title>E4X - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.scott5.org/index.php?action=history&amp;feed=atom&amp;title=E4X"/>
	<link rel="alternate" type="text/html" href="https://wiki.scott5.org/index.php?title=E4X&amp;action=history"/>
	<updated>2026-05-06T07:01:52Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>https://wiki.scott5.org/index.php?title=E4X&amp;diff=175&amp;oldid=prev</id>
		<title>Scott: Created page with &#039;== Reference == Official specification: http://www.ecma-international.org/publications/standards/Ecma-357.htm  Background: http://en.wikipedia.org/wiki/E4X http://developer.mozil…&#039;</title>
		<link rel="alternate" type="text/html" href="https://wiki.scott5.org/index.php?title=E4X&amp;diff=175&amp;oldid=prev"/>
		<updated>2011-01-31T22:57:27Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;#039;== Reference == Official specification: http://www.ecma-international.org/publications/standards/Ecma-357.htm  Background: http://en.wikipedia.org/wiki/E4X http://developer.mozil…&amp;#039;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Reference ==&lt;br /&gt;
Official specification: http://www.ecma-international.org/publications/standards/Ecma-357.htm&lt;br /&gt;
&lt;br /&gt;
Background: http://en.wikipedia.org/wiki/E4X http://developer.mozilla.org/en/docs/E4X&lt;br /&gt;
&lt;br /&gt;
Tutorials: http://www.w3schools.com/e4x/default.asp http://developer.mozilla.org/presentations/xtech2005/e4x/&lt;br /&gt;
&lt;br /&gt;
== XML as Javascript ==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
order = &amp;lt;order id=&amp;quot;1234&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;customer&amp;gt;&amp;lt;name&amp;gt;Joe Green&amp;lt;/name&amp;gt;&lt;br /&gt;
    &amp;lt;address&amp;gt;&amp;lt;street&amp;gt;410 Main&amp;lt;/street&amp;gt;&lt;br /&gt;
      &amp;lt;city&amp;gt;York&amp;lt;/city&amp;gt;&amp;lt;state&amp;gt;VT&amp;lt;/state&amp;gt;&lt;br /&gt;
    &amp;lt;/address&amp;gt;&lt;br /&gt;
  &amp;lt;/customer&amp;gt;&lt;br /&gt;
  &amp;lt;item&amp;gt;. . .&amp;lt;/item&amp;gt;&lt;br /&gt;
  &amp;lt;item&amp;gt;&lt;br /&gt;
    &amp;lt;make&amp;gt;Acme&amp;lt;/make&amp;gt;&lt;br /&gt;
    &amp;lt;model&amp;gt;Framistat&amp;lt;/model&amp;gt;&lt;br /&gt;
    &amp;lt;price&amp;gt;2.50&amp;lt;/price&amp;gt;&lt;br /&gt;
    &amp;lt;qty&amp;gt;30&amp;lt;/qty&amp;gt;&lt;br /&gt;
  &amp;lt;/item&amp;gt;&lt;br /&gt;
&amp;lt;/order&amp;gt;;&lt;br /&gt;
var address = order.customer.address;&lt;br /&gt;
var second = order.item[1];&lt;br /&gt;
second.total = second.qty * second.price;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Features specific to E4X ==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
var order = &amp;lt;order&amp;gt;&amp;lt;customer&amp;gt;. . .&amp;lt;/customer&amp;gt;&lt;br /&gt;
  &amp;lt;item&amp;gt;&amp;lt;price&amp;gt;5&amp;lt;/price&amp;gt;&amp;lt;qty&amp;gt;10&amp;lt;/qty&amp;gt;&amp;lt;/item&amp;gt;&lt;br /&gt;
  &amp;lt;item level=&amp;quot;rush&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;price&amp;gt;2.5&amp;lt;/price&amp;gt;&lt;br /&gt;
   &amp;lt;qty&amp;gt;30&amp;lt;/qty&amp;gt;&lt;br /&gt;
  &amp;lt;/item&amp;gt;&lt;br /&gt;
  &amp;lt;item level=&amp;quot;rush&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;price&amp;gt;1.5&amp;lt;/price&amp;gt;&lt;br /&gt;
   &amp;lt;qty&amp;gt;50&amp;lt;/qty&amp;gt;&lt;br /&gt;
  &amp;lt;/item&amp;gt;&lt;br /&gt;
  &amp;lt;/order&amp;gt;;&lt;br /&gt;
var items = order.item; // XMLList of item elements&lt;br /&gt;
var prices = order..price;&lt;br /&gt;
var urgentItems = order.item.(@level == &amp;quot;rush&amp;quot;);&lt;br /&gt;
var itemAttrs = order.item[0].@*;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Generating HTML ==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
var html = &amp;lt;html/&amp;gt;;&lt;br /&gt;
html.head.title = &amp;quot;My Page Title&amp;quot;;&lt;br /&gt;
html.body.@bgcolor = &amp;quot;#e4e4e4&amp;quot;;&lt;br /&gt;
html.body.form.@name = &amp;quot;myform&amp;quot;;&lt;br /&gt;
html.body.form.@action = &amp;quot;someurl.jss&amp;quot;;&lt;br /&gt;
html.body.form.@method = &amp;quot;post&amp;quot;;&lt;br /&gt;
html.body.form.@onclick = &amp;quot;return somejs();&amp;quot;;&lt;br /&gt;
html.body.form.input[0] = &amp;quot;&amp;quot;;&lt;br /&gt;
html.body.form.input[0].@name = &amp;quot;test&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
document.innerHTML = html.toXMLString()&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Looping over elements ==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
var price=0&lt;br /&gt;
for each (i in order.item) {&lt;br /&gt;
    price+= i.qty*i.price&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Scott</name></author>
	</entry>
</feed>