/examples/KMLParser/bin-release/srcview/source/com/adobe/xml/syndication/ParsingTools.as.html

http://gmaps-utility-library-flash.googlecode.com/ · HTML · 187 lines · 172 code · 14 blank · 1 comment · 0 complexity · 0e8ebe9522f262f5c574c1ef5cd5e194 MD5 · raw file

  1. <!-- saved from url=(0014)about:internet -->
  2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4. <head>
  5. <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
  6. <title>ParsingTools.as</title>
  7. <link rel="stylesheet" type="text/css" href="../../../../../SourceStyles.css"/>
  8. </head>
  9. <body><pre><span class="ActionScriptComment">/*
  10. Adobe Systems Incorporated(r) Source Code License Agreement
  11. Copyright(c) 2005 Adobe Systems Incorporated. All rights reserved.
  12. Please read this Source Code License Agreement carefully before using
  13. the source code.
  14. Adobe Systems Incorporated grants to you a perpetual, worldwide, non-exclusive,
  15. no-charge, royalty-free, irrevocable copyright license, to reproduce,
  16. prepare derivative works of, publicly display, publicly perform, and
  17. distribute this source code and such derivative works in source or
  18. object code form without any attribution requirements.
  19. The name &quot;Adobe Systems Incorporated&quot; must not be used to endorse or promote products
  20. derived from the source code without prior written permission.
  21. You agree to indemnify, hold harmless and defend Adobe Systems Incorporated from and
  22. against any loss, damage, claims or lawsuits, including attorney&apos;s
  23. fees that arise or result from your use or distribution of the source
  24. code.
  25. THIS SOURCE CODE IS PROVIDED &quot;AS IS&quot; AND &quot;WITH ALL FAULTS&quot;, WITHOUT
  26. ANY TECHNICAL SUPPORT OR ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING,
  27. BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
  28. FOR A PARTICULAR PURPOSE ARE DISCLAIMED. ALSO, THERE IS NO WARRANTY OF
  29. NON-INFRINGEMENT, TITLE OR QUIET ENJOYMENT. IN NO EVENT SHALL MACROMEDIA
  30. OR ITS SUPPLIERS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
  31. EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
  32. PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
  33. OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
  34. WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
  35. OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOURCE CODE, EVEN IF
  36. ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  37. */</span>
  38. <span class="ActionScriptpackage">package</span> <span class="ActionScriptDefault_Text">com</span>.<span class="ActionScriptDefault_Text">adobe</span>.<span class="ActionScriptDefault_Text">xml</span>.<span class="ActionScriptDefault_Text">syndication</span>
  39. <span class="ActionScriptBracket/Brace">{</span>
  40. <span class="ActionScriptReserved">import</span> <span class="ActionScriptDefault_Text">com</span>.<span class="ActionScriptDefault_Text">adobe</span>.<span class="ActionScriptDefault_Text">xml</span>.<span class="ActionScriptDefault_Text">syndication</span>.<span class="ActionScriptDefault_Text">rss</span>.<span class="ActionScriptDefault_Text">Category</span>;
  41. <span class="ActionScriptReserved">import</span> <span class="ActionScriptDefault_Text">com</span>.<span class="ActionScriptDefault_Text">adobe</span>.<span class="ActionScriptDefault_Text">xml</span>.<span class="ActionScriptDefault_Text">syndication</span>.<span class="ActionScriptDefault_Text">generic</span>.<span class="ActionScriptDefault_Text">Geo</span>;
  42. <span class="ActionScriptReserved">import</span> <span class="ActionScriptDefault_Text">com</span>.<span class="ActionScriptDefault_Text">adobe</span>.<span class="ActionScriptDefault_Text">xml</span>.<span class="ActionScriptDefault_Text">syndication</span>.<span class="ActionScriptDefault_Text">generic</span>.<span class="ActionScriptDefault_Text">LatLng</span>;
  43. <span class="ActionScriptReserved">import</span> <span class="ActionScriptDefault_Text">mx</span>.<span class="ActionScriptDefault_Text">utils</span>.<span class="ActionScriptDefault_Text">StringUtil</span>;
  44. <span class="ActionScriptASDoc">/**
  45. * Utility class with functions to help parse RSS and Atom feeds.
  46. *
  47. * @langversion ActionScript 3.0
  48. * @playerversion Flash 8.5
  49. * @tiptext
  50. */</span>
  51. <span class="ActionScriptReserved">public</span> <span class="ActionScriptclass">class</span> <span class="ActionScriptDefault_Text">ParsingTools</span>
  52. <span class="ActionScriptBracket/Brace">{</span>
  53. <span class="ActionScriptASDoc">/**
  54. * Checks to see if a piece of XML that should be a string is empty.
  55. * If so, returns null.
  56. *
  57. * @param x The piece of XML to test.
  58. * @return null if the string is emply, otherwise the value of the XML
  59. * node.
  60. *
  61. * @langversion ActionScript 3.0
  62. * @playerversion Flash 8.5
  63. * @tiptext
  64. */</span>
  65. <span class="ActionScriptReserved">public</span> <span class="ActionScriptReserved">static</span> <span class="ActionScriptfunction">function</span> <span class="ActionScriptDefault_Text">nullCheck</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">x</span><span class="ActionScriptOperator">:</span><span class="ActionScriptDefault_Text">XMLList</span><span class="ActionScriptBracket/Brace">)</span><span class="ActionScriptOperator">:</span><span class="ActionScriptDefault_Text">String</span>
  66. <span class="ActionScriptBracket/Brace">{</span>
  67. <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">s</span><span class="ActionScriptOperator">:</span><span class="ActionScriptDefault_Text">String</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">String</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">x</span><span class="ActionScriptBracket/Brace">)</span>;
  68. <span class="ActionScriptReserved">if</span> <span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">StringUtil</span>.<span class="ActionScriptDefault_Text">trim</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">s</span><span class="ActionScriptBracket/Brace">)</span>.<span class="ActionScriptDefault_Text">length</span> <span class="ActionScriptOperator">==</span> 0<span class="ActionScriptBracket/Brace">)</span>
  69. <span class="ActionScriptBracket/Brace">{</span>
  70. <span class="ActionScriptReserved">return</span> <span class="ActionScriptReserved">null</span>;
  71. <span class="ActionScriptBracket/Brace">}</span>
  72. <span class="ActionScriptReserved">return</span> <span class="ActionScriptDefault_Text">s</span>;
  73. <span class="ActionScriptBracket/Brace">}</span>
  74. <span class="ActionScriptASDoc">/**
  75. * Checks to see if a piece of XML that should be a number is empty.
  76. * If so, returns NaN.
  77. *
  78. * @param x The piece of XML to test.
  79. * @return null if the number is emply, otherwise the value of the XML
  80. * node.
  81. *
  82. * @langversion ActionScript 3.0
  83. * @playerversion Flash 8.5
  84. * @tiptext
  85. */</span>
  86. <span class="ActionScriptReserved">public</span> <span class="ActionScriptReserved">static</span> <span class="ActionScriptfunction">function</span> <span class="ActionScriptDefault_Text">nanCheck</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">x</span><span class="ActionScriptOperator">:</span><span class="ActionScriptDefault_Text">XMLList</span><span class="ActionScriptBracket/Brace">)</span><span class="ActionScriptOperator">:</span><span class="ActionScriptDefault_Text">Number</span>
  87. <span class="ActionScriptBracket/Brace">{</span>
  88. <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">s</span><span class="ActionScriptOperator">:</span><span class="ActionScriptDefault_Text">String</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">String</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">x</span><span class="ActionScriptBracket/Brace">)</span>;
  89. <span class="ActionScriptReserved">if</span> <span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">ParsingTools</span>.<span class="ActionScriptDefault_Text">nullCheck</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">x</span><span class="ActionScriptBracket/Brace">)</span> <span class="ActionScriptOperator">==</span> <span class="ActionScriptReserved">null</span> <span class="ActionScriptOperator">||</span> <span class="ActionScriptDefault_Text">s</span>.<span class="ActionScriptDefault_Text">search</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptOperator">/</span><span class="ActionScriptDefault_Text">\d</span><span class="ActionScriptOperator">/</span><span class="ActionScriptBracket/Brace">)</span> <span class="ActionScriptOperator">==</span> <span class="ActionScriptOperator">-</span>1<span class="ActionScriptBracket/Brace">)</span>
  90. <span class="ActionScriptBracket/Brace">{</span>
  91. <span class="ActionScriptReserved">return</span> <span class="ActionScriptDefault_Text">NaN</span>;
  92. <span class="ActionScriptBracket/Brace">}</span>
  93. <span class="ActionScriptReserved">return</span> <span class="ActionScriptDefault_Text">Number</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">s</span><span class="ActionScriptBracket/Brace">)</span>;
  94. <span class="ActionScriptBracket/Brace">}</span>
  95. <span class="ActionScriptASDoc">/**
  96. * Checks to see if a piece of XML that should be a date is empty.
  97. * If so, returns null. If not, parses the string into a date using
  98. * the specifid date parsing function.
  99. *
  100. * @param x The piece of XML to test.
  101. * @param f The date parsing function to use to parse the string if
  102. * it&apos;s not null.
  103. * @return null if the date is emply, otherwise a date object created
  104. * using the specified date-parsing function.
  105. *
  106. * @langversion ActionScript 3.0
  107. * @playerversion Flash 8.5
  108. * @tiptext
  109. */</span>
  110. <span class="ActionScriptReserved">public</span> <span class="ActionScriptReserved">static</span> <span class="ActionScriptfunction">function</span> <span class="ActionScriptDefault_Text">dateCheck</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">x</span><span class="ActionScriptOperator">:</span><span class="ActionScriptDefault_Text">XMLList</span>, <span class="ActionScriptDefault_Text">f</span><span class="ActionScriptOperator">:</span><span class="ActionScriptDefault_Text">Function</span><span class="ActionScriptBracket/Brace">)</span><span class="ActionScriptOperator">:</span><span class="ActionScriptDefault_Text">Date</span>
  111. <span class="ActionScriptBracket/Brace">{</span>
  112. <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">s</span><span class="ActionScriptOperator">:</span><span class="ActionScriptDefault_Text">String</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">String</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">x</span><span class="ActionScriptBracket/Brace">)</span>;
  113. <span class="ActionScriptReserved">if</span> <span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">ParsingTools</span>.<span class="ActionScriptDefault_Text">nullCheck</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">x</span><span class="ActionScriptBracket/Brace">)</span> <span class="ActionScriptOperator">==</span> <span class="ActionScriptReserved">null</span><span class="ActionScriptBracket/Brace">)</span>
  114. <span class="ActionScriptBracket/Brace">{</span>
  115. <span class="ActionScriptReserved">return</span> <span class="ActionScriptReserved">null</span>;
  116. <span class="ActionScriptBracket/Brace">}</span>
  117. <span class="ActionScriptReserved">return</span> <span class="ActionScriptDefault_Text">f</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">s</span><span class="ActionScriptBracket/Brace">)</span>;
  118. <span class="ActionScriptBracket/Brace">}</span>
  119. <span class="ActionScriptASDoc">/**
  120. * Checks to see if a piece of XML that should be a string represents
  121. * categories. If it&apos;s empty, return null. If not, parse the string
  122. * into an array of category objects.
  123. *
  124. * @param x The piece of XML to test.
  125. * @return null if the string is empty, otherwise an array of Category
  126. * objects.
  127. *
  128. * @langversion ActionScript 3.0
  129. * @playerversion Flash 8.5
  130. * @tiptext
  131. */</span>
  132. <span class="ActionScriptReserved">public</span> <span class="ActionScriptReserved">static</span> <span class="ActionScriptfunction">function</span> <span class="ActionScriptDefault_Text">xmlToCategories</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">x</span><span class="ActionScriptOperator">:</span><span class="ActionScriptDefault_Text">XMLList</span><span class="ActionScriptBracket/Brace">)</span><span class="ActionScriptOperator">:</span><span class="ActionScriptDefault_Text">Array</span>
  133. <span class="ActionScriptBracket/Brace">{</span>
  134. <span class="ActionScriptReserved">if</span> <span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">ParsingTools</span>.<span class="ActionScriptDefault_Text">nullCheck</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">x</span><span class="ActionScriptBracket/Brace">)</span> <span class="ActionScriptOperator">==</span> <span class="ActionScriptReserved">null</span><span class="ActionScriptBracket/Brace">)</span>
  135. <span class="ActionScriptBracket/Brace">{</span>
  136. <span class="ActionScriptReserved">return</span> <span class="ActionScriptReserved">null</span>;
  137. <span class="ActionScriptBracket/Brace">}</span>
  138. <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">categories</span><span class="ActionScriptOperator">:</span><span class="ActionScriptDefault_Text">Array</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptReserved">new</span> <span class="ActionScriptDefault_Text">Array</span><span class="ActionScriptBracket/Brace">()</span>;
  139. <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">c</span><span class="ActionScriptOperator">:</span><span class="ActionScriptDefault_Text">XML</span>;
  140. <span class="ActionScriptReserved">for</span> <span class="ActionScriptReserved">each</span> <span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">c</span> <span class="ActionScriptReserved">in</span> <span class="ActionScriptDefault_Text">x</span><span class="ActionScriptBracket/Brace">)</span>
  141. <span class="ActionScriptBracket/Brace">{</span>
  142. <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">cat</span><span class="ActionScriptOperator">:</span><span class="ActionScriptDefault_Text">Category</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptReserved">new</span> <span class="ActionScriptDefault_Text">Category</span><span class="ActionScriptBracket/Brace">()</span>;
  143. <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">domain</span><span class="ActionScriptOperator">:</span><span class="ActionScriptDefault_Text">String</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">String</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">c</span>.@<span class="ActionScriptDefault_Text">domain</span><span class="ActionScriptBracket/Brace">)</span>;
  144. <span class="ActionScriptReserved">if</span> <span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">StringUtil</span>.<span class="ActionScriptDefault_Text">trim</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">domain</span><span class="ActionScriptBracket/Brace">)</span>.<span class="ActionScriptDefault_Text">length</span> <span class="ActionScriptOperator">!=</span> 0<span class="ActionScriptBracket/Brace">)</span>
  145. <span class="ActionScriptBracket/Brace">{</span>
  146. <span class="ActionScriptDefault_Text">cat</span>.<span class="ActionScriptDefault_Text">domain</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">domain</span>;
  147. <span class="ActionScriptBracket/Brace">}</span>
  148. <span class="ActionScriptDefault_Text">cat</span>.<span class="ActionScriptDefault_Text">addPaths</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">String</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">c</span><span class="ActionScriptBracket/Brace">)</span>.<span class="ActionScriptDefault_Text">split</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptString">&quot;/&quot;</span><span class="ActionScriptBracket/Brace">))</span>;
  149. <span class="ActionScriptDefault_Text">categories</span>.<span class="ActionScriptDefault_Text">push</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">cat</span><span class="ActionScriptBracket/Brace">)</span>;
  150. <span class="ActionScriptBracket/Brace">}</span>
  151. <span class="ActionScriptReserved">return</span> <span class="ActionScriptDefault_Text">categories</span>;
  152. <span class="ActionScriptBracket/Brace">}</span>
  153. <span class="ActionScriptReserved">public</span> <span class="ActionScriptReserved">static</span> <span class="ActionScriptfunction">function</span> <span class="ActionScriptDefault_Text">xmlToGeo</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">x</span><span class="ActionScriptOperator">:</span><span class="ActionScriptDefault_Text">XMLList</span><span class="ActionScriptBracket/Brace">)</span><span class="ActionScriptOperator">:</span><span class="ActionScriptDefault_Text">Geo</span>
  154. <span class="ActionScriptBracket/Brace">{</span>
  155. <span class="ActionScriptReserved">if</span> <span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">ParsingTools</span>.<span class="ActionScriptDefault_Text">nullCheck</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">x</span><span class="ActionScriptBracket/Brace">)</span> <span class="ActionScriptOperator">==</span> <span class="ActionScriptReserved">null</span><span class="ActionScriptBracket/Brace">)</span>
  156. <span class="ActionScriptBracket/Brace">{</span>
  157. <span class="ActionScripttrace">trace</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptString">&apos;returning null&apos;</span><span class="ActionScriptBracket/Brace">)</span>;
  158. <span class="ActionScriptReserved">return</span> <span class="ActionScriptReserved">null</span>;
  159. <span class="ActionScriptBracket/Brace">}</span>
  160. <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">geo</span><span class="ActionScriptOperator">:</span><span class="ActionScriptDefault_Text">Geo</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptReserved">new</span> <span class="ActionScriptDefault_Text">Geo</span><span class="ActionScriptBracket/Brace">()</span>;
  161. <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">point</span><span class="ActionScriptOperator">:</span><span class="ActionScriptDefault_Text">String</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">String</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">x</span><span class="ActionScriptBracket/Brace">)</span>;
  162. <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">pointSplit</span><span class="ActionScriptOperator">:</span><span class="ActionScriptDefault_Text">Array</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">point</span>.<span class="ActionScriptDefault_Text">split</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptString">&quot; &quot;</span><span class="ActionScriptBracket/Brace">)</span>;
  163. <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">latitude</span><span class="ActionScriptOperator">:</span><span class="ActionScriptDefault_Text">Number</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptReserved">new</span> <span class="ActionScriptDefault_Text">Number</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">pointSplit</span><span class="ActionScriptBracket/Brace">[</span>0<span class="ActionScriptBracket/Brace">])</span>;
  164. <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">longitude</span><span class="ActionScriptOperator">:</span><span class="ActionScriptDefault_Text">Number</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptReserved">new</span> <span class="ActionScriptDefault_Text">Number</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">pointSplit</span><span class="ActionScriptBracket/Brace">[</span>1<span class="ActionScriptBracket/Brace">])</span>;
  165. <span class="ActionScriptDefault_Text">geo</span>.<span class="ActionScriptDefault_Text">point</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptReserved">new</span> <span class="ActionScriptDefault_Text">LatLng</span><span class="ActionScriptBracket/Brace">()</span>;
  166. <span class="ActionScriptDefault_Text">geo</span>.<span class="ActionScriptDefault_Text">point</span>.<span class="ActionScriptDefault_Text">latitude</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">latitude</span>;
  167. <span class="ActionScriptDefault_Text">geo</span>.<span class="ActionScriptDefault_Text">point</span>.<span class="ActionScriptDefault_Text">longitude</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">longitude</span>;
  168. <span class="ActionScriptReserved">return</span> <span class="ActionScriptDefault_Text">geo</span>;
  169. <span class="ActionScriptBracket/Brace">}</span>
  170. <span class="ActionScriptBracket/Brace">}</span>
  171. <span class="ActionScriptBracket/Brace">}</span>
  172. </pre></body>
  173. </html>