An XFL document is a set of files in fixed places. In the .fla they are
members of the ZIP archive; in the
uncompressed form they are files in a
folder. A typical document holds:
DOMDocument.xml the document
Hello.xfl PROXY-CS5, the marker
mimetype application/vnd.adobe.xfl
LIBRARY/ the library, as folders
LIBRARY/Tween 1.xml a symbol
LIBRARY/Assets/ a library folder
LIBRARY/Assets/Other/minimap.png an imported image, as it was
bin/M 31 1372941248.dat a bitmap in Flash’s own form
bin/SymDepend.cache a cache of symbol dependencies
META-INF/ metadata
META-INF/metadata.xml
PublishSettings.xml publish profiles
MobileSettings.xml mobile settings
| Member | Holds |
|---|---|
DOMDocument.xml | The document (below). |
name.xfl | Nine bytes, PROXY-CS5: the marker. |
mimetype | application/vnd.adobe.xfl; see The ZIP container. |
LIBRARY/… | One XML file a symbol, in the library’s folders, and imported files. |
bin/M n stamp.dat | Bitmaps. |
bin/*.swf, bin/*.swc | Compiled clips and components. |
bin/SymDepend.cache | A binary cache of symbols. |
META-INF/metadata.xml | XMP metadata. |
PublishSettings.xml | The publish profiles. |
MobileSettings.xml | Mobile settings; empty in the files seen. |
DOMDocument.xml
The document itself, in UTF-8 XML. Its root element <DOMDocument>
gives the stage size, background colour, the release that saved it and the
xflVersion. Its children list the library’s folders, fonts, media and
symbols, and hold one <DOMTimeline> for each scene, with its layers,
frames, shapes and scripts. It is the one member every XFL document must have. See
DOMDocument.xml.
LIBRARY/
The library, as a tree of folders that matches the folders in Flash’s Library panel.
Each symbol (movie clip, button or graphic) is an XML file named after it, such as
LIBRARY/Tween 1.xml, whose root element is
<DOMSymbolItem> and which holds the symbol’s own timeline.
DOMDocument.xml lists these files in its <symbols>
element, by paths relative to LIBRARY/.
Imported files, such as PNG and JPEG images, are also kept here as they were
imported, for example LIBRARY/Assets/Other/minimap.png, beside the copy in
Flash’s own form in bin/ that the bitmap item points to. See
The library.
bin/
Binary data that the XML refers to by file name:
M n stamp.dat– a bitmap, either the JPEG file itself or Flash’s lossless bitmap. A bitmap item’sbitmapDataHRefattribute names it, such asM 31 1372941248.dat. The second number looks like a Unix time stamp in seconds, as in the stream names of Flash CS4’s binary documents. See Bitmaps in bin/.*.swfand*.swc– compiled clips and components, named by theswfScmHRefattribute of a<DOMCompiledClipItem>. These are the only places an XFL document holds compiled code.- Some
.datfiles of 1,296 or 1,584 bytes are all zeros. They go with components; what they are for is not established.
bin/SymDepend.cache
A small binary cache that Flash keeps of the document’s symbols. It starts with a 32-bit number; what follows appears to be a date written as eight 16-bit numbers (year, month and so on), then counted names of symbols. This reading is an inference and the full layout is not established. The explorer does not decode it.
META-INF/metadata.xml
XMP metadata, as in other Adobe files: an <x:xmpmeta> packet with
the program that created the document (xmp:CreatorTool, for example
“Adobe Flash CS4 Professional” in a document first made in CS4 and later saved as
XFL) and the format (dc:format,
application/vnd.adobe.fla).
PublishSettings.xml
The publish profiles: which files to make when the document is published, their
names, the Flash Player version to target, the ActionScript version, the document class
and the class paths. Its root is <flash_profiles>. See
Publish settings.
MobileSettings.xml
Settings for publishing to mobile devices. The member was present but empty in every file seen.
The .xfl marker
A file named after the document with the extension .xfl, holding the
nine ASCII bytes PROXY-CS5 (50 52 4F 58 59 2D 43 53 35). In
the uncompressed form this is the file Flash opens; in the .fla it is
stored as an ordinary member.