MXML: Difference between revisions

The educational technology and digital learning wiki
Jump to navigation Jump to search
Line 15: Line 15:
* presentation of information
* presentation of information


There is no official schema for MXML, but some people did create schemas. In particular, check out [http://code.google.com/p/xsd4mxml/ Ali Mansuroglu'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's] Relax/rnc version.
== Versions ==


== Introductory example ==
There don'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'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's] Relax/rnc version.
 
* Flex Version 2: dead
* Flex Version 3: aka MXML 2006, requires Flash 9
* Flex Version 4: aka MXML 2009, requires Flash 10
 
== Introductory examples ==


Firstly, install the [[Adobe Flex#Installing_the_free_Flex_SDK|Flex]] SDK.
Firstly, install the [[Adobe Flex#Installing_the_free_Flex_SDK|Flex]] SDK.
Line 24: Line 30:
Here, we just focus on the MXML part.
Here, we just focus on the MXML part.


A basic mxml document would look something like this:
=== Flex 3 ===
 
A basic Flex 3 / mxml 2006 document would look something like this:


File myFirstApplication.mxml :
Files
* [http://tecfa.unige.ch/guides/flash/flex4/intro/ myFirstApplicationFlex3.mxml]
* [http://tecfa.unige.ch/guides/flash/flex4/intro/myFirstApplicationFlex3.swf myFirstApplicationFlex3.swf]


<?xml version="1.0" encoding="utf-8"?>
<source lang="actionscript">
<?xml version="1.0" encoding="utf-8"?>
<!-- Introductory Flex 3 example, DKS, TECFA, University of Geneva, nov 2010) -->
  <mx:Application  
  <mx:Application  
     xmlns:mx="http://www.adobe.com/2006/mxml"  
     xmlns:mx="http://www.adobe.com/2006/mxml"  
Line 39: Line 50:
         <mx:Label text="Hello World!" fontWeight="bold" fontSize="24"/>
         <mx:Label text="Hello World!" fontWeight="bold" fontSize="24"/>
     </mx:Panel>
     </mx:Panel>
</mx:Application>
</mx:Application>
</source>
 
[[image:flex4-intro-1.jpg|frame|none|Flex myFirstApplicationFlex3.mxml]]
 
=== Flex 4 ===
 
 


Make sure to respect [[XML]] Syntax (e.g. closing tags).
Make sure to respect [[XML]] Syntax (e.g. closing tags).
Line 51: Line 69:
Information appears on the screen and about half a second later, if all is well, you get informed that a file "myFirstApplication.swf" has been produced. Open this file in a flash player or in a web browser.  
Information appears on the screen and about half a second later, if all is well, you get informed that a file "myFirstApplication.swf" has been produced. Open this file in a flash player or in a web browser.  


SWF files generated by Flex require Flash Player 9 or above.
SWF files generated by Flex 3, require Flash Player 9 or above, files generated by Flex 4 require Flash Player 10.


== Software ==
== Software ==

Revision as of 16:14, 9 November 2010

<pageby nominor="false" comments="false"/>

This entry is part of the Flex tutorials

Introduction

MXML is an XML-based user 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.

One can use the free 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 applications (e.g. educational multimedia). Flex/mxml seems to gain popularity since it's a sort of "semi-thick client" technology and for once Adobe takes a much better political approach. Both the compiler and the documentation is open and free.

MXML allows to define

  • layout structure
  • some behaviors
  • presentation of information

Versions

There don't seem to be official schemas for MXML, but some people did create schemas. In particular, check out Ali Mansuroglu's flex3.xsd or Matthias Georgi's Relax/rnc version.

  • Flex Version 2: dead
  • Flex Version 3: aka MXML 2006, requires Flash 9
  • Flex Version 4: aka MXML 2009, requires Flash 10

Introductory examples

Firstly, install the Flex SDK.

A Flex program is a text file that contains a combination of xml elements and optionally actionscript instructions. Here, we just focus on the MXML part.

Flex 3

A basic Flex 3 / mxml 2006 document would look something like this:

Files

<?xml version="1.0" encoding="utf-8"?>
<!-- Introductory Flex 3 example, DKS, TECFA, University of Geneva, nov 2010) --> 
 <mx:Application 
     xmlns:mx="http://www.adobe.com/2006/mxml" 
     horizontalAlign="center" verticalAlign="middle" 
     width="300" height="160" >
     <mx:Panel 
         paddingTop="10" paddingBottom="10" paddingLeft="10" paddingRight="10"
         title="My First Application" >
         <mx:Label text="Hello World!" fontWeight="bold" fontSize="24"/>
     </mx:Panel>
</mx:Application>
Flex myFirstApplicationFlex3.mxml

Flex 4

Make sure to respect XML Syntax (e.g. closing tags).

Put the text above in a text file. Save the text file as "myFirstApplication.mxml". See the "editing software" section in the Flex article if you plan to use an editor with Flex support. But for starters you can use any text editor, preferable an editor with XML support.

Assuming the Flex SDK is properly installed, in the terminal, type:

mxmlc myFirstApplication.mxml

Information appears on the screen and about half a second later, if all is well, you get informed that a file "myFirstApplication.swf" has been produced. Open this file in a flash player or in a web browser.

SWF files generated by Flex 3, require Flash Player 9 or above, files generated by Flex 4 require Flash Player 10.

Software

There exist several solutions for writing mxml code:

  • Use the Adobe Flash Builder (formerly called Flex Builder). This is a commercial tool, but it is free for education
  • Use a Relax schema, e.g. Gnu Emacs with flex3.rnc and also its ActionScript mode to write classes.
  • Use an XSD schema with a XSD-supporting XML editor plus an ECMA/ActionSript supporting editor.
  • Use the specialized free open source Flashdevelop ActionScript/Flex editor.

See also the Adobe Flex article

Links

At Adobe
  • 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't move ...):
MXML Schemas

Adobe doesn't seem to provide any sort of schema that would allow you to use an XML editor. But there are some initiatives.

Others
  • MXML (Wikipedia. Still a stub, i.e. not very useful as of Aug. 2008)