mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-01-17 10:19:55 +09:00
git-svn-id: http://xe-core.googlecode.com/svn/sandbox@3039 201d5d3c-b55e-5fd7-737f-ddc643e51545
112 lines
No EOL
30 KiB
HTML
112 lines
No EOL
30 KiB
HTML
<html><head><style>
|
|
.KEYW {color: #933;}
|
|
.COMM {color: #bbb; font-style: italic;}
|
|
.NUMB {color: #393;}
|
|
.STRN {color: #393;}
|
|
.REGX {color: #339;}
|
|
.linenumber {border-right: 1px dotted #666; color: #666; font-style: normal;}
|
|
</style></head><body><pre><span class='linenumber'> 1</span> <span class="COMM">/**
|
|
<span class='linenumber'> 2</span> * Validator for W3C Standard Engine
|
|
<span class='linenumber'> 3</span> */</span><span class="WHIT">
|
|
<span class='linenumber'> 4</span> </span><span class="NAME">xq.ValidatorW3</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">Class.create</span><span class="PUNC">(</span><span class="NAME">xq.Validator</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
<span class='linenumber'> 5</span> </span><span class="NAME">validate</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">element</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">fullValidation</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
<span class='linenumber'> 6</span> </span><span class="NAME">element</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">element.cloneNode</span><span class="PUNC">(</span><span class="KEYW">true</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 7</span>
|
|
<span class='linenumber'> 8</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">rdom</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">xq.RichDom.createInstance</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 9</span> </span><span class="NAME">rdom.setRoot</span><span class="PUNC">(</span><span class="NAME">element</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 10</span> </span><span class="NAME">rdom.removePlaceHoldersAndEmptyNodes</span><span class="PUNC">(</span><span class="NAME">element</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 11</span> </span><span class="NAME">this.removeDangerousElements</span><span class="PUNC">(</span><span class="NAME">element</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 12</span> </span><span class="NAME">this.validateFontColor</span><span class="PUNC">(</span><span class="NAME">element</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 13</span>
|
|
<span class='linenumber'> 14</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">content</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">element.innerHTML</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 15</span>
|
|
<span class='linenumber'> 16</span> </span><span class="KEYW">try</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
<span class='linenumber'> 17</span> </span><span class="NAME">content</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.replaceTag</span><span class="PUNC">(</span><span class="NAME">content</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"b"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"strong"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 18</span> </span><span class="NAME">content</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.replaceTag</span><span class="PUNC">(</span><span class="NAME">content</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"i"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"em"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 19</span>
|
|
<span class='linenumber'> 20</span> </span><span class="NAME">content</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.validateStrike</span><span class="PUNC">(</span><span class="NAME">content</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 21</span> </span><span class="NAME">content</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.validateUnderline</span><span class="PUNC">(</span><span class="NAME">content</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 22</span> </span><span class="NAME">content</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.addNbspToEmptyBlocks</span><span class="PUNC">(</span><span class="NAME">content</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 23</span>
|
|
<span class='linenumber'> 24</span> </span><span class="KEYW">if</span><span class="PUNC">(</span><span class="NAME">fullValidation</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="NAME">content</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.performFullValidation</span><span class="PUNC">(</span><span class="NAME">content</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 25</span> </span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">catch</span><span class="PUNC">(</span><span class="NAME">ignored</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="PUNC">}</span><span class="WHIT">
|
|
<span class='linenumber'> 26</span>
|
|
<span class='linenumber'> 27</span> </span><span class="COMM">// insert newline between block-tags</span><span class="WHIT">
|
|
<span class='linenumber'> 28</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">blocks</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">rdom.tree.getBlockTags</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">join</span><span class="PUNC">(</span><span class="STRN">"|"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 29</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">regex</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">RegExp</span><span class="PUNC">(</span><span class="STRN">"</("</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">blocks</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">")>([^\n])"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"img"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 30</span> </span><span class="NAME">content</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">content.replace</span><span class="PUNC">(</span><span class="NAME">regex</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">'</$1>\n$2'</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 31</span>
|
|
<span class='linenumber'> 32</span> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">content</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 33</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
|
<span class='linenumber'> 34</span> </span><span class="NAME">invalidate</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">element</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
<span class='linenumber'> 35</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">rdom</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">xq.RichDom.createInstance</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 36</span> </span><span class="NAME">rdom.setRoot</span><span class="PUNC">(</span><span class="NAME">element</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 37</span>
|
|
<span class='linenumber'> 38</span> </span><span class="COMM">// <span class="strike"> -> <strike></span><span class="WHIT">
|
|
<span class='linenumber'> 39</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">strikes</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">rdom.findByAttribute</span><span class="PUNC">(</span><span class="STRN">"class"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"strike"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 40</span> </span><span class="KEYW">for</span><span class="PUNC">(</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC"><</span><span class="WHIT"> </span><span class="NAME">strikes.length</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">++</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
<span class='linenumber'> 41</span> </span><span class="KEYW">if</span><span class="PUNC">(</span><span class="STRN">"SPAN"</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="NAME">strikes</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">nodeName</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="NAME">rdom.replaceTag</span><span class="PUNC">(</span><span class="STRN">"strike"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">strikes</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">removeAttribute</span><span class="PUNC">(</span><span class="STRN">"class"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 42</span> </span><span class="PUNC">}</span><span class="WHIT">
|
|
<span class='linenumber'> 43</span>
|
|
<span class='linenumber'> 44</span> </span><span class="COMM">// <em|i class="underline"> -> <u></span><span class="WHIT">
|
|
<span class='linenumber'> 45</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">underlines</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">rdom.findByAttribute</span><span class="PUNC">(</span><span class="STRN">"class"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"underline"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 46</span> </span><span class="KEYW">for</span><span class="PUNC">(</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC"><</span><span class="WHIT"> </span><span class="NAME">underlines.length</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">++</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
<span class='linenumber'> 47</span> </span><span class="KEYW">if</span><span class="PUNC">(</span><span class="PUNC">[</span><span class="STRN">"EM"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"I"</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">include</span><span class="PUNC">(</span><span class="NAME">underlines</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">nodeName</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="NAME">rdom.replaceTag</span><span class="PUNC">(</span><span class="STRN">"u"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">underlines</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">removeAttribute</span><span class="PUNC">(</span><span class="STRN">"class"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 48</span> </span><span class="PUNC">}</span><span class="WHIT">
|
|
<span class='linenumber'> 49</span>
|
|
<span class='linenumber'> 50</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">content</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">rdom.getRoot</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">innerHTML</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 51</span>
|
|
<span class='linenumber'> 52</span> </span><span class="NAME">content</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.replaceTag</span><span class="PUNC">(</span><span class="NAME">content</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"strong"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"b"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 53</span> </span><span class="NAME">content</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.replaceTag</span><span class="PUNC">(</span><span class="NAME">content</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"em"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"i"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 54</span> </span><span class="NAME">content</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.removeComments</span><span class="PUNC">(</span><span class="NAME">content</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 55</span> </span><span class="NAME">content</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.replaceNbspToBr</span><span class="PUNC">(</span><span class="NAME">content</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 56</span>
|
|
<span class='linenumber'> 57</span> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">content</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 58</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
|
<span class='linenumber'> 59</span>
|
|
<span class='linenumber'> 60</span> </span><span class="NAME">performFullValidation</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">content</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
<span class='linenumber'> 61</span> </span><span class="NAME">content</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.validateSelfClosingTags</span><span class="PUNC">(</span><span class="NAME">content</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 62</span> </span><span class="NAME">content</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.applyWhitelist</span><span class="PUNC">(</span><span class="NAME">content</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 63</span>
|
|
<span class='linenumber'> 64</span> </span><span class="KEYW">if</span><span class="PUNC">(</span><span class="NAME">this.urlValidationMode</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="STRN">'relative'</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
<span class='linenumber'> 65</span> </span><span class="NAME">content</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.makeUrlsRelative</span><span class="PUNC">(</span><span class="NAME">content</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 66</span> </span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">else</span><span class="WHIT"> </span><span class="KEYW">if</span><span class="PUNC">(</span><span class="NAME">this.urlValidationMode</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="STRN">'host_relative'</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
<span class='linenumber'> 67</span> </span><span class="NAME">content</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.makeUrlsHostRelative</span><span class="PUNC">(</span><span class="NAME">content</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 68</span> </span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">else</span><span class="WHIT"> </span><span class="KEYW">if</span><span class="PUNC">(</span><span class="NAME">this.urlValidationMode</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="STRN">'absolute'</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
<span class='linenumber'> 69</span> </span><span class="NAME">content</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.makeUrlsAbsolute</span><span class="PUNC">(</span><span class="NAME">content</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 70</span> </span><span class="PUNC">}</span><span class="WHIT">
|
|
<span class='linenumber'> 71</span>
|
|
<span class='linenumber'> 72</span> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">content</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 73</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
|
<span class='linenumber'> 74</span>
|
|
<span class='linenumber'> 75</span> </span><span class="NAME">validateFontColor</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">element</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
<span class='linenumber'> 76</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">rdom</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">xq.RichDom.createInstance</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 77</span> </span><span class="NAME">rdom.setRoot</span><span class="PUNC">(</span><span class="NAME">element</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 78</span>
|
|
<span class='linenumber'> 79</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">fonts</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">$A</span><span class="PUNC">(</span><span class="NAME">element.getElementsByTagName</span><span class="PUNC">(</span><span class="STRN">'FONT'</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">reverse</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 80</span> </span><span class="KEYW">for</span><span class="PUNC">(</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC"><</span><span class="WHIT"> </span><span class="NAME">fonts.length</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">++</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
<span class='linenumber'> 81</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">font</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">fonts</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 82</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">color</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">font.getAttribute</span><span class="PUNC">(</span><span class="STRN">'color'</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 83</span>
|
|
<span class='linenumber'> 84</span> </span><span class="KEYW">if</span><span class="PUNC">(</span><span class="NAME">color</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
<span class='linenumber'> 85</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">span</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">rdom.replaceTag</span><span class="PUNC">(</span><span class="STRN">"span"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">font</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 86</span> </span><span class="NAME">span.removeAttribute</span><span class="PUNC">(</span><span class="STRN">'color'</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 87</span> </span><span class="NAME">span.style.color</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">color</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 88</span> </span><span class="PUNC">}</span><span class="WHIT">
|
|
<span class='linenumber'> 89</span> </span><span class="PUNC">}</span><span class="WHIT">
|
|
<span class='linenumber'> 90</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
|
<span class='linenumber'> 91</span>
|
|
<span class='linenumber'> 92</span> </span><span class="NAME">addNbspToEmptyBlocks</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">content</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
<span class='linenumber'> 93</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">blocks</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">xq.DomTree</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">getBlockTags</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">join</span><span class="PUNC">(</span><span class="STRN">"|"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 94</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">regex</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">RegExp</span><span class="PUNC">(</span><span class="STRN">"<("</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">blocks</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">")>\\s*?</("</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">blocks</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">")>"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"img"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 95</span> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">content.replace</span><span class="PUNC">(</span><span class="NAME">regex</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">'<$1> </$2>'</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 96</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
|
<span class='linenumber'> 97</span>
|
|
<span class='linenumber'> 98</span> </span><span class="NAME">replaceNbspToBr</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">content</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
<span class='linenumber'> 99</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">blocks</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">xq.DomTree</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">getBlockTags</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">join</span><span class="PUNC">(</span><span class="STRN">"|"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>100</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">regex</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">RegExp</span><span class="PUNC">(</span><span class="STRN">"<("</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">blocks</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">")>( )?</("</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">blocks</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">")>"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"img"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>101</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">rdom</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">xq.RichDom.createInstance</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>102</span> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">content.replace</span><span class="PUNC">(</span><span class="NAME">regex</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">'<$1>'</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">rdom.makePlaceHolderString</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">'</$3>'</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>103</span> </span><span class="PUNC">}</span><span class="WHIT">
|
|
<span class='linenumber'>104</span> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>105</span> </span></pre></body></html> |