While working on a CSS layout for the J Dictionary, I thought it might be even more flexible/useful to describe the definition pages of J primitives using a more formal XML structure. Below is my attempt.

I'm not very experienced at creating XML structures, and have only had minimal experience using XSLT to format such structures (I haven't even attempted to create XSLT code to format the primitives below!) so I'm not sure how difficult it would be to work with this structure.

I'd be interested in thoughts on whether an XML structure for J primitives would be a desirable/sensible approach? Would it complicate things too much for too little reward? Would other descriptive formats (e.g. wiki markup, JSON) be better?

«primitive.xml»= Example XML structure to describe J Primitives
<?xml version="1.0" encoding="utf-8"?>
<dictionary>

  <primitive type="verb">
    <symbol>^</symbol>
    <form>
      <syntax></syntax>
            <definition valence="monad">
              <name>Exponential</name>
              <rank>0</rank>
                          <description>
                            <p><tt>^y </tt>is equivalent to<tt> e^y</tt>,<tt> </tt>where
                            <tt> e </tt>is <i>Euler's number</i><tt> ^1 </tt>
                            (approximately 2.71828). The <i>natural logarithm</i><tt> </tt>
                            (<tt>^.</tt>)<tt> </tt>is inverse to<tt> ^ </tt>(that is,<tt> y=^.^y </tt>
                            and <tt>y=^^.y</tt>).</p>
                            <p>The monad<tt> x&amp;^ </tt>is inverse to the monad <tt>x&amp;^.</tt> .<tt> </tt>  
                            For example:</p>
                            <pre>
                               10&amp;^ 10&amp;^. 1 2 3 4 5
                            1 2 3 4 5
                                      
                               10&amp;^. 10&amp;^ 1 2 3 4 5
                            1 2 3 4 5
                            </pre>
                    </description>
            </definition>
            <definition valence="dyad">
              <name>Power</name>
              <rank>0 0</rank>
              <description>
                            <p><tt>x^2 </tt>and<tt> x^3</tt> and<tt> x^0.5</tt> are the <i>square</i>, 
                            <i>cube</i>, and <i>square root</i> of<tt> x</tt> .</p>
                            
                            <p>In general,<tt> x^y </tt>is<tt> ^y*^.x</tt>,<tt> </tt>applying for 
                            complex numbers as well as real. </p>
                            
                            <p>For a non-negative integer<tt> y</tt>,<tt> </tt>the phrase<tt>x ^ y </tt>
                            is equivalent to<tt> */y # x</tt>;<tt> </tt>in particular,<tt> */ </tt>on 
                            an empty list is<tt> 1</tt>,<tt> </tt>and<tt> x^0 </tt>is<tt> 1 </tt>for 
                            any<tt> x</tt>,<tt> </tt>including<tt> 0</tt> .</p>
                            
                            <p>The fit conjunction applies to<tt> ^ </tt>to yield a stope defined 
                            as follows:<tt> x^!.k n </tt>is<tt> */x + k*i. n</tt> .<tt> </tt>
                            In particular,<tt> ^!._1 </tt>is the <i>falling factorial</i> function.</p>
              </description>
            </definition>
            <examples>
                                <p>The last result in the first example below illustrates the 
                                falling factorial function, formed by the fit conjunction.  
                                See <a href="ref.htm#14">Chapter 5 of [14]</a>
                                for the use of stope functions, stope polynomials, 
                                and Stirling numbers in the difference calculus:</p>
                                
                                <pre>
                                   e=: ^ 1 [ x=: 4 [ y=: 0 1 2 3
                                   ,.&amp;.&gt; x (e&quot;_ ; e&amp;^@] ; ^ ; ^@(] * ^.@]) ; (]^]) ; ^!._1) y
                                +-------+-------+--+--+--+--+
                                |2.71828|      1| 1| _| 1| 1|
                                |       |2.71828| 4| 1| 1| 4|
                                |       |7.38906|16| 4| 4|12|
                                |       |20.0855|64|27|27|24|
                                +-------+-------+--+--+--+--+
                                
                                   S2=: %.@S1=: (^!._1/~ %. ^/~) @ i. @ x:
                                   (S1;S2) 8
                                +---------------------------+-------------------+
                                |1 0  0  0  0   0    0     0|1 0 0 0 0  0  0   0|
                                |0 1 _1  2 _6  24 _120   720|0 1 1 1 1  1  1   1|
                                |0 0  1 _3 11 _50  274 _1764|0 0 1 3 7 15 31  63|
                                |0 0  0  1 _6  35 _225  1624|0 0 0 1 6 25 90 301|
                                |0 0  0  0  1 _10   85  _735|0 0 0 0 1 10 65 350|
                                |0 0  0  0  0   1  _15   175|0 0 0 0 0  1 15 140|
                                |0 0  0  0  0   0    1   _21|0 0 0 0 0  0  1  21|
                                |0 0  0  0  0   0    0     1|0 0 0 0 0  0  0   1|
                                +---------------------------+-------------------+
                                
                                </pre>
                                <p><tt>S1 </tt>gives (signed) Stirling numbers of the first kind 
                                and<tt> S2 </tt>gives Stirling numbers of the second kind.  
                                They can be used to transform between ordinary and stope polynomials.  
                                Note that<tt> <a href="dxco.htm">x:</a> </tt>gives 
                                <a href="dictg.htm">extended precision</a>.</p>
            </examples>
    </form>
  </primitive>

  <primitive type="conjunction">
    <symbol>^:</symbol>
    <form>
            <syntax>u^:n</syntax>
            <definition valence="monad">
              <name>Power</name>
              <rank>_</rank>
                          <description>
                                        <p><tt>n </tt>may be integer, boxed, or a gerund.</p>
                                        <p><b>Integer.</b>  The verb<tt> u </tt>is applied<tt> n </tt>times.
                                        An infinite power<tt> n </tt>produces the limit of the application 
                                        of<tt> u</tt> .<tt> </tt>For example,<tt> (2&amp;o.^:_)1 </tt>is<tt> 0.73908</tt> ,<tt> </tt>
                                        the solution of the equation<tt> y=Cos y</tt> .<tt> </tt>If<tt> n </tt>is negative, 
                                        the <i>obverse</i><tt> u^:_1 </tt>(see below) is applied<tt> |n </tt>times.
                                        Finally,<tt> u^:n y </tt>for an array<tt> n </tt>is produced by assembling<tt> u^:a y </tt>
                                        (for all the atoms<tt> a </tt>in<tt> n</tt>)<tt> </tt>into an overall result.</p>
                                        
                                        <p>The obverse is used in<tt> <a href="d631.htm">u&amp;.v</a> </tt>and is
                                        produced by<tt> <a href="dbdotu.htm">v b. _1</a></tt> .
                                        Repeated application of a verb is also provided by 
                                        <a href="d630n.htm">Bond (<tt>&amp;</tt>)</a>.</p>
                                        
                                        <p><b>Boxed.</b> If<tt> n </tt>is boxed it must be an atom, and<tt> u^:(&lt;m)</tt></p>
                                        <table>
                                        <tr>
                                         <td><big>&harr;</big><tt> u^:(i.m) y</tt></td>
                                         <td>if<tt> m </tt>is a non-negative integer</td>
                                        </tr>
                                        <tr>
                                         <td><big>&harr;</big><tt> u^:(i.k) y</tt></td>
                                         <td>if<tt> m </tt>is<tt> _ </tt>or<tt> '' </tt>,<tt> </tt>where<tt> k </tt>is the smallest 
                                         positive integer such that<tt> (u^:(k-1) y) -: u^:k y</tt></td>
                                        </tr>
                                        <tr>
                                         <td><big>&harr;</big><tt> u^:_1^:(&lt;|m) y</tt></td>
                                         <td>if<tt> m </tt>is negative</td>
                                        </tr>
                                        </table>
                                        
                                        <p><b>Gerund.</b> See on the right.</p>
              </description>
            </definition>
            <definition valence="dyad">
              <name>Power</name>
              <rank>_ _</rank>
                          <description>
                                        <p><tt>n </tt>may be integer, boxed, or a gerund.</p>
                                        
                                        <p><b>Integer or Boxed.</b><tt> x u^:n y </tt><big>&harr;</big><tt> x&amp;u^:n y </tt></p>
                                        
                                        <p><b>Gerund.</b> (Compare with the gerund cases of the <a href="d530n.htm">merge adverb<tt> }</tt></a>)<br/>
                                        <tt> x u^:(v0`v1`v2)y </tt><big>&harr;</big><tt> (x v0 y)u^:(x v1 y) (x v2 y) </tt><br/>
                                        <tt> x u^:(&nbsp;&nbsp;&nbsp;v1`v2)y </tt><big>&harr;</big><tt> x u^:([`v1`v2) y </tt><br/>
                                        <tt> &nbsp;&nbsp;u^:(&nbsp;&nbsp;&nbsp;v1`v2)y </tt><big>&harr;</big><tt> u^:(v1 y) (v2 y)</tt></p>
              </description>
            </definition>
            <examples>
                                <p>The obverse (which is normally the inverse) is specified for six cases:</p>
                                
                                <ol>
                                  <li>The self-inverse functions<tt> + - -. % %. |. |: /: [ ] C. p.</tt></li>
                                
                                        <li>The pairs in the following table:
                                                <table>
                                                        <tr>
                                                          <td><tt>&lt;</tt></td>
                                                                <td><tt>&gt;</tt></td>
                                                        </tr>
                                                        <tr>
                                                          <td><tt>&lt;:</tt></td>
                                                                <td><tt>&gt;:</tt></td>
                                                        </tr>
                                                        <tr>
                                                          <td><tt>+.</tt></td>
                                                                <td><tt>j./&quot;1&quot;_</tt></td>
                                                        </tr>
                                                        <tr>
                                                          <td><tt>+:</tt></td>
                                                                <td><tt>-:</tt></td>
                                                        </tr>
                                                        <tr>
                                                          <td><tt>*.</tt></td>
                                                                <td><tt>r./&quot;1&quot;_</tt></td>
                                                        </tr>
                                                        <tr>
                                                          <td><tt>*:</tt></td>
                                                                <td><tt>%:</tt></td>
                                                        </tr>
                                                        <tr>
                                                          <td><tt>^</tt></td>
                                                                <td><tt>^.</tt></td>
                                                        </tr>
                                                        <tr>
                                                          <td><tt>$.</tt></td>
                                                                <td><tt>$.^:_1</tt></td>
                                                        </tr>
                                                        <tr>
                                                          <td><tt>,:</tt></td>
                                                                <td><tt>{.</tt></td>
                                                        </tr>
                                                        <tr>
                                                          <td><tt>;:</tt></td>
                                                                <td><tt>;@(,&amp;' '&amp;.&gt;&quot;1)</tt></td>
                                                        </tr>
                                                        <tr>
                                                          <td><tt>#.</tt></td>
                                                                <td><tt>#:</tt></td>
                                                        </tr>
                                                        <tr>
                                                          <td><tt>!</tt></td>
                                                                <td><tt>3 : '(-(!-y&quot;_)%1e_3&amp;* !&quot;0 D:1 ])^:_^.y'</tt></td>
                                                        </tr>
                                                        <tr>
                                                          <td><tt>3!:1</tt></td>
                                                                <td><tt>3!:2</tt></td>
                                                        </tr>
                                                        <tr>
                                                          <td><tt>3!:3</tt></td>
                                                                <td><tt>3!:2</tt></td>
                                                        </tr>
                                                        <tr>
                                                          <td><tt>\:</tt></td>
                                                                <td><tt>/:@|.</tt></td>
                                                        </tr>
                                                        <tr>
                                                          <td><tt>&quot;.</tt></td>
                                                                <td><tt>&quot;:</tt></td>
                                                        </tr>
                                                        <tr>
                                                          <td><tt>j.</tt></td>
                                                                <td><tt>%&amp;0j1</tt></td>
                                                        </tr>
                                                        <tr>
                                                          <td><tt>o.</tt></td>
                                                                <td><tt>%&amp;1p1</tt></td>
                                                        </tr>
                                                        <tr>
                                                          <td><tt>p:</tt></td>
                                                                <td>&pi;<tt>(n)</tt></td>
                                                        </tr>
                                                        <tr>
                                                          <td><tt>q:</tt></td>
                                                                <td><tt>*/</tt></td>
                                                        </tr>
                                                        <tr>
                                                          <td><tt>r.</tt></td>
                                                                <td><tt>%&amp;0j1@^.</tt></td>
                                                        </tr>
                                                        <tr>
                                                          <td><tt>s:</tt></td><td><tt>5&amp;s:</tt></td></tr>
                                                        <tr>
                                                          <td><tt>u:</tt></td><td><tt>3&amp;u:</tt></td></tr>
                                                        <tr>
                                                          <td><tt>x:</tt></td><td><tt>_1&amp;x:</tt></td></tr>
                                                        <tr>
                                                          <td><tt>+~</tt></td>
                                                                <td><tt>-:</tt></td>
                                                        </tr>
                                                        <tr>
                                                          <td><tt>*~</tt></td>
                                                                <td><tt>%:</tt></td>
                                                        </tr>
                                                        <tr>
                                                          <td><tt>^~</tt></td>
                                                                <td><tt>3 : '(- -&amp;b@(*^.) % &gt;:@^.)^:_ b=.^.y'&quot;0</tt></td>
                                                        </tr>
                                                        <tr>
                                                          <td><tt>,~</tt></td>
                                                                <td><tt>&lt;.@-:@# {. ]</tt></td>
                                                        </tr>
                                                        <tr>
                                                          <td><tt>,:~</tt></td>
                                                                <td><tt>{.</tt></td></tr>
                                                        <tr>
                                                          <td><tt>;~</tt></td>
                                                                <td><tt>&gt;@{.</tt></td>
                                                        </tr>
                                                        <tr>
                                                          <td><tt>j.~</tt></td>
                                                                <td><tt>%&amp;1j1</tt></td>
                                                        </tr>
                                                </table>
                                        </li>
                                        
                                        <li>Obviously invertible bonded dyads such as<tt> -&amp;3 </tt>and<tt> 10&amp;^. </tt>
                                        and<tt> 1 0 2&amp;|: </tt>and<tt> 3&amp;|. </tt>and<tt> 1&amp;o. </tt>
                                        and<tt> a.&amp;i. </tt>as well as<tt> u@v </tt>and<tt> u&amp;v </tt>
                                        if<tt> u </tt>and<tt> v </tt>are invertible.
                                        </li>
                                        
                                        <li>Monads of the form<tt> v/\ </tt>and<tt> v/\. </tt>where<tt> v </tt>is one of<tt> +  * -  %  =  ~:</tt>
                                        </li>
                                        
                                        <li>Obverses specified by the conjunction<tt> :.</tt></li>
                                        
                                        <li>The following cases merit special mention:
                                          <ul>
                                                        <li><tt>p:^:_1 n </tt>gives the number of primes less than<tt> n</tt>,<tt> </tt>
                                                        denoted by<tt> </tt>&pi;<tt>(n) </tt>in math</li>
                                                        
                                                        <li><tt>q:^:_1 </tt>is<tt> */</tt></li>
                                                        
                                                        <li><tt>b&amp;#^:_1 </tt>where<tt> b </tt>is a boolean list is <i>Expand</i> 
                                                        (whose fill atom<tt> f </tt>can be specified by 
                                                        <i>fit</i>,<tt> b&amp;#^:_1!.f </tt>or<tt> #^:_1!.f</tt> )</li>
                                                        
                                                        <li><tt>a&amp;#.^:_1 </tt>produces the base-<tt>a </tt>representation</li>
                                                        
                                                        <li><tt>!^:_1 </tt>and<tt> !&amp;n^:_1 </tt>and<tt> n&amp;!^:_1 </tt>
                                                        produce the appropriate results</li>
                                                        
                                                        <li><tt>{= </tt>and<tt> i.&quot;1&amp;1 </tt>are inverses of each other;
                                                        these convert between integer permutation vectors and boolean permutation matrices</li>
                                          </ul>
                                        </li>
                                </ol>
                                
                                <p><b>Example 1:</b></p>
                                
                                <pre>
                                   (] ; +/\ ; +/\^:2 ; +/\^:0 1 2 3 _1 _2 _3 _4) 1 2 3 4 5
                                +---------+-----------+------------+-------------+
                                |1 2 3 4 5|1 3 6 10 15|1 4 10 20 35|1  2  3  4  5|
                                |         |           |            |1  3  6 10 15|
                                |         |           |            |1  4 10 20 35|
                                |         |           |            |1  5 15 35 70|
                                |         |           |            |1  1  1  1  1|
                                |         |           |            |1  0  0  0  0|
                                |         |           |            |1 _1  0  0  0|
                                |         |           |            |1 _2  1  0  0|
                                +---------+-----------+------------+-------------+
                                </pre>
                                
                                <p><b>Example 2:</b> Fibonacci Sequence</p>
                                
                                <pre>
                                   +/\@|.^:(i.10) 0 1
                                 0  1
                                 1  1
                                 1  2
                                 2  3
                                 3  5
                                 5  8
                                 8 13
                                13 21
                                21 34
                                34 55
                                   {. +/\@|.^:n 0 1x [ n=:128       NB. n-th term of the Fibonacci sequence
                                251728825683549488150424261
                                   {.{: +/ .*~^:k 0 1,:1 1x [ k=:7  NB. (2^k)-th term of the Fibonacci sequence
                                251728825683549488150424261
                                </pre>
                                
                                <p><b>Example 3:</b> Newton Iteration</p>
                                <pre>
                                   -:@(+2&amp;%)^:(0 1 2 3) 1
                                1 1.5 1.41667 1.41422
                                   -:@(+2&amp;%)^:(_) 1
                                1.41421
                                   -:@(+2&amp;%)^:a: 1
                                1 1.5 1.41667 1.41422 1.41421 1.41421
                                   %: 2
                                1.41421
                                </pre>
                                
                                <p><b>Example 4:</b> Subgroup Generated by a Set of Permutations</p>
                                <pre>
                                   sg=: ~. @ (,/) @ ({&quot;1/~) ^: _ @ (i.@{:@$ , ])
                                   sg ,: 1 2 3 0 4
                                0 1 2 3 4
                                1 2 3 0 4
                                2 3 0 1 4
                                3 0 1 2 4
                                   # sg 1 2 3 4 5 0 ,: 1 0 2 3 4 5
                                720
                                </pre>
                                
                                <p><b>Example 5:</b> Transitive Closure</p>
                                <pre>
                                   x=: (#x)&lt;. (#x),~x=: (i.20)+1+20 ?.@# 3
                                   (i.#x) ,: x
                                0 1 2 3 4 5 6 7  8  9 10 11 12 13 14 15 16 17 18 19 20
                                1 4 5 5 7 6 9 9 10 12 11 14 14 15 16 18 18 18 20 20 20
                                   {&amp;x^:(&lt;15) 0
                                0 1 4 7 9 12 14 16 18 20 20 20 20 20 20
                                   {&amp;x^:a: 0
                                0 1 4 7 9 12 14 16 18 20
                                   x {~^:a: 0
                                0 1 4 7 9 12 14 16 18 20
                                
                                </pre>
                                <p>Interpretation:<tt> x </tt>specifies a directed graph
                                with nodes numbered<tt> i.#x </tt>and links from<tt> i </tt>
                                to <tt> i{x</tt> .<tt> </tt>For example, the
                                links are:<tt> 0 1</tt> ,<tt> 1 4</tt> ,<tt> 2 5</tt> ,<tt> 3 5 </tt>
                                
                                and so on.  Then<tt> {&amp;x^:a:0 </tt>or<tt> x{~^:a:0 </tt>computes 
                                all the nodes reachable from node<tt> 0</tt>.</p>
                                
                                <p><b>Example 6:</b> Transitive Closure</p>
                                
                                <p>Each record of a file begins with a byte indicating the record length
                                (excluding the record length byte itself), followed by
                                the record contents.  Given a file, the verb<tt> rec </tt>below produces
                                the list of boxed records.</p>
                                
                                <pre>
                                rec=: 3 : 0
                                 n=. #y
                                 d=. _1 ,~ n&lt;.1+(i.n)+a.i.y
                                 m=. d {~^:a: 0
                                 ((i.n) e. m) &lt;;._1 y
                                )
                                
                                randomfile=: 3 : 0
                                 c  =. 1+y ?@$ 255           NB. record lengths
                                 rec=. {&amp;a.&amp;.&gt; c ?@$&amp;.&gt; 256  NB. record contents
                                 (c{a.),&amp;.&gt; rec              NB. records with lengths
                                )
                                
                                   boxed_rec=: randomfile 1000
                                   $ boxed_rec
                                1000
                                
                                   file=: ; boxed_rec
                                   $ file
                                132045
                                
                                   r=: rec file
                                   $r
                                1000
                                
                                   r -: }.&amp;.&gt; boxed_rec
                                1
                                
                                </pre>
                                <p>The last phrase verifies that the result of<tt> rec </tt>
                                are the records without the leading length bytes.</p>
            </examples>
          </form>
          <form>
          <syntax>u^:v</syntax>
            <definition valence="monad">
              <name>Power</name>
              <rank>_</rank>
                          <description>
                                        <p>The case of<tt> ^: </tt>with a verb right argument is 
                                        defined in terms of the noun right argument 
                                        case<tt> </tt>(<a href="d202n.htm"><tt>u ^: n</tt></a>)<tt> </tt>as follows:</p>
                                        <p><tt>&nbsp; u ^: v y </tt><big>&harr;</big><tt> &nbsp;  u^:(&nbsp; v y) y</tt></p>
              </description>
            </definition>
            <definition valence="dyad">
              <name>Power</name>
              <rank>_ _</rank>
                          <description>
                                        <p>The case of<tt> ^: </tt>with a verb right argument is 
                                        defined in terms of the noun right argument 
                                        case<tt> </tt>(<a href="d202n.htm"><tt>u ^: n</tt></a>)<tt> </tt>as follows:</p>
                                        <p><tt>x u ^: v y </tt><big>&harr;</big><tt> x u^:(x v y) y</tt></p>
              </description>
            </definition>
            <examples>
                                <p>For example:</p>
                                
                                <pre>
                                   x=: 1 3 3 1
                                   y=: 0 1 2 3 4 5 6
                                   x p. y
                                1 8 27 64 125 216 343
                                
                                   x p. ^: (]&gt;3:)&quot;1 0 y
                                0 1 2 3 125 216 343
                                
                                   a=: _3 _2 _1 0 1 2 3
                                   %: a
                                0j1.73205 0j1.41421 0j1 0 1 1.41421 1.73205
                                
                                   * a
                                _1 _1 _1 0 1 1 1
                                
                                   %: ^: * &quot; 0 a
                                9 4 1 0 1 1.41421 1.73205
                                
                                   *: a
                                9 4 1 0 1 4 9
                                
                                </pre>
                                
                                <p>The following monads are equivalent.  (See the example of<tt> ^ T. _ </tt>
                                in the definition of 
                                <a href="dtcapdot.htm">Taylor Approximation<tt> </tt>(<tt>T.</tt>)</a> .)</p>
                                
                                <pre>
                                
                                   g=: u ^: p ^: _
                                   h=: 3 : 't=. y while. p t do. t=. u t end.'
                                
                                   u=: -&amp;3 
                                   p=: 0&amp;&lt;
                                   (g&quot;0 ; h&quot;0) i. 10
                                +-------------------------+-------------------------+
                                |0 _2 _1 0 _2 _1 0 _2 _1 0|0 _2 _1 0 _2 _1 0 _2 _1 0|
                                +-------------------------+-------------------------+
                                </pre>
                                
                                <p>All partitions of an integer, based on an algorithm by R.E. Boss on 2005-07-05:</p>
                                
                                <pre>
                                partition=: [: final ] (,new)@]^:[ (&lt;i.1 0)&quot;_
                                final    =: 0 &lt;@-.&quot;1~ &gt;@{: 
                                new      =: [: &lt;@; (-i.)@# cat&amp;.&gt; ]
                                cat      =: [ ,. (&gt;: {.&quot;1) # ]
                                
                                   partition 5
                                +-+---+---+-----+-----+-------+---------+
                                |5|4 1|3 2|3 1 1|2 2 1|2 1 1 1|1 1 1 1 1|
                                +-+---+---+-----+-----+-------+---------+
                                
                                </pre>
            </examples>
    </form>
  </primitive>
  
  <primitive type="adverb">
    <symbol>~</symbol>
    <form>
            <syntax>u~</syntax>
            <definition valence="monad">
              <name>Reflexive</name>
              <rank>_</rank>
              <description>
                                        <p><tt>u~ y </tt><big>&harr;</big><tt> y u y</tt> .<tt> </tt>For example,<tt> ^~ 3 </tt>
                                        is<tt> 27</tt>,<tt> </tt>and<tt> +/~ i. n </tt>is an addition table.</p>              
              </description>
            </definition>
            <definition valence="dyad">
              <name>Passive</name>
              <rank>ru lu</rank>
              <description>
                                        <p><tt>~ </tt><i>commutes</i> or <i>crosses</i> connections to 
                                        arguments:<tt> x u~ y </tt><big>&harr;</big><tt> y u x</tt> .</p>
              </description>
            </definition>
                        <examples>
                                <p>Certain uses of the reflexive and passive are illustrated below:</p>
                                
                                <pre>
                                   x=: 1 2 3 4 [ y=: 4 5 6
                                   x (,.@[ ; ^/ ; ^/~ ; ^/~@[ ; ]) y
                                +-+-------------+-------------+-----------+-----+
                                |1|  1    1    1|4 16  64  256|1  1  1   1|4 5 6|
                                |2| 16   32   64|5 25 125  625|2  4  8  16|     |
                                |3| 81  243  729|6 36 216 1296|3  9 27  81|     |
                                |4|256 1024 4096|             |4 16 64 256|     |
                                +-+-------------+-------------+-----------+-----+
                                
                                   into=: %~
                                   (i. 6) % 5
                                0 0.2 0.4 0.6 0.8 1
                                
                                   5 into i. 6
                                0 0.2 0.4 0.6 0.8 1
                                
                                   from=: -~
                                   (i.6) - 5
                                _5 _4 _3 _2 _1 0
                                
                                   5 from i.6
                                _5 _4 _3 _2 _1 0
                                
                                   (x %/ y);(x %~/ y);(x %/~ y)
                                +-----------------+-------------------+------------------+
                                |0.25 0.2 0.166667|      4       5   6|4   2 1.33333    1|
                                | 0.5 0.4 0.333333|      2     2.5   3|5 2.5 1.66667 1.25|
                                |0.75 0.6      0.5|1.33333 1.66667   2|6   3       2  1.5|
                                |   1 0.8 0.666667|      1    1.25 1.5|                  |
                                +-----------------+-------------------+------------------+
                                </pre>
                        </examples>
                </form>
                <form>
                        <syntax>m~</syntax>
                        <definition valence="monad">
                          <name>Evoke</name>
                          <rank>_</rank>
                          <description>
                                        <p>If<tt> m </tt>is a name, then<tt> 'm'~ </tt>is equivalent 
                                        to<tt> m</tt> .<tt> </tt>For example:</p>
                                        <pre>
                                           m=: 2 3 4
                                           'm'~
                                        2 3 4
                                              
                                           m=: +/
                                           'm'~ 2 3 5 7
                                        17
                                        
                                           m=: /
                                           + 'm'~ 2 3 5 7
                                        17
                                        </pre>                    
                                </description>
                        </definition>
                </form>  
  </primitive>

</dictionary>


I get the following error attempting to display the above XML in MSIE7:

The XML page cannot be displayed

Cannot view XML input using XSL style sheet. Please correct the error and then click the Refresh button, or try again later.

--------------------------------------------------------------------------------

The operation completed successfully. Error processing resource 'file:///C:/amisc/J/NYCJUG/200911/primitiveEG.xml'. Line 1...

                                         <td><big>&harr;</big><tt> u^:(i.m) y</tt></td&...

-- DevonMcCormick 2009-10-20 18:03:00


-- OlegKobchenko 2009-10-21 07:48:05

RicSherlock/J Dictionary/XML Structure (last edited 2009-10-21 07:48:05 by OlegKobchenko)