﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-J2EE之巅-随笔分类-Clojure</title><link>http://www.blogjava.net/chaocai/category/52793.html</link><description /><language>zh-cn</language><lastBuildDate>Mon, 26 Nov 2012 07:17:44 GMT</lastBuildDate><pubDate>Mon, 26 Nov 2012 07:17:44 GMT</pubDate><ttl>60</ttl><item><title>The Clojure Program To solve N Queens Problem (Without back tracing)</title><link>http://www.blogjava.net/chaocai/archive/2012/11/26/Clojure.html</link><dc:creator>超越巅峰</dc:creator><author>超越巅峰</author><pubDate>Mon, 26 Nov 2012 04:21:00 GMT</pubDate><guid>http://www.blogjava.net/chaocai/archive/2012/11/26/Clojure.html</guid><wfw:comment>http://www.blogjava.net/chaocai/comments/391968.html</wfw:comment><comments>http://www.blogjava.net/chaocai/archive/2012/11/26/Clojure.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/chaocai/comments/commentRss/391968.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/chaocai/services/trackbacks/391968.html</trackback:ping><description><![CDATA[Not like the previous solution here&nbsp;http://www.blogjava.net/chaocai/archive/2012/08/05/384844.html<br />The following solution not using the back tracing way is more concise and readable, but for the searching space becomes huger, the performance is much worser then the previous one.<br /><br /><span style="background-color: #eeeeee; font-size: 13px; ">(ns&nbsp;SICP.unit3)</span><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all">(defn&nbsp;conflictInCol?&nbsp;<span style="color: #FF0000; ">[</span><span style="color: #FF0000; ">s&nbsp;col</span><span style="color: #FF0000; ">]</span><br />&nbsp;&nbsp;(<span style="color: #808080; ">some</span>&nbsp;#(<span style="color: #808080; ">=</span>&nbsp;col&nbsp;<span style="color: #808080; ">%</span>)&nbsp;s)<br />)<br /><br />(defn&nbsp;conflictInDia?&nbsp;<span style="color: #FF0000; ">[</span><span style="color: #FF0000; ">s&nbsp;col</span><span style="color: #FF0000; ">]</span><br />&nbsp;&nbsp;(let&nbsp;<span style="color: #FF0000; ">[</span><span style="color: #FF0000; ">dia&nbsp;(count&nbsp;s)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;n1&nbsp;(fn&nbsp;[c</span><span style="color: #FF0000; ">]</span>&nbsp;(Math<span style="color: #808080; ">/</span><span style="color: #FF00FF; ">abs</span>&nbsp;(<span style="color: #808080; ">-</span>&nbsp;dia&nbsp;(.indexOf&nbsp;s&nbsp;c))))<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;n2&nbsp;(fn&nbsp;<span style="color: #FF0000; ">[</span><span style="color: #FF0000; ">c</span><span style="color: #FF0000; ">]</span>&nbsp;(Math<span style="color: #808080; ">/</span><span style="color: #FF00FF; ">abs</span>&nbsp;(<span style="color: #808080; ">-</span>&nbsp;col&nbsp;c)))]<br />&nbsp;&nbsp;&nbsp;&nbsp;(<span style="color: #808080; ">some</span>&nbsp;#(<span style="color: #808080; ">=</span>&nbsp;(n1&nbsp;<span style="color: #808080; ">%</span>)&nbsp;(n2&nbsp;<span style="color: #808080; ">%</span>))&nbsp;s)<br />&nbsp;&nbsp;)<br />)<br /><br />(defn&nbsp;safe?&nbsp;<span style="color: #FF0000; ">[</span><span style="color: #FF0000; ">s&nbsp;col</span><span style="color: #FF0000; ">]</span>&nbsp;<br />&nbsp;&nbsp;(<span style="color: #808080; ">not</span>&nbsp;(<span style="color: #808080; ">or</span>&nbsp;(conflictInCol?&nbsp;s&nbsp;col)&nbsp;(conflictInDia?&nbsp;s&nbsp;col)))<br />)<br />&nbsp;&nbsp;<br />(defn&nbsp;<span style="color: #0000FF; ">next</span><span style="color: #808080; ">-</span><span style="color: #0000FF; ">level</span><span style="color: #808080; ">-</span>queens&nbsp;<span style="color: #FF0000; ">[</span><span style="color: #FF0000; ">solutions-for-prev-level&nbsp;board-size&nbsp;current-level</span><span style="color: #FF0000; ">]</span><br />&nbsp;&nbsp;(let&nbsp;<span style="color: #FF0000; ">[</span><span style="color: #FF0000; ">solutions&nbsp;(atom&nbsp;[</span><span style="color: #FF0000; ">]</span>)]<br />&nbsp;&nbsp;&nbsp;&nbsp;(doseq&nbsp;<span style="color: #FF0000; ">[</span><span style="color: #FF0000; ">s&nbsp;solutions-for-prev-level</span><span style="color: #FF0000; ">]</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(doseq&nbsp;<span style="color: #FF0000; ">[</span><span style="color: #FF0000; ">col&nbsp;(range&nbsp;0&nbsp;board-size)</span><span style="color: #FF0000; ">]</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(<span style="color: #0000FF; ">if</span>&nbsp;(safe?&nbsp;s&nbsp;col)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(reset!&nbsp;solutions&nbsp;(cons&nbsp;(conj&nbsp;s&nbsp;col)&nbsp;<span style="color: #008000; ">@solutions</span>))<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;)<br />&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;)<br />&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(<span style="color: #0000FF; ">if</span>&nbsp;(<span style="color: #808080; ">&lt;</span>&nbsp;<span style="color: #0000FF; ">current</span><span style="color: #808080; ">-</span><span style="color: #0000FF; ">level</span>&nbsp;(<span style="font-weight: bold; ">dec</span>&nbsp;board<span style="color: #808080; ">-</span>size))<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(recur&nbsp;<span style="color: #008000; ">@solutions</span>&nbsp;board<span style="color: #808080; ">-</span>size&nbsp;(inc&nbsp;<span style="color: #0000FF; ">current</span><span style="color: #808080; ">-</span><span style="color: #0000FF; ">level</span>))<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(<span style="color: #FF00FF; ">count</span>&nbsp;<span style="color: #008000; ">@solutions</span>)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;)<br />&nbsp;&nbsp;&nbsp;)<br />)<br /><br />(defn&nbsp;queens&nbsp;<span style="color: #FF0000; ">[</span><span style="color: #FF0000; ">board-size</span><span style="color: #FF0000; ">]</span><br />&nbsp;&nbsp;(<span style="color: #0000FF; ">next</span><span style="color: #808080; ">-</span><span style="color: #0000FF; ">level</span><span style="color: #808080; ">-</span>queens&nbsp;&nbsp;(apply&nbsp;vector&nbsp;(map&nbsp;#(vector&nbsp;<span style="color: #808080; ">%</span>)&nbsp;(range&nbsp;<span style="color: #800000; font-weight: bold; ">0</span>&nbsp;board<span style="color: #808080; ">-</span>size)))&nbsp;board<span style="color: #808080; ">-</span>size&nbsp;<span style="color: #800000; font-weight: bold; ">1</span>)</div><span style="background-color: #eeeeee; font-size: 13px; ">)<br /><br />Chao Cai (蔡超）<br />Sr. SDE<br />Amazon<br /><br /></span><br />&nbsp;<img src ="http://www.blogjava.net/chaocai/aggbug/391968.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/chaocai/" target="_blank">超越巅峰</a> 2012-11-26 12:21 <a href="http://www.blogjava.net/chaocai/archive/2012/11/26/Clojure.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Clojure XPath</title><link>http://www.blogjava.net/chaocai/archive/2012/10/15/ClojureXPath.html</link><dc:creator>超越巅峰</dc:creator><author>超越巅峰</author><pubDate>Mon, 15 Oct 2012 02:15:00 GMT</pubDate><guid>http://www.blogjava.net/chaocai/archive/2012/10/15/ClojureXPath.html</guid><wfw:comment>http://www.blogjava.net/chaocai/comments/389555.html</wfw:comment><comments>http://www.blogjava.net/chaocai/archive/2012/10/15/ClojureXPath.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/chaocai/comments/commentRss/389555.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/chaocai/services/trackbacks/389555.html</trackback:ping><description><![CDATA[<div><div>The functions to support using XPath in Clojure.</div><h1>Source Code</h1><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><span style="color: #008080; ">&nbsp;1</span>&nbsp;<span style="color: #000000; ">;The&nbsp;code&nbsp;was&nbsp;implemented&nbsp;by&nbsp;caichao@amazon.com<br /></span><span style="color: #008080; ">&nbsp;2</span>&nbsp;<span style="color: #000000; ">;You&nbsp;could&nbsp;use&nbsp;the&nbsp;code&nbsp;anyway,&nbsp;but&nbsp;should&nbsp;keep&nbsp;the&nbsp;comments<br /></span><span style="color: #008080; ">&nbsp;3</span>&nbsp;<span style="color: #000000; ">;Created&nbsp;</span><span style="color: #000000; ">2012.10</span><span style="color: #000000; "><br /></span><span style="color: #008080; ">&nbsp;4</span>&nbsp;<span style="color: #000000; ">(ns&nbsp;clojure.ccsoft.xml<br /></span><span style="color: #008080; ">&nbsp;5</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;(:require&nbsp;[clojure.xml&nbsp;:as&nbsp;xml]))<br /></span><span style="color: #008080; ">&nbsp;6</span>&nbsp;<span style="color: #000000; ">&nbsp;<br /></span><span style="color: #008080; ">&nbsp;7</span>&nbsp;<span style="color: #000000; ">(</span><span style="color: #0000FF; ">import</span>&nbsp;<span style="color: #000000; ">'</span><span style="color: #000000; ">(java.io&nbsp;StringReader)</span><span style="color: #000000; "><br /></span><span style="color: #008080; ">&nbsp;8</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000; ">'</span><span style="color: #000000; ">(java.io&nbsp;ByteArrayInputStream))</span><span style="color: #000000; "><br /></span><span style="color: #008080; ">&nbsp;9</span>&nbsp;<span style="color: #000000; ">&nbsp;<br /></span><span style="color: #008080; ">10</span>&nbsp;<span style="color: #000000; ">(defn&nbsp;xml</span><span style="color: #000000; ">-</span><span style="color: #000000; ">structure&nbsp;[xml</span><span style="color: #000000; ">-</span><span style="color: #000000; ">txt]&nbsp;<br /></span><span style="color: #008080; ">11</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;[&nbsp;(xml</span><span style="color: #000000; ">/</span><span style="color: #000000; ">parse&nbsp;(</span><span style="color: #000000; ">-&gt;</span><span style="color: #000000; ">&nbsp;xml</span><span style="color: #000000; ">-</span><span style="color: #000000; ">txt<br /></span><span style="color: #008080; ">12</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(.getBytes)<br /></span><span style="color: #008080; ">13</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(ByteArrayInputStream.)<br /></span><span style="color: #008080; ">14</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;)<br /></span><span style="color: #008080; ">15</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;)]<br /></span><span style="color: #008080; ">16</span>&nbsp;<span style="color: #000000; ">)<br /></span><span style="color: #008080; ">17</span>&nbsp;<span style="color: #000000; ">&nbsp;<br /></span><span style="color: #008080; ">18</span>&nbsp;<span style="color: #000000; ">(defn&nbsp;node&nbsp;[tag&nbsp;xmlStruct]<br /></span><span style="color: #008080; ">19</span>&nbsp;<span style="color: #000000; ">&nbsp;<br /></span><span style="color: #008080; ">20</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;(first&nbsp;(filter&nbsp;#(</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;(:tag&nbsp;</span><span style="color: #000000; ">%</span><span style="color: #000000; ">)&nbsp;tag)&nbsp;(:content&nbsp;xmlStruct)))<br /></span><span style="color: #008080; ">21</span>&nbsp;<span style="color: #000000; ">)<br /></span><span style="color: #008080; ">22</span>&nbsp;<span style="color: #000000; ">&nbsp;<br /></span><span style="color: #008080; ">23</span>&nbsp;<span style="color: #000000; ">(defn&nbsp;node&nbsp;[path&nbsp;xml</span><span style="color: #000000; ">-</span><span style="color: #000000; ">txt]<br /></span><span style="color: #008080; ">24</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;(loop&nbsp;[path&nbsp;path&nbsp;<br /></span><span style="color: #008080; ">25</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;xml</span><span style="color: #000000; ">-</span><span style="color: #000000; ">content&nbsp;(xml</span><span style="color: #000000; ">-</span><span style="color: #000000; ">structure&nbsp;xml</span><span style="color: #000000; ">-</span><span style="color: #000000; ">txt)&nbsp;<br /></span><span style="color: #008080; ">26</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;]<br /></span><span style="color: #008080; ">27</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(let&nbsp;[current</span><span style="color: #000000; ">-</span><span style="color: #000000; ">tag&nbsp;(first&nbsp;path)&nbsp;current</span><span style="color: #000000; ">-</span><span style="color: #000000; ">elem&nbsp;(first&nbsp;xml</span><span style="color: #000000; ">-</span><span style="color: #000000; ">content)]<br /></span><span style="color: #008080; ">28</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(</span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">&nbsp;(</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;(:tag&nbsp;current</span><span style="color: #000000; ">-</span><span style="color: #000000; ">elem&nbsp;)&nbsp;current</span><span style="color: #000000; ">-</span><span style="color: #000000; ">tag)<br /></span><span style="color: #008080; ">29</span>&nbsp;<span style="color: #000000; ">&nbsp;<br /></span><span style="color: #008080; ">30</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(</span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">&nbsp;(</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;(count&nbsp;path)&nbsp;</span><span style="color: #000000; ">1</span><span style="color: #000000; ">)<br /></span><span style="color: #008080; ">31</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;current</span><span style="color: #000000; ">-</span><span style="color: #000000; ">elem&nbsp;<br /></span><span style="color: #008080; ">32</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(recur&nbsp;&nbsp;(rest&nbsp;path)&nbsp;(:content&nbsp;current</span><span style="color: #000000; ">-</span><span style="color: #000000; ">elem&nbsp;))<br /></span><span style="color: #008080; ">33</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;)<br /></span><span style="color: #008080; ">34</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(</span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">&nbsp;(</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; ">&nbsp;(count&nbsp;&nbsp;xml</span><span style="color: #000000; ">-</span><span style="color: #000000; ">content)&nbsp;</span><span style="color: #000000; ">1</span><span style="color: #000000; ">)<br /></span><span style="color: #008080; ">35</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(recur&nbsp;path&nbsp;&nbsp;(rest&nbsp;xml</span><span style="color: #000000; ">-</span><span style="color: #000000; ">content))<br /></span><span style="color: #008080; ">36</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;)<br /></span><span style="color: #008080; ">37</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;)<br /></span><span style="color: #008080; ">38</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;)<br /></span><span style="color: #008080; ">39</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;)<br /></span><span style="color: #008080; ">40</span>&nbsp;<span style="color: #000000;">&nbsp;)<br /><br /></span><h1><span style="color: #000000;">How to Use</span></h1><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><span style="color: #000000; ">(def&nbsp;cmd</span><span style="color: #000000; ">-</span><span style="color: #000000; ">example&nbsp;</span><span style="color: #000000; ">"</span><span style="color: #000000; ">&lt;command&gt;</span><span style="color: #000000; "><br /></span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">header</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">type</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; ">script</span><span style="color: #000000; ">&lt;/</span><span style="color: #000000; ">type</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">transaction_id</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; ">12345</span><span style="color: #000000; ">&lt;/</span><span style="color: #000000; ">transaction_id</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000; ">&lt;/</span><span style="color: #000000; ">header</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">body</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;println&nbsp;</span><span style="color: #000000; ">3</span><span style="color: #000000; ">+</span><span style="color: #000000; ">4</span><span style="color: #000000; ">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000; ">&lt;/</span><span style="color: #000000; ">body</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000; ">&lt;/</span><span style="color: #000000; ">command</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; ">"</span><span style="color: #000000; ">)</span><span style="color: #000000; "><br /></span><span style="color: #000000; ">&nbsp;<br />&nbsp;<br />(node&nbsp;[:command&nbsp;:header&nbsp;:transaction_id]&nbsp;cmd</span><span style="color: #000000; ">-</span><span style="color: #000000; ">example)</span></div><h1><span style="color: #000000; "><br /></span></h1></div></div><img src ="http://www.blogjava.net/chaocai/aggbug/389555.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/chaocai/" target="_blank">超越巅峰</a> 2012-10-15 10:15 <a href="http://www.blogjava.net/chaocai/archive/2012/10/15/ClojureXPath.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>