<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>All I don&#039;t know &#187; Flash in Browser</title>
	<atom:link href="http://blog.derraab.com/category/flash-in-browser/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.derraab.com</link>
	<description>About Flash™, Flex™, software development and my computer. And JavaScript.</description>
	<lastBuildDate>Sat, 26 Nov 2011 18:31:36 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Safari Flash Player detection problems with ClickToFlash</title>
		<link>http://blog.derraab.com/2011/06/06/safari-flash-player-detection-problems-with-clicktoflash/</link>
		<comments>http://blog.derraab.com/2011/06/06/safari-flash-player-detection-problems-with-clicktoflash/#comments</comments>
		<pubDate>Mon, 06 Jun 2011 10:52:39 +0000</pubDate>
		<dc:creator>derRaab</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flash in Browser]]></category>
		<category><![CDATA[Flash Player]]></category>
		<category><![CDATA[Mac]]></category>

		<guid isPermaLink="false">http://blog.derraab.com/?p=609</guid>
		<description><![CDATA[I really like the concept of blocking Flash, mainly because I don&#8217;t see these unwanted, crappy developed Flash adds sucking performance, but also because it&#8217;s a nice way to recognise Flash parts in websites. You&#8217;ll have your own reasons. Safari &#8230; <a href="http://blog.derraab.com/2011/06/06/safari-flash-player-detection-problems-with-clicktoflash/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I really like the concept of blocking Flash, mainly because I don&#8217;t see these unwanted, crappy developed Flash adds sucking performance, but also because it&#8217;s a nice way to  recognise Flash parts in websites. You&#8217;ll have your own reasons.</p>
<p>Safari is, except for testing purposes, my browser of choice, but I was having trouble on different websites accessing Flash content because the Flash plugin was not detected correctly. Since I had to <a href="http://blog.derraab.com/2011/02/10/the-hitchhikers-guide-to-a-flash-player-update/">update the Flash Player on my system</a> again, I decided to figure out what the problem is.</p>
<p>According to <a href="http://playerversion.com/">Playerversion.com</a> an older Flash Player version &#8211; <code>MAC 10,0,45,0</code> &#8211; was found first, then the display switched to my installed Flash version &#8211; <code>MAC 10,3,181,14 (Debug player)</code>.</p>
<p>I used the Flash Player Uninstaller but Flash Player version <code>MAC 10,0,45,0</code> was still displayed in Safari.</p>
<p>After some research I figured out that <a href="http://clicktoflash.com/">ClickToFlash</a> doesn&#8217;t display the correct Flash Player version and therefore doesn&#8217;t work in all Flash detection scripts. Just check <code>Safari - Help - Installed Plugins and search for "Flash"</code> and you&#8217;ll see that <a href="http://clicktoflash.com/">ClickToFlash</a> simulates somehow an outdated Flash Player version (seems to be hardcoded).</p>
<p>So until <a href="http://clicktoflash.com/">ClickToFlash</a> will be updated displaying the correct installed Flash Player version I&#8217;ll use <a href="http://safariadblock.com/">AdBlock For Safari</a>. More Flash but less problems &#8211; hopefully. <img src='http://blog.derraab.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.derraab.com/2011/06/06/safari-flash-player-detection-problems-with-clicktoflash/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>YouTube about Flash and the HTML5 &lt;video&gt; tag</title>
		<link>http://blog.derraab.com/2010/06/30/youtube-about-flash-and-the-html5-videotag/</link>
		<comments>http://blog.derraab.com/2010/06/30/youtube-about-flash-and-the-html5-videotag/#comments</comments>
		<pubDate>Wed, 30 Jun 2010 08:35:47 +0000</pubDate>
		<dc:creator>derRaab</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flash in Browser]]></category>
		<category><![CDATA[Flash Player]]></category>
		<category><![CDATA[Video]]></category>

		<guid isPermaLink="false">http://blog.derraab.com/?p=306</guid>
		<description><![CDATA[Interesting YouTube API Blog post explains why YouTube uses Flash Player for video playback: http://apiblog.youtube.com/2010/06/flash-and-html5-tag.html]]></description>
			<content:encoded><![CDATA[<p>Interesting YouTube API Blog post explains why YouTube uses Flash Player for video playback:</p>
<p><a href="http://apiblog.youtube.com/2010/06/flash-and-html5-tag.html">http://apiblog.youtube.com/2010/06/flash-and-html5-tag.html</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.derraab.com/2010/06/30/youtube-about-flash-and-the-html5-videotag/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Open Source Media Framework 1.0</title>
		<link>http://blog.derraab.com/2010/05/28/open-source-media-framework-1-0/</link>
		<comments>http://blog.derraab.com/2010/05/28/open-source-media-framework-1-0/#comments</comments>
		<pubDate>Fri, 28 May 2010 12:30:19 +0000</pubDate>
		<dc:creator>derRaab</dc:creator>
				<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flash in Browser]]></category>
		<category><![CDATA[Flash Player]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Librarys]]></category>
		<category><![CDATA[Video]]></category>

		<guid isPermaLink="false">http://blog.derraab.com/?p=289</guid>
		<description><![CDATA[Adobe recently released OSMF version 1.0! Again just some links: OSMF Blog &#8211; Announcing OSMF 1.0! Source ZIP Release Notes PDF ASDocs ZIP]]></description>
			<content:encoded><![CDATA[<p>Adobe recently released OSMF version 1.0! Again just some links:</p>
<p><a href="http://blogs.adobe.com/osmf/2010/05/announcing_osmf_10.html">OSMF Blog &#8211; Announcing OSMF 1.0!</a><br />
<a href="http://download.macromedia.com/pub/opensource/osmf/osmf_source_v1-0.zip">Source ZIP</a><br />
<a href="http://opensource.adobe.com/wiki/download/attachments/34373765/ReleaseNotesv1.0.pdf?version=2">Release Notes PDF</a><br />
<a href="http://download.macromedia.com/pub/opensource/osmf/osmf_asdocs_v1-0.zip">ASDocs ZIP</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.derraab.com/2010/05/28/open-source-media-framework-1-0/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Flash Performance Visualizer</title>
		<link>http://blog.derraab.com/2010/05/26/flash-performance-visualizer/</link>
		<comments>http://blog.derraab.com/2010/05/26/flash-performance-visualizer/#comments</comments>
		<pubDate>Wed, 26 May 2010 17:43:48 +0000</pubDate>
		<dc:creator>derRaab</dc:creator>
				<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flash in Browser]]></category>
		<category><![CDATA[Flash Player]]></category>
		<category><![CDATA[Flex]]></category>

		<guid isPermaLink="false">http://blog.derraab.com/?p=283</guid>
		<description><![CDATA[Mr.doop&#8217;s Hi-ReS! Stats is a must have for every ActionScript developer. Seems to be still no. 1! And I don&#8217;t want to search again&#8230; So here just the links: Mr.doop&#8217;s blog &#124; Hi-ReS! Stats Mr.doop&#8217;s Stats.as @ GitHub Update &#8211; &#8230; <a href="http://blog.derraab.com/2010/05/26/flash-performance-visualizer/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Mr.doop&#8217;s Hi-ReS! Stats is a must have for every ActionScript developer. Seems to be still no. 1!<br />
And I don&#8217;t want to search again&#8230; So here just the links:</p>
<p><a href="http://mrdoob.com/blog/post/582">Mr.doop&#8217;s blog | Hi-ReS! Stats</a><br />
<strike><a href="http://github.com/mrdoob/Hi-ReS-Stats">Mr.doop&#8217;s Stats.as @ GitHub</a></strike></p>
<p>Update &#8211; Most recent version I found:<br />
<a href="http://code.google.com/p/mrdoob/source/browse/trunk/libs/net/hires/debug/Stats.as">http://code.google.com/p/mrdoob/source/browse/trunk/libs/net/hires/debug/Stats.as</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.derraab.com/2010/05/26/flash-performance-visualizer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Undocumented XMLUtil class in Adobe Flash CS5?</title>
		<link>http://blog.derraab.com/2010/05/18/undocumented-xmlutil-class-in-adobe-flash-cs5/</link>
		<comments>http://blog.derraab.com/2010/05/18/undocumented-xmlutil-class-in-adobe-flash-cs5/#comments</comments>
		<pubDate>Tue, 18 May 2010 09:39:14 +0000</pubDate>
		<dc:creator>derRaab</dc:creator>
				<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[AIR]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flash in Browser]]></category>
		<category><![CDATA[Flash Player]]></category>
		<category><![CDATA[Flex]]></category>

		<guid isPermaLink="false">http://blog.derraab.com/?p=273</guid>
		<description><![CDATA[I tried to recompile an older Flash CS 4 project with Flash CS 5 but got this compile time error 1061: Call to a possibly undefined method reuseNodes through a reference with static type Class caused by the usage of &#8230; <a href="http://blog.derraab.com/2010/05/18/undocumented-xmlutil-class-in-adobe-flash-cs5/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I tried to recompile an older Flash CS 4 project with Flash CS 5 but got this compile time error <code>1061: Call to a possibly undefined method reuseNodes through a reference with static type Class</code> caused by the usage of one of my utility classes:</p>
<p><strong>This didn&#8217;t work</strong></p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #0066CC;">import</span> de.<span style="color: #006600;">superclass</span>.<span style="color: #006600;">util</span>.<span style="color: #006600;">XMLUtil</span>;
...
<span style="color: #006600;">XMLUtil</span>.<span style="color: #006600;">someMethod</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;</pre></div></div>

<p><strong>This still works</strong></p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;">...<span style="color: #006600;">de</span>.<span style="color: #006600;">superclass</span>.<span style="color: #006600;">util</span>.<span style="color: #006600;">XMLUtil</span>.<span style="color: #006600;">someMethod</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;</pre></div></div>

<p>So there was no error in my class because it&#8217;s still usable when I use the full class package but it didn&#8217;t work when I just import it with the import statement.</p>
<p>After some research I found an undocumented <code>XMLUtil</code> class which avoids the correct access to my <code>de.superclass.util.XMLUtil</code> class.</p>
<p>This class doesn&#8217;t exist in Flash CS 4 but is available in Flash CS 5. Simply create a new FLA in Flash CS 5 an run this code on timeline</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #0066CC;">trace</span><span style="color: #66cc66;">&#40;</span> describeType<span style="color: #66cc66;">&#40;</span> XMLUtil <span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#41;</span>;</pre></div></div>

<p>and you&#8217;ll get this result:</p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;type</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;XMLUtil&quot;</span> <span style="color: #000066;">base</span>=<span style="color: #ff0000;">&quot;Class&quot;</span> <span style="color: #000066;">isDynamic</span>=<span style="color: #ff0000;">&quot;true&quot;</span> <span style="color: #000066;">isFinal</span>=<span style="color: #ff0000;">&quot;true&quot;</span> <span style="color: #000066;">isStatic</span>=<span style="color: #ff0000;">&quot;true&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;extendsClass</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;Class&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;extendsClass</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;Object&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;constant</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kAttrYMin&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;constant</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kAttrXMax&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;constant</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kAttrYMax&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;constant</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kAttrObj0&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;constant</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kAttrObj1&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;constant</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kAttrX0&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;constant</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kAttrY0&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;constant</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kAttrX1&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;variable</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kTagGravity&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;constant</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kAttrY1&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;variable</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kTagCollideSpace&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;constant</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kAttrType&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;variable</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kTagRigidBody&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;constant</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kAttrPin&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;variable</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kTagRect&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;constant</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kAttrSlider&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;variable</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kTagJoint&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;constant</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kAttrLength&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;variable</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kTagSpring&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;constant</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kAttrStrength&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;variable</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kTagFrames&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;constant</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kAttrDamping&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;variable</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kTagFrame&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;constant</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kAttrSimSpeed&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;variable</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kTagFluid&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;constant</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kAttrAxis&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;variable</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kTagEmitter&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;constant</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kAttrAsset&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;variable</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kTagOrigin&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;constant</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kAttrSpring&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;variable</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kTagKeyframes&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;constant</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kAttrSpringStrength&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;variable</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kTagKey&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;constant</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kAttrSpringDamping&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;variable</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kTagView&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;variable</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kTagGeom&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;constant</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kAttrIndex&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;constant</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kAttrCollideType&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;constant</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kAttrCellSize&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;constant</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kAttrSpringValue&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;constant</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kAttrCollideSpace&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;constant</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kAttrRowDimen&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;constant</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kAttrDensity&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;constant</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kAttrColDimen&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;constant</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kAttrPosX&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;constant</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kAttrTimeStep&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;constant</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kAttrPosY&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;constant</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kAttrTime&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;constant</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kAttrAngle&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;constant</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kAttrColor&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;constant</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kAttrVelX&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;constant</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kAttrStrokeColor&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;constant</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kAttrVelY&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;constant</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kAttrAlpha&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;constant</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kAttrVelA&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;constant</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kAttrFPS&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;constant</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kAttrCOR&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;constant</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kAttrSprings&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;constant</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kAttrCOF&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;constant</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kAttrLimits&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;constant</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kAttrFixed&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;constant</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kAttrMinAngle&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;constant</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kAttrID&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;constant</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kAttrDBlend&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;constant</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kAttrPoseStrength&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;constant</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kAttrPoseDamping&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;constant</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kAttrBodyDamping&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;constant</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kAttrX&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;constant</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kAttrY&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;constant</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;kAttrXMin&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;accessor</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;prototype&quot;</span> <span style="color: #000066;">access</span>=<span style="color: #ff0000;">&quot;readonly&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;*&quot;</span> <span style="color: #000066;">declaredBy</span>=<span style="color: #ff0000;">&quot;Class&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;method</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;nodeHasAttribute&quot;</span> <span style="color: #000066;">declaredBy</span>=<span style="color: #ff0000;">&quot;XMLUtil&quot;</span> <span style="color: #000066;">returnType</span>=<span style="color: #ff0000;">&quot;Boolean&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;parameter</span> <span style="color: #000066;">index</span>=<span style="color: #ff0000;">&quot;1&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;XML&quot;</span> <span style="color: #000066;">optional</span>=<span style="color: #ff0000;">&quot;false&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;parameter</span> <span style="color: #000066;">index</span>=<span style="color: #ff0000;">&quot;2&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span> <span style="color: #000066;">optional</span>=<span style="color: #ff0000;">&quot;false&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/method<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;method</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;getIntAttribute&quot;</span> <span style="color: #000066;">declaredBy</span>=<span style="color: #ff0000;">&quot;XMLUtil&quot;</span> <span style="color: #000066;">returnType</span>=<span style="color: #ff0000;">&quot;int&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;parameter</span> <span style="color: #000066;">index</span>=<span style="color: #ff0000;">&quot;1&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;XML&quot;</span> <span style="color: #000066;">optional</span>=<span style="color: #ff0000;">&quot;false&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;parameter</span> <span style="color: #000066;">index</span>=<span style="color: #ff0000;">&quot;2&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span> <span style="color: #000066;">optional</span>=<span style="color: #ff0000;">&quot;false&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;parameter</span> <span style="color: #000066;">index</span>=<span style="color: #ff0000;">&quot;3&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;int&quot;</span> <span style="color: #000066;">optional</span>=<span style="color: #ff0000;">&quot;true&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/method<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;method</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;getNumberAttribute&quot;</span> <span style="color: #000066;">declaredBy</span>=<span style="color: #ff0000;">&quot;XMLUtil&quot;</span> <span style="color: #000066;">returnType</span>=<span style="color: #ff0000;">&quot;Number&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;parameter</span> <span style="color: #000066;">index</span>=<span style="color: #ff0000;">&quot;1&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;XML&quot;</span> <span style="color: #000066;">optional</span>=<span style="color: #ff0000;">&quot;false&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;parameter</span> <span style="color: #000066;">index</span>=<span style="color: #ff0000;">&quot;2&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span> <span style="color: #000066;">optional</span>=<span style="color: #ff0000;">&quot;false&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;parameter</span> <span style="color: #000066;">index</span>=<span style="color: #ff0000;">&quot;3&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;Number&quot;</span> <span style="color: #000066;">optional</span>=<span style="color: #ff0000;">&quot;true&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/method<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;method</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;getBoolAttribute&quot;</span> <span style="color: #000066;">declaredBy</span>=<span style="color: #ff0000;">&quot;XMLUtil&quot;</span> <span style="color: #000066;">returnType</span>=<span style="color: #ff0000;">&quot;Boolean&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;parameter</span> <span style="color: #000066;">index</span>=<span style="color: #ff0000;">&quot;1&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;XML&quot;</span> <span style="color: #000066;">optional</span>=<span style="color: #ff0000;">&quot;false&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;parameter</span> <span style="color: #000066;">index</span>=<span style="color: #ff0000;">&quot;2&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span> <span style="color: #000066;">optional</span>=<span style="color: #ff0000;">&quot;false&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;parameter</span> <span style="color: #000066;">index</span>=<span style="color: #ff0000;">&quot;3&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;Boolean&quot;</span> <span style="color: #000066;">optional</span>=<span style="color: #ff0000;">&quot;true&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/method<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;method</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;getStringAttribute&quot;</span> <span style="color: #000066;">declaredBy</span>=<span style="color: #ff0000;">&quot;XMLUtil&quot;</span> <span style="color: #000066;">returnType</span>=<span style="color: #ff0000;">&quot;String&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;parameter</span> <span style="color: #000066;">index</span>=<span style="color: #ff0000;">&quot;1&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;XML&quot;</span> <span style="color: #000066;">optional</span>=<span style="color: #ff0000;">&quot;false&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;parameter</span> <span style="color: #000066;">index</span>=<span style="color: #ff0000;">&quot;2&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span> <span style="color: #000066;">optional</span>=<span style="color: #ff0000;">&quot;false&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;parameter</span> <span style="color: #000066;">index</span>=<span style="color: #ff0000;">&quot;3&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;String&quot;</span> <span style="color: #000066;">optional</span>=<span style="color: #ff0000;">&quot;true&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/method<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;factory</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;XMLUtil&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;extendsClass</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;Object&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/factory<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/type<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></div></div>

<p>So I had to rename my class to <code>de.superclass.util.XMLUtil<b>s</b></code>.</p>
<p><b>You might run into the same problems when using <code>mx.utils.XMLUtil</code> (Flex Framework) or <code>com.adobe.utils.XMLUtil</code> (AS3CoreLib) but I didn&#8217;t test it!</b></p>
<p><strong>UPDATE:</strong><br />
I found <code>XMLUtil</code> classes in<br />
<em>Adobe Flash CS5/Common/Configuration/ActionScript 3.0/libs/ik.swc</em> and<br />
<em>Adobe Flash CS5/Common/Configuration/ActionScript 3.0/libs/PffLib.swc</em></p>
<p><b>Removing the <em>$(AppConfig)/ActionScript 3.0/libs</em> directory within the ActionScript export settings avoids the problem. But I have no time to test if this directory is necessary. If you run into problems please leave me a comment!</b></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.derraab.com/2010/05/18/undocumented-xmlutil-class-in-adobe-flash-cs5/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Aligning Flash TextField instances visually correct</title>
		<link>http://blog.derraab.com/2010/05/16/aligning-flash-textfield-instances-visually-correct/</link>
		<comments>http://blog.derraab.com/2010/05/16/aligning-flash-textfield-instances-visually-correct/#comments</comments>
		<pubDate>Sun, 16 May 2010 01:44:12 +0000</pubDate>
		<dc:creator>derRaab</dc:creator>
				<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[AIR]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flash in Browser]]></category>
		<category><![CDATA[Flash Player]]></category>
		<category><![CDATA[Flex]]></category>

		<guid isPermaLink="false">http://blog.derraab.com/?p=270</guid>
		<description><![CDATA[I was looking for an easy way to align TextField instances with different font sizes visually correct. I really thought this wouldn&#8217;t take much time but it turned out to become really frustrating. So think about a simple scenario: Try &#8230; <a href="http://blog.derraab.com/2010/05/16/aligning-flash-textfield-instances-visually-correct/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I was looking for an easy way to align <code>TextField</code> instances with different font sizes visually correct. I really thought this wouldn&#8217;t take much time but it turned out to become really frustrating.</p>
<p>So think about a simple scenario: Try to align two <code>TextField</code> instances with different font sizes side by side. If you just set the <code>TextField.y</code> property to the same value you will recognise that different font sizes have different top margins. Well, you might fix that by hand if you have a static layout but what if you don&#8217;t know what kind of Text will be displayed? In my case I needed to align text always on top with the same margin regardless of the headline font size.</p>
<p>I tried hard to get this done by using different methods provided by the <code>TextField</code> class. Then I tried to work with the <code>TextLineMetrics</code> class as well. Nothing worked properly for me. I needed to work with CSS formatted HTML text so I was looking for a <code>margin-top</code> style or something similar. Not available. Hm.</p>
<p>Then I remembered my solution about finding the alpha bounds within external loaded PNG files and used that. Well, the main downside is that I need to create a <code>BitmapData</code> instance to determine the exact text bounds but otherwise it worked out very well.</p>
<p>It all comes down to two simple methods that will slip into my library. At the end you will receive a rectangle representing the bounds on the <code>TextField</code> instance.</p>
<p>If you know a different way to obtain the same exact result please leave me a comment!</p>
<p>Here&#8217;s my solution:</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">function</span> getDisplayObjectAlphaBounds<span style="color: #66cc66;">&#40;</span> displayObject : DisplayObject, <span style="color: #0066CC;">smoothing</span> : <span style="color: #0066CC;">Boolean</span> = <span style="color: #000000; font-weight: bold;">true</span> <span style="color: #66cc66;">&#41;</span> : Rectangle
<span style="color: #66cc66;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">var</span> bitmapData : BitmapData = <span style="color: #000000; font-weight: bold;">new</span> BitmapData<span style="color: #66cc66;">&#40;</span> displayObject.<span style="color: #0066CC;">width</span>, displayObject.<span style="color: #0066CC;">height</span>, <span style="color: #000000; font-weight: bold;">true</span>, <span style="color: #cc66cc;">0</span> <span style="color: #66cc66;">&#41;</span>;
        bitmapData.<span style="color: #006600;">draw</span><span style="color: #66cc66;">&#40;</span> displayObject, <span style="color: #000000; font-weight: bold;">null</span>, <span style="color: #000000; font-weight: bold;">null</span>, <span style="color: #000000; font-weight: bold;">null</span>, <span style="color: #000000; font-weight: bold;">null</span>, <span style="color: #0066CC;">smoothing</span> <span style="color: #66cc66;">&#41;</span>;
&nbsp;
    <span style="color: #000000; font-weight: bold;">var</span> alphaBounds : Rectangle = bitmapData.<span style="color: #006600;">getColorBoundsRect</span><span style="color: #66cc66;">&#40;</span> 0x01000000, 0x01000000 <span style="color: #66cc66;">&#41;</span>;
&nbsp;
    bitmapData.<span style="color: #006600;">dispose</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
    <span style="color: #b1b100;">return</span> alphaBounds;
<span style="color: #66cc66;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> getTextFieldTextBounds<span style="color: #66cc66;">&#40;</span> <span style="color: #0066CC;">textField</span> : <span style="color: #0066CC;">TextField</span>, <span style="color: #0066CC;">smoothing</span> : <span style="color: #0066CC;">Boolean</span> = <span style="color: #000000; font-weight: bold;">true</span> <span style="color: #66cc66;">&#41;</span> : Rectangle
<span style="color: #66cc66;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">var</span> <span style="color: #0066CC;">background</span> : <span style="color: #0066CC;">Boolean</span> = <span style="color: #0066CC;">textField</span>.<span style="color: #0066CC;">background</span>;
    <span style="color: #000000; font-weight: bold;">var</span> <span style="color: #0066CC;">backgroundColor</span> : uint = <span style="color: #0066CC;">textField</span>.<span style="color: #0066CC;">backgroundColor</span>;
    <span style="color: #000000; font-weight: bold;">var</span> <span style="color: #0066CC;">border</span> : <span style="color: #0066CC;">Boolean</span> = <span style="color: #0066CC;">textField</span>.<span style="color: #0066CC;">border</span>;
    <span style="color: #000000; font-weight: bold;">var</span> <span style="color: #0066CC;">borderColor</span> : uint = <span style="color: #0066CC;">textField</span>.<span style="color: #0066CC;">borderColor</span>;
    <span style="color: #000000; font-weight: bold;">var</span> opaqueBackground : <span style="color: #0066CC;">Object</span> = <span style="color: #0066CC;">textField</span>.<span style="color: #006600;">opaqueBackground</span>;
&nbsp;
    <span style="color: #0066CC;">textField</span>.<span style="color: #0066CC;">background</span> = <span style="color: #000000; font-weight: bold;">false</span>;
    <span style="color: #0066CC;">textField</span>.<span style="color: #0066CC;">border</span> = <span style="color: #000000; font-weight: bold;">false</span>;
    opaqueBackground = <span style="color: #000000; font-weight: bold;">null</span>;
&nbsp;
    <span style="color: #000000; font-weight: bold;">var</span> textBounds : Rectangle = getDisplayObjectAlphaBounds<span style="color: #66cc66;">&#40;</span> <span style="color: #0066CC;">textField</span>, <span style="color: #0066CC;">smoothing</span> <span style="color: #66cc66;">&#41;</span>;
&nbsp;
    <span style="color: #0066CC;">textField</span>.<span style="color: #0066CC;">background</span> = <span style="color: #0066CC;">background</span>;
    <span style="color: #0066CC;">textField</span>.<span style="color: #0066CC;">backgroundColor</span> = <span style="color: #0066CC;">backgroundColor</span>;
    <span style="color: #0066CC;">textField</span>.<span style="color: #0066CC;">border</span> = <span style="color: #0066CC;">border</span>;
    <span style="color: #0066CC;">textField</span>.<span style="color: #0066CC;">borderColor</span> = <span style="color: #0066CC;">borderColor</span>;
    <span style="color: #0066CC;">textField</span>.<span style="color: #006600;">opaqueBackground</span> = opaqueBackground;
&nbsp;
    <span style="color: #b1b100;">return</span> textBounds;
<span style="color: #66cc66;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">var</span> <span style="color: #0066CC;">textFormat</span> : <span style="color: #0066CC;">TextFormat</span> = <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #0066CC;">TextFormat</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
    <span style="color: #0066CC;">textFormat</span>.<span style="color: #0066CC;">align</span> = TextFormatAlign.<span style="color: #006600;">CENTER</span>;
    <span style="color: #0066CC;">textFormat</span>.<span style="color: #0066CC;">color</span> = 0x0000FF;
    <span style="color: #0066CC;">textFormat</span>.<span style="color: #0066CC;">font</span> = <span style="color: #ff0000;">&quot;Arial&quot;</span>;
    <span style="color: #0066CC;">textFormat</span>.<span style="color: #0066CC;">size</span> = <span style="color: #cc66cc;">30</span>;
&nbsp;
<span style="color: #000000; font-weight: bold;">var</span> <span style="color: #0066CC;">textField</span> : <span style="color: #0066CC;">TextField</span> = <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #0066CC;">TextField</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
    <span style="color: #0066CC;">textField</span>.<span style="color: #0066CC;">border</span> = <span style="color: #000000; font-weight: bold;">true</span>;
    <span style="color: #0066CC;">textField</span>.<span style="color: #0066CC;">borderColor</span> = 0x0000FF;
    <span style="color: #0066CC;">textField</span>.<span style="color: #0066CC;">background</span> = <span style="color: #000000; font-weight: bold;">true</span>;
    <span style="color: #0066CC;">textField</span>.<span style="color: #0066CC;">backgroundColor</span> = 0x000022;
    <span style="color: #0066CC;">textField</span>.<span style="color: #006600;">defaultTextFormat</span> = <span style="color: #0066CC;">textFormat</span>;
    <span style="color: #0066CC;">textField</span>.<span style="color: #0066CC;">height</span> = <span style="color: #cc66cc;">260</span>;
    <span style="color: #0066CC;">textField</span>.<span style="color: #0066CC;">text</span> = <span style="color: #ff0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>This text<span style="color: #000099; font-weight: bold;">\n</span>can be<span style="color: #000099; font-weight: bold;">\n</span>aligned<span style="color: #000099; font-weight: bold;">\n</span>properly!&quot;</span>;
    <span style="color: #0066CC;">textField</span>.<span style="color: #0066CC;">width</span> = <span style="color: #cc66cc;">300</span>;
    <span style="color: #0066CC;">textField</span>.<span style="color: #006600;">x</span> = <span style="color: #cc66cc;">30</span>;
    <span style="color: #0066CC;">textField</span>.<span style="color: #006600;">y</span> = <span style="color: #cc66cc;">30</span>;
&nbsp;
addChild<span style="color: #66cc66;">&#40;</span> <span style="color: #0066CC;">textField</span> <span style="color: #66cc66;">&#41;</span>;
&nbsp;
<span style="color: #808080; font-style: italic;">// Get bounds</span>
<span style="color: #000000; font-weight: bold;">var</span> textBounds : Rectangle = getTextFieldTextBounds<span style="color: #66cc66;">&#40;</span> <span style="color: #0066CC;">textField</span> <span style="color: #66cc66;">&#41;</span>;
&nbsp;
<span style="color: #808080; font-style: italic;">// Draw bounds</span>
<span style="color: #000000; font-weight: bold;">var</span> shape : Shape = <span style="color: #000000; font-weight: bold;">new</span> Shape<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
    shape.<span style="color: #006600;">x</span> = <span style="color: #0066CC;">textField</span>.<span style="color: #006600;">x</span>;
    shape.<span style="color: #006600;">y</span> = <span style="color: #0066CC;">textField</span>.<span style="color: #006600;">y</span>;
&nbsp;
<span style="color: #000000; font-weight: bold;">var</span> g : Graphics = shape.<span style="color: #006600;">graphics</span>;
    g.<span style="color: #0066CC;">lineStyle</span><span style="color: #66cc66;">&#40;</span> <span style="color: #cc66cc;">1</span>, 0x00FFFF <span style="color: #66cc66;">&#41;</span>;
    g.<span style="color: #006600;">drawRect</span><span style="color: #66cc66;">&#40;</span> textBounds.<span style="color: #006600;">x</span>, textBounds.<span style="color: #006600;">y</span>, textBounds.<span style="color: #0066CC;">width</span>, textBounds.<span style="color: #0066CC;">height</span> <span style="color: #66cc66;">&#41;</span>;
&nbsp;
addChild<span style="color: #66cc66;">&#40;</span> shape <span style="color: #66cc66;">&#41;</span>;</pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://blog.derraab.com/2010/05/16/aligning-flash-textfield-instances-visually-correct/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>FFK10 &#8211; Flashforum conference notes</title>
		<link>http://blog.derraab.com/2010/04/20/ffk10-flashforum-conference-notes/</link>
		<comments>http://blog.derraab.com/2010/04/20/ffk10-flashforum-conference-notes/#comments</comments>
		<pubDate>Tue, 20 Apr 2010 12:59:10 +0000</pubDate>
		<dc:creator>derRaab</dc:creator>
				<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[AIR]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flash in Browser]]></category>
		<category><![CDATA[Flash Player]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[How To...]]></category>
		<category><![CDATA[iPhone / iPad]]></category>
		<category><![CDATA[Librarys]]></category>
		<category><![CDATA[Utils]]></category>

		<guid isPermaLink="false">http://blog.derraab.com/?p=207</guid>
		<description><![CDATA[Every year I spend two days sitting in the audience of the Flashforum conference (FFK) listening to great speakers and getting impressed by their experiments and thoughts. It&#8217;s also a good way to renew some of the basic knowledge in &#8230; <a href="http://blog.derraab.com/2010/04/20/ffk10-flashforum-conference-notes/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Every year I spend two days sitting in the audience of the Flashforum conference (FFK) listening to great speakers and getting impressed by their experiments and thoughts. It&#8217;s also a good way to renew some of the basic knowledge in Flash development and of course to meet some friends in the Flash scene.</p>
<p>So this are most of my notes:</p>
<p><strong>Flash / Flex development:</strong></p>
<ul>
<li>
Jessee Freemans <a href="http://flaremulator.flashartofwar.com/">Flash Augmented Reality Debug Tool</a> provides an easy way to start with augmented reality development.
</li>
<li>
Use stunning <a href="http://www.hypeframework.org/">Hype-Framework</a> effects.
</li>
<li>
Dive into dynamic sound generation with André Michelles <a href="http://files.andre-michelle.com/AudioSandbox.zip">Audio-Sandbox</a>.
</li>
<li>
Have a look at the <a href="http://pushbuttonengine.com/">PushButton-Engine</a> for component based development.
</li>
<li>
Remember that Flex 4 includes a lot of performance features! It&#8217;s highly recommended to switch as soon as possible. For example the Embed-tag reduces PNG file size and lots of improvements are made within the Flex components.
</li>
<li>
Watch the Adobe TV video preview: <a href="http://tv.adobe.com/watch/max-2009-develop/preview-flex-for-mobile-devices">Flex for mobile devices</a>
</li>
<li>
See Christian Cantrell&#8217;s blogpost <a href="http://blogs.adobe.com/cantrell/archives/2010/04/one_application_five_screens.html">One Application , Five Screens (Including the iPad)</a>
</li>
<li>
Great tip: <a href="http://www.bytearray.org/?p=290">ByteArray.org &#8211; Why cacheAsBitmap is bad</a>
</li>
<li>
Adobe&#8217;s <a href="http://help.adobe.com/en_US/as3/mobile/index.html">Mobile Development Guide for the Flash platform</a> (applies also to desktop applications) contains performance tips like:</p>
<ul>
<li>
<code>DisplayObject.width / height</code> should be divisible by 2 as often as possible
</li>
<li>
Try to avoid <code>Event</code>s and / or stop propagation as soon as possible
</li>
<li>
Set <code>DisplayObject.mouseEnabled=false</code> if possible
</li>
<li>
Stop <code>MovieClip</code> animations when removed from stage
</li>
<li>
Use <code>TextField.opaqueBackground=true</code> if possible
</li>
<li>
Use <code>final</code> statement (<code>final class ClassName {}</code>)
</li>
<li>
Use <code>BitmapData.get / setVector()</code>
</ul>
</li>
</ul>
<p><strong>HTML / JavaScript basics:</strong></p>
<ul>
<li>
Use &#8220;Sprites&#8221; with HTML / CSS (load only one bitmap graphic containing all the asset images for your page and show only the particular relevant parts) and preload next page assets using AJAX while your current page is idle.
</li>
<li>
Since usually only 2 simultaneous domain http requests are supported by browsers it&#8217;s a good practice to distribute contents from various ip addresses (use asset-servers for example).
</li>
<li>
Load only visible parts of your site using JavaScript viewport events.
</li>
</ul>
<p><strong>Useful workflow utils:</strong></p>
<ul>
<li>
<a href="http://www.subversion-server.com/">Subversion Server</a> &#8211; Hosting
</li>
<li>
<a href="http://www.omnigroup.com/products/omnifocus/">Omni Focus</a> &#8211; Personal task management
</li>
<li>
<a href="http://en.wikipedia.org/wiki/Planning_poker">Planning Poker</a> &#8211; Consensus-based estimation technique for estimating
</li>
<li>
<a href="http://www.pivotaltracker.com/">Pivotal Tracker</a> &#8211; Agile project management tool
</li>
<li>
<a href="http://www.ideo.com/news/method-card-iphone-application/">IDEO Method Cards</a> &#8211; iPhone application
</li>
<li>
<a href="http://basecamphq.com/">Basecamp</a> &#8211; Get projects done
</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.derraab.com/2010/04/20/ffk10-flashforum-conference-notes/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Flash Player Security</title>
		<link>http://blog.derraab.com/2010/03/30/flash-player-security/</link>
		<comments>http://blog.derraab.com/2010/03/30/flash-player-security/#comments</comments>
		<pubDate>Tue, 30 Mar 2010 07:53:31 +0000</pubDate>
		<dc:creator>derRaab</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flash in Browser]]></category>
		<category><![CDATA[Flash Player]]></category>

		<guid isPermaLink="false">http://blog.derraab.com/?p=158</guid>
		<description><![CDATA[Just some helpful links: Understanding the security changes in Flash Player 10 Policy file changes in Flash Player 9 and Flash Player 10]]></description>
			<content:encoded><![CDATA[<p>Just some helpful links:<br />
<a href="http://www.adobe.com/devnet/flashplayer/articles/fplayer10_security_changes.html">Understanding the security changes in Flash Player 10</a><br />
<a href="http://www.adobe.com/devnet/flashplayer/articles/fplayer9_security.html">Policy file changes in Flash Player 9 and Flash Player 10</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.derraab.com/2010/03/30/flash-player-security/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Flash and Amazon SimpleDB</title>
		<link>http://blog.derraab.com/2010/03/26/flash-an-amazon-simpledb/</link>
		<comments>http://blog.derraab.com/2010/03/26/flash-an-amazon-simpledb/#comments</comments>
		<pubDate>Fri, 26 Mar 2010 21:05:28 +0000</pubDate>
		<dc:creator>derRaab</dc:creator>
				<category><![CDATA[AIR]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flash in Browser]]></category>
		<category><![CDATA[Flash Player]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Librarys]]></category>
		<category><![CDATA[Server]]></category>

		<guid isPermaLink="false">http://blog.derraab.com/?p=146</guid>
		<description><![CDATA[I did some research about using Amazons SimpleDB service within a Flash based application and found these basic facts: http://sdb.amazonaws.com/crossdomain.xml is not available. This means no direct calls from Flash clients in browsers are possible! Even if it would be &#8230; <a href="http://blog.derraab.com/2010/03/26/flash-an-amazon-simpledb/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I did some research about using Amazons SimpleDB service within a Flash based application and found these basic facts:</p>
<ul>
<li>http://sdb.amazonaws.com/crossdomain.xml is not available. This means no direct calls from Flash clients in browsers are possible!</li>
<li>Even if it would be possible some day, you would need to find a secure way to deliver your AWS key to the Flash client.</li>
<li>Using a web proxy is a solution that would cause a lot of traffic on your server.</li>
</ul>
<p>So using Amazons SimpleDB for browser based Flash applications makes not much sense to me.<br />
It might be more useful for Flash applications running on local machines like Flash projectors or Adobe AIR applications but there is still a security problem with hiding your AWS key.</p>
<p>Anyway, I found two ActionScript libraries that might be useful:<br />
<a href="http://code.google.com/p/actionscript-simpledb-library/">http://code.google.com/p/actionscript-simpledb-library/</a><br />
<a href="http://developer.amazonwebservices.com/connect/entry.jspa?externalID=1365">http://developer.amazonwebservices.com/connect/entry.jspa?externalID=1365</a></p>
<p>And this thread in Amazons discussion forums:<br />
<a href="http://developer.amazonwebservices.com/connect/thread.jspa?threadID=19698">http://developer.amazonwebservices.com/connect/thread.jspa?threadID=19698</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.derraab.com/2010/03/26/flash-an-amazon-simpledb/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>URLRequest with HTTP authentication</title>
		<link>http://blog.derraab.com/2010/02/25/urlrequest-with-http-authentication/</link>
		<comments>http://blog.derraab.com/2010/02/25/urlrequest-with-http-authentication/#comments</comments>
		<pubDate>Thu, 25 Feb 2010 12:14:26 +0000</pubDate>
		<dc:creator>derRaab</dc:creator>
				<category><![CDATA[AIR]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flash in Browser]]></category>
		<category><![CDATA[Flash Player]]></category>
		<category><![CDATA[How To...]]></category>

		<guid isPermaLink="false">http://blog.derraab.com/?p=123</guid>
		<description><![CDATA[I found a good explanation how to support HTTP authentication with URLRequests here. That&#8217;s the most interesting part: Best I can tell, for some reason, this only works where request method is POST; the headers don&#8217;t get set with GET &#8230; <a href="http://blog.derraab.com/2010/02/25/urlrequest-with-http-authentication/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I found a good explanation how to support HTTP authentication with URLRequests <a href="http://stackoverflow.com/questions/509219/flex-3-how-to-support-http-authentication-urlrequest">here</a>.</p>
<p>That&#8217;s the most interesting part:</p>
<blockquote><p>
Best I can tell, for some reason, this only works where request method is POST; the headers don&#8217;t get set with GET requests.</p>
<p>Interestingly, it also fails unless at least one URLVariables name-value pair gets packaged with the request, as indicated above. That&#8217;s why many of the examples you see out there (including mine) attach &#8220;name=John+Doe&#8221; &#8212; it&#8217;s just a placeholder for some data that URLRequest seems to require when setting any custom HTTP headers. Without it, even a properly authenticated POST request will also fail.</p>
<p>You&#8217;ll almost surely have to modify your crossdomain.xml file to accommodate the header(s) you&#8217;re going to be sending. In my case, I&#8217;m using this, which is a rather wide-open policy file in that it accepts from any domain, so in your case, you might want to limit things a bit more, depending on how security-conscious you are:</p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;?xml</span> <span style="color: #000066;">version</span>=<span style="color: #ff0000;">&quot;1.0&quot;</span><span style="color: #000000; font-weight: bold;">?&gt;</span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;cross-domain-policy<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;allow-access-from</span> <span style="color: #000066;">domain</span>=<span style="color: #ff0000;">&quot;*&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;allow-http-request-headers-from</span> <span style="color: #000066;">domain</span>=<span style="color: #ff0000;">&quot;*&quot;</span> <span style="color: #000066;">headers</span>=<span style="color: #ff0000;">&quot;Authorization&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/cross-domain-policy<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></div></div>

<p>&#8230; and that seems to work; more information on this one is available from Adobe <a href="http://kb2.adobe.com/cps/403/kb403185.html">here</a>).</p>
<p>Apparently, Flash player version 9.0.115.0 completely blocks all Authorization headers (more information on this one <a href="http://kb2.adobe.com/cps/403/kb403184.html">here</a>), so you&#8217;ll probably want to keep that in mind, too.
</p></blockquote>
<p>So this little code snippet explains the basics:</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #808080; font-style: italic;">// Base64Encoder contained in Flex SDK</span>
<span style="color: #0066CC;">import</span> mx.<span style="color: #006600;">utils</span>.<span style="color: #006600;">Base64Encoder</span>;
&nbsp;
<span style="color: #808080; font-style: italic;">// Encode username and password</span>
<span style="color: #000000; font-weight: bold;">var</span> base64Encoder : Base64Encoder = <span style="color: #000000; font-weight: bold;">new</span> Base64Encoder<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;        
    base64Encoder.<span style="color: #006600;">encode</span><span style="color: #66cc66;">&#40;</span> <span style="color: #ff0000;">&quot;username:password&quot;</span> <span style="color: #66cc66;">&#41;</span>;
&nbsp;
<span style="color: #808080; font-style: italic;">// Create authorization request header</span>
<span style="color: #000000; font-weight: bold;">var</span> urlRequestHeader : URLRequestHeader = <span style="color: #000000; font-weight: bold;">new</span> URLRequestHeader<span style="color: #66cc66;">&#40;</span> <span style="color: #ff0000;">&quot;Authorization&quot;</span>, <span style="color: #ff0000;">&quot;Basic &quot;</span> + base64Encoder.<span style="color: #0066CC;">toString</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#41;</span>;
&nbsp;
<span style="color: #808080; font-style: italic;">// URLRequest setup</span>
<span style="color: #000000; font-weight: bold;">var</span> urlRequest : URLRequest = <span style="color: #000000; font-weight: bold;">new</span> URLRequest<span style="color: #66cc66;">&#40;</span> <span style="color: #ff0000;">&quot;url&quot;</span> <span style="color: #66cc66;">&#41;</span>;        
    <span style="color: #808080; font-style: italic;">// Needs to send some data!!        </span>
    urlRequest.<span style="color: #0066CC;">data</span> = <span style="color: #000000; font-weight: bold;">new</span> URLVariables<span style="color: #66cc66;">&#40;</span> <span style="color: #ff0000;">&quot;name=John+Doe&quot;</span> <span style="color: #66cc66;">&#41;</span>;        
    <span style="color: #808080; font-style: italic;">// Only supported with POST method!!        </span>
    urlRequest.<span style="color: #006600;">method</span> = URLRequestMethod.<span style="color: #006600;">POST</span>;        
    <span style="color: #808080; font-style: italic;">// Apply authorization request header        </span>
    urlRequest.<span style="color: #006600;">requestHeaders</span> = <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #0066CC;">Array</span><span style="color: #66cc66;">&#40;</span> urlRequestHeader <span style="color: #66cc66;">&#41;</span>;</pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://blog.derraab.com/2010/02/25/urlrequest-with-http-authentication/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

