<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://w.arbores.tech/w/index.php?action=history&amp;feed=atom&amp;title=MXML</id>
	<title>MXML - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://w.arbores.tech/w/index.php?action=history&amp;feed=atom&amp;title=MXML"/>
	<link rel="alternate" type="text/html" href="http://w.arbores.tech/w/index.php?title=MXML&amp;action=history"/>
	<updated>2026-04-13T16:14:28Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.39.11</generator>
	<entry>
		<id>http://w.arbores.tech/w/index.php?title=MXML&amp;diff=16360&amp;oldid=prev</id>
		<title>Daniel K. Schneider: Text replacement - &quot;$&quot; to &quot;
{{edutechwiki}}&quot;</title>
		<link rel="alternate" type="text/html" href="http://w.arbores.tech/w/index.php?title=MXML&amp;diff=16360&amp;oldid=prev"/>
		<updated>2021-04-10T00:19:44Z</updated>

		<summary type="html">&lt;p&gt;Text replacement - &amp;quot;$&amp;quot; to &amp;quot; {{edutechwiki}}&amp;quot;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 02:19, 10 April 2021&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l152&quot;&gt;Line 152:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 152:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category: Rich internet applications]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category: Rich internet applications]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:Flex tutorials]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:Flex tutorials]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;{{edutechwiki}}&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Daniel K. Schneider</name></author>
	</entry>
	<entry>
		<id>http://w.arbores.tech/w/index.php?title=MXML&amp;diff=15547&amp;oldid=prev</id>
		<title>Daniel K. Schneider: 1 revision imported</title>
		<link rel="alternate" type="text/html" href="http://w.arbores.tech/w/index.php?title=MXML&amp;diff=15547&amp;oldid=prev"/>
		<updated>2021-04-09T22:48:46Z</updated>

		<summary type="html">&lt;p&gt;1 revision imported&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 00:48, 10 April 2021&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;en&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Daniel K. Schneider</name></author>
	</entry>
	<entry>
		<id>http://w.arbores.tech/w/index.php?title=MXML&amp;diff=15546&amp;oldid=prev</id>
		<title>Daniel K. Schneider: Text replacement - &quot;&lt;pageby nominor=&quot;false&quot; comments=&quot;false&quot;/&gt;&quot; to &quot;&lt;!-- &lt;pageby nominor=&quot;false&quot; comments=&quot;false&quot;/&gt; --&gt;&quot;</title>
		<link rel="alternate" type="text/html" href="http://w.arbores.tech/w/index.php?title=MXML&amp;diff=15546&amp;oldid=prev"/>
		<updated>2016-08-22T17:07:29Z</updated>

		<summary type="html">&lt;p&gt;Text replacement - &amp;quot;&amp;lt;pageby nominor=&amp;quot;false&amp;quot; comments=&amp;quot;false&amp;quot;/&amp;gt;&amp;quot; to &amp;quot;&amp;lt;!-- &amp;lt;pageby nominor=&amp;quot;false&amp;quot; comments=&amp;quot;false&amp;quot;/&amp;gt; --&amp;gt;&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Incomplete}}&lt;br /&gt;
&amp;lt;!-- &amp;lt;pageby nominor=&amp;quot;false&amp;quot; comments=&amp;quot;false&amp;quot;/&amp;gt; --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This entry is part of the [[Flex tutorials]]&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
MXML is an XML-based user [http://en.wikipedia.org/wiki/User_interface_markup_language interface markup language] that together with ActionScript allows to develop [[Flash]] applications. MXML is considered a proprietary standard due to its tight integration with Adobe technologies, in particular [[Flash]].&lt;br /&gt;
&lt;br /&gt;
One can use the &amp;#039;&amp;#039;&amp;#039;free&amp;#039;&amp;#039;&amp;#039; [[Adobe Flex]] developer kit to compile MXML + ActionScript code into [[Flash]]. Flex (i.e. the combination of MXML and Actionscript) did become a fairly popular technology for developping [[rich internet application]]s (e.g. educational multimedia). Flex/mxml seems to gain popularity since it&amp;#039;s a sort of &amp;quot;semi-thick client&amp;quot; technology and for once Adobe takes a much better political approach. Both the compiler and the documentation is open and free.&lt;br /&gt;
&lt;br /&gt;
MXML allows to define&lt;br /&gt;
* layout structure&lt;br /&gt;
* some behaviors&lt;br /&gt;
* presentation of information&lt;br /&gt;
&lt;br /&gt;
Demos:&lt;br /&gt;
* [http://examples.adobe.com/flex3/componentexplorer/explorer.html Adobe Flex 3 Component Explorer]&lt;br /&gt;
* [http://www.adobe.com/devnet-archive/flex/tourdeflex/web/ Tour de Flex] (web version)&lt;br /&gt;
* [http://www.adobe.com/devnet/flex/tourdeflex.html Tour de Flex] is a desktop (AIR) installation {{quotation|for exploring Flex 4 capabilities and resources, including the core Flex components, Adobe AIR, data integration, and a variety of third-party components, effects, skins, and more}}.&lt;br /&gt;
&lt;br /&gt;
See also: the [[Adobe Flex]] article&lt;br /&gt;
&lt;br /&gt;
== Versions ==&lt;br /&gt;
&lt;br /&gt;
There don&amp;#039;t seem to be official schemas for MXML, but some people did create schemas. In particular, check out [http://code.google.com/p/xsd4mxml/ Ali Mansuroglu&amp;#039;s] [http://xsd4mxml.googlecode.com/files/flex3.xsd flex3.xsd] or [http://www.matthias-georgi.de/2008/9/relax-ng-schema-for-adobe-flex-3.html Matthias Georgi&amp;#039;s] Relax/rnc version.&lt;br /&gt;
&lt;br /&gt;
* Flex Version 2: dead&lt;br /&gt;
* Flex Version 3: aka MXML 2006, requires Flash 9&lt;br /&gt;
* Flex Version 4: aka MXML 2009, requires Flash 10&lt;br /&gt;
&lt;br /&gt;
== An introductory example ==&lt;br /&gt;
&lt;br /&gt;
Firstly, install the [[Adobe Flex#Installing_the_free_Flex_SDK|Flex]] SDK.&lt;br /&gt;
&lt;br /&gt;
A [[Adobe Flex|Flex]] program is a text file that contains a combination of xml elements and optionally actionscript instructions. &lt;br /&gt;
Here, we just focus on the MXML part.&lt;br /&gt;
&lt;br /&gt;
=== Flex 3 version ===&lt;br /&gt;
&lt;br /&gt;
A basic Flex 3 / mxml 2006 document would look something like this:&lt;br /&gt;
&lt;br /&gt;
Files:&lt;br /&gt;
* [http://tecfa.unige.ch/guides/flash/flex4/intro/ myFirstApplicationFlex3.mxml]&lt;br /&gt;
* [http://tecfa.unige.ch/guides/flash/flex4/intro/myFirstApplicationFlex3.swf myFirstApplicationFlex3.swf]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;actionscript&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;!-- Introductory Flex 3 example, DKS, TECFA, University of Geneva, nov 2010) --&amp;gt; &lt;br /&gt;
 &amp;lt;mx:Application &lt;br /&gt;
     xmlns:mx=&amp;quot;http://www.adobe.com/2006/mxml&amp;quot; &lt;br /&gt;
     horizontalAlign=&amp;quot;center&amp;quot; verticalAlign=&amp;quot;middle&amp;quot; &lt;br /&gt;
     width=&amp;quot;300&amp;quot; height=&amp;quot;160&amp;quot; &amp;gt;&lt;br /&gt;
     &amp;lt;mx:Panel &lt;br /&gt;
         paddingTop=&amp;quot;10&amp;quot; paddingBottom=&amp;quot;10&amp;quot; paddingLeft=&amp;quot;10&amp;quot; paddingRight=&amp;quot;10&amp;quot;&lt;br /&gt;
         title=&amp;quot;My First Application&amp;quot; &amp;gt;&lt;br /&gt;
         &amp;lt;mx:Label text=&amp;quot;Hello World!&amp;quot; fontWeight=&amp;quot;bold&amp;quot; fontSize=&amp;quot;24&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;/mx:Panel&amp;gt;&lt;br /&gt;
&amp;lt;/mx:Application&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Below is a screen capture of the &amp;quot;application&amp;quot;:&lt;br /&gt;
[[image:flex4-intro-1.jpg|frame|none|Flex myFirstApplicationFlex3.mxml]]&lt;br /&gt;
&lt;br /&gt;
=== Flex 4 version ===&lt;br /&gt;
&lt;br /&gt;
Files:&lt;br /&gt;
* [http://tecfa.unige.ch/guides/flash/flex4/intro/ myFirstApplicationFlex4.mxml]&lt;br /&gt;
* [http://tecfa.unige.ch/guides/flash/flex4/intro/myFirstApplicationFlex4.swf myFirstApplicationFlex3.swf]&lt;br /&gt;
&lt;br /&gt;
A similar program in Flex 4 would uses more namespaces:&lt;br /&gt;
* Flex 4: &amp;quot;http://ns.adobe.com/mxml/2009&amp;quot;, typically non-visual stuff&lt;br /&gt;
* Spark: &amp;quot;library://ns.adobe.com/flex/spark&amp;quot;, the new Flex 4 components&lt;br /&gt;
* Flex 3: &amp;quot;library://ns.adobe.com/flex/mx&amp;quot;, the old Flex 3 components (not really used in the example below)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;actionscript&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;s:Application xmlns:fx=&amp;quot;http://ns.adobe.com/mxml/2009&amp;quot; &lt;br /&gt;
	       xmlns:s=&amp;quot;library://ns.adobe.com/flex/spark&amp;quot; &lt;br /&gt;
	       xmlns:mx=&amp;quot;library://ns.adobe.com/flex/mx&amp;quot; &lt;br /&gt;
	       minWidth=&amp;quot;200&amp;quot; minHeight=&amp;quot;100&amp;quot; width=&amp;quot;200&amp;quot; height=&amp;quot;100&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;s:Panel x=&amp;quot;28&amp;quot; y=&amp;quot;26&amp;quot; &lt;br /&gt;
	   width=&amp;quot;200&amp;quot; height=&amp;quot;100&amp;quot;&lt;br /&gt;
	   title=&amp;quot;My First Application&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;s:Label text=&amp;quot;Hello World !&amp;quot;&lt;br /&gt;
	     width=&amp;quot;150&amp;quot; height=&amp;quot;46&amp;quot; &lt;br /&gt;
	     x=&amp;quot;21&amp;quot; y=&amp;quot;10&amp;quot; verticalAlign=&amp;quot;middle&amp;quot; &lt;br /&gt;
	     textAlign=&amp;quot;center&amp;quot; fontWeight=&amp;quot;bold&amp;quot; fontSize=&amp;quot;24&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/s:Panel&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
&amp;lt;/s:Application&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Editing and compiling (both versions) ===&lt;br /&gt;
&lt;br /&gt;
Make sure to respect [[XML]] Syntax (e.g. closing tags).&lt;br /&gt;
&lt;br /&gt;
Put the code above in text files. Save the text file as &amp;quot;myFirstApplication.mxml&amp;quot; or similar. See the &amp;quot;editing software&amp;quot; section in the [[Adobe Flex#Editing_software_.2F_IDEs|Flex]] article if you plan to&lt;br /&gt;
use an editor with Flex support. But for starters you can use&lt;br /&gt;
any text editor, preferable an editor with XML support.&lt;br /&gt;
&lt;br /&gt;
Assuming the Flex SDK is properly installed, in the terminal, type:&lt;br /&gt;
 mxmlc myFirstApplication.mxml&lt;br /&gt;
Information appears on the screen and about half a second later, if all is well, you get informed that a file &amp;quot;myFirstApplication.swf&amp;quot; has been produced. Open this file in a flash player or in a web browser. &lt;br /&gt;
&lt;br /&gt;
SWF files generated by Flex 3, require Flash Player 9 or above, files generated by Flex 4 require Flash Player 10.&lt;br /&gt;
&lt;br /&gt;
As of nov 2010, this will not show in my Ubuntu in Firefox 3.6.12 and Shockwave Flash 10.1 r102 ... don&amp;#039;t know why. &lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
&lt;br /&gt;
There exist several solutions for writing mxml code:&lt;br /&gt;
* Use the [[Adobe Flash Builder]] (formerly called Flex Builder). This is a commercial tool, but it is [https://freeriatools.adobe.com/ free for education]&lt;br /&gt;
* Use a Relax schema, e.g. Gnu [[Emacs]] with [http://www.matthias-georgi.de/2008/9/relax-ng-schema-for-adobe-flex-3 flex3.rnc] and also its ActionScript mode to write classes.&lt;br /&gt;
* Use an XSD schema with a XSD-supporting [[XML editor]] plus an ECMA/ActionSript supporting editor.&lt;br /&gt;
* Use the specialized free open source [http://www.flashdevelop.org/ Flashdevelop] ActionScript/Flex editor.&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
See also the [[Adobe Flex]] article&lt;br /&gt;
&lt;br /&gt;
; At Adobe&lt;br /&gt;
&lt;br /&gt;
* [http://www.adobe.com/devnet/flex/ Flex Developer Center] has a lot of information. Not always obvious to find the best entry point for beginners, but have a look at these (if the links didn&amp;#039;t move ...):&lt;br /&gt;
&lt;br /&gt;
* [http://flex.org flex.org] An Adobe page that includes [http://flex.org/resources Flex resources] (as of nov 2011 the best bet) and news from other places &lt;br /&gt;
&lt;br /&gt;
* [http://examples.adobe.com/flex3/componentexplorer/explorer.html Component explorer] Displays both a live component a matching MXML code] (&amp;#039;&amp;#039;&amp;#039;Very useful&amp;#039;&amp;#039;&amp;#039; !)&lt;br /&gt;
&lt;br /&gt;
* [http://help.adobe.com/en_US/flex/using/WS2db454920e96a9e51e63e3d11c0bf69084-79b5.html Developing applications in MXML] (part of the [http://help.adobe.com/en_US/flex/using/index.html Adobe Flex 4 manual]&lt;br /&gt;
&lt;br /&gt;
; MXML Schemas&lt;br /&gt;
Adobe doesn&amp;#039;t seem to provide any sort of schema that would allow you to use an XML editor. But there are some initiatives.&lt;br /&gt;
* Flex 1.5/2 (old) [http://falkensweb.com/mxml2.xsd mxml2.xsd] from Falkensweb. I made a [http://tecfa.unige.ch/guides/flash/doc/mxml2.xsd local copy]&lt;br /&gt;
* [http://code.google.com/p/xsd4mxml/downloads/list flex3.xsd] made by Ali Mansuroglu. I made a [http://tecfa.unige.ch/guides/flash/doc/flex3.xsd local copy]&lt;br /&gt;
* Matthias Georgi in order to support [http://www.matthias-georgi.de/2008/9/relax-ng-schema-for-adobe-flex-3.html development on Emacs] created a Relax NG Schema for Adobe Flex 3 ([http://www.matthias-georgi.de/download/flex3.rnc flex3.rnc download]) and that is based on Ali&amp;#039;s XSD.&lt;br /&gt;
&lt;br /&gt;
; Others&lt;br /&gt;
* [http://en.wikipedia.org/wiki/MXML MXML] (Wikipedia. Still a stub, i.e. not very useful as of Aug. 2008)&lt;br /&gt;
* [http://www.xul.fr/comparison-user-interface-markup-languages.html User Interface Markup Languages] at xul.fr shortly compares various XML-based User Interface Language languages like MXML, XAML (Microsoft) or XUL (Mozilla).&lt;br /&gt;
* [http://www.scriptol.com/ajax/ajax-xul-xaml.php Which Interface for a Web Application?] is a similar short comparison at scriptol.com.&lt;br /&gt;
&lt;br /&gt;
[[Category: XML]]&lt;br /&gt;
[[Category: Multimedia]]&lt;br /&gt;
&lt;br /&gt;
[[Category: Programming]]&lt;br /&gt;
&lt;br /&gt;
[[Category: Flex]]&lt;br /&gt;
[[Category: Actionscript 3]]&lt;br /&gt;
[[Category: Rich internet applications]]&lt;br /&gt;
[[Category:Flex tutorials]]&lt;/div&gt;</summary>
		<author><name>Daniel K. Schneider</name></author>
	</entry>
</feed>