home *** CD-ROM | disk | FTP | other *** search
/ PC World 2005 May / PCWorld_2005-05_cd.bin / komunikace / amaya / amaya-WinXP-9.1.exe / doc / html / Transform.html.es < prev    next >
Extensible Markup Language  |  2004-03-04  |  10KB  |  246 lines

  1. <?xml version="1.0" encoding="iso-8859-1"?>
  2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  3.        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  4. <html xmlns="http://www.w3.org/1999/xhtml">
  5. <head>
  6.   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  7.   <meta name="GENERATOR" content="amaya 8.3-, see http://www.w3.org/Amaya/" />
  8.   <title>Utilizar el archivo HTML.trans</title>
  9.   <link href="style.css" rel="stylesheet" type="text/css" />
  10. </head>
  11.  
  12. <body xml:lang="es" lang="es">
  13.  
  14. <table border="0" width="100%" summary="toc">
  15.   <tbody>
  16.     <tr>
  17.       <td><p><img alt="W3C" src="../images/w3c_home" /> <img alt="Amaya"
  18.         src="../images/amaya.gif" /></p>
  19.       </td>
  20.       <td><p align="right"><a
  21.         href="editing_documents/about_merging_elements.html.es"
  22.         accesskey="p"><img alt="anterior" src="../images/left.gif" /></a> <a
  23.         href="Changing.html.es" accesskey="t"><img alt="superior"
  24.         src="../images/up.gif" /></a></p>
  25.       </td>
  26.     </tr>
  27.   </tbody>
  28. </table>
  29.  
  30. <div id="page_body">
  31. <h1>Utilizar el archivo HTML.trans</h1>
  32.  
  33. <p>Este documento es una introducci≤n al mecanismo de
  34. transformaci≤nestructural incluido en Amaya. Describe la sintaxis del
  35. lenguaje de transformaci≤n y la manera en que esas transformaciones se
  36. efect·an en el editor.</p>
  37.  
  38. <p>El archivo <code>amaya/HTML.trans</code> contiene la descripci≤n de las
  39. transformaciones disponibles. Puedes editar este archivo mientras estßs
  40. utilizando Amaya. El archivo se analiza cada vez que solicitas una
  41. transformaci≤n, asφ que puedes a±adir transformaciones mientras estßs
  42. editando un documento.</p>
  43.  
  44. <p><strong>Atenci≤n:</strong> Puesto que la descripci≤n de las
  45. transformaciones puede incluir etiquetas, <strong>no</strong> edites el
  46. archivo <code>HTML.trans</code> con Amaya. Puedes utilizar cualquier otro
  47. editor de texto.</p>
  48. <hr />
  49.  
  50. <h2>Sintßxis del lenguaje de transformaci≤n de Amaya</h2>
  51.  
  52. <p>Los comentarios comienzan por <code><strong>!</strong></code> y contin·an
  53. hasta el final de la lφnea.</p>
  54.  
  55. <p>El archivo consiste en un lista de descripciones de tranformaciones. Cada
  56. transformaci≤n se describe en tres partes:</p>
  57. <ul>
  58.   <li>un <em>nombre</em> terminado con dos
  59.     puntos<strong><code>:</code></strong></li>
  60.   <li>un <em>patr≤n origen</em> terminado con punto y coma
  61.     <strong><code>;</code></strong></li>
  62.   <li>y una lista de <em>reglas</em> entre llaves <strong><code>{
  63.     }</code></strong> en la que cada regla se termina por un punto y coma
  64.     <strong><code>;</code></strong></li>
  65. </ul>
  66.  
  67. <p>El nombre aparece en el men· <strong>Transformar</strong> e identifica la
  68. transformaci≤n de cara al usuario.</p>
  69.  
  70. <h3>El patr≤n</h3>
  71.  
  72. <p>El patr≤n describe la organizaci≤n especφfica de los elementos a
  73. transformar. Act·a como filtro de la DTD HTML. El patr≤n identifica la
  74. combinaci≤n de elementos a la que puede aplicarse la transformaci≤n. El
  75. patr≤n puede incluir condiciones sobre la secuencia de etiquetas, sobre el
  76. contenido de una etiqueta y sobre la existencia y valor de los atributos.</p>
  77.  
  78. <p>Formalmente un patr≤n contiene etiquetas HTML (en su caso, con atributos)
  79. y algunos operadores:</p>
  80.  
  81. <p><strong><code>|</code></strong> indica elecci≤n</p>
  82.  
  83. <p><strong><code>,</code></strong> indica hermano</p>
  84.  
  85. <p><strong><code>+</code></strong> indica secuencia</p>
  86.  
  87. <p><strong><code>?</code></strong> indica elecci≤n</p>
  88.  
  89. <p><strong><code>( )</code></strong> indica agrupaci≤n de nodos</p>
  90.  
  91. <p>Las llaves <code><strong>{</strong></code> <code><strong>}</strong></code>
  92. definen el contenido de un nodo.</p>
  93.  
  94. <p>El sφmbolo <strong><code>*</code></strong> inidca que se seleccionarß
  95. cualquier tipo de elemento.</p>
  96.  
  97. <p>Puedes renombrar una etiqueta escribiendo antes de ella un nombre seguido
  98. de dos puntos (<strong><code>:</code></strong>).</p>
  99.  
  100. <p>La etiqueta puede tener atributos. Si no se especifica ning·n valor para
  101. un atributo, se seleccionarß cualquier elemento que tenga el atributo. Si se
  102. especifica un valor para un atributo, tan s≤lo se seleccionarßn los elementos
  103. que contengan el atributo y el valor especificado.</p>
  104.  
  105. <p>Al final del documento puedes consultar <a href="#L235">ejemplos</a> de
  106. patrones.</p>
  107.  
  108. <h3>Las reglas</h3>
  109.  
  110. <p>Una regla expresa c≤mo se transformarßn los elementos identificados por el
  111. patr≤n. Una regla tiene dos partes separadas por el sφmbolo
  112. <strong><code>></code></strong>:</p>
  113. <ul>
  114.   <li>una etiqueta origen o un nombre definido en el patr≤n,</li>
  115.   <li>una lista de etiquetas destino, que indica las etiquetas que deben
  116.     generarse y el lugar en que se insertan al transformar el elemento
  117.   origen.</li>
  118. </ul>
  119.  
  120. <p>La lista de etiquetas destino se divide a su vez en dos partes separadas
  121. por dos puntos (<strong><code>:</code></strong>):</p>
  122. <ul>
  123.   <li>el camino de generaci≤n (que identifica el lugar en que se insertan las
  124.     nuevas etiquetas)</li>
  125.   <li>la lista de etiquetas a generar</li>
  126. </ul>
  127.  
  128. <p>El camino de generaci≤n se recorre a partir de la rama situada mßs a la
  129. izquierda en el ßrbol del documento, comenzando en el padre del elemento que
  130. coincide con el sφmbolo mßs alto del patr≤n.</p>
  131.  
  132. <p>En la lista de etiquetas destino, el sφmbolo punto
  133. (<code><strong>.</strong></code>) se emplea para bajar en la estructura del
  134. ßrbol.</p>
  135.  
  136. <p>Si el sφmbolo especial asterisco (<code><strong>*</strong></code>)
  137. completa la lista de etiquetas a generar, la etiqueta origen no cambia, pero
  138. puede situarse en otro lugar en el destino.</p>
  139.  
  140. <p>Si la etiqueta origen o el nombre situado en la parte izquierda de una
  141. regla aparece mßs de una vez en el patr≤n, la regla transforma todos los
  142. elementos del patr≤n que coincidan.</p>
  143.  
  144. <h2>Proceso de transformaci≤n</h2>
  145.  
  146. <p>Cuando el usuario elige el comando <strong>Transformar</strong> del men·
  147. <strong>Editar</strong>, Amaya analiza el archivo <code>HTML.trans</code>. A
  148. continuaci≤n, los elementos seleccionados se comparan con el patr≤n de cada
  149. transformaci≤n. Los nombres de las trasnformaciones coincidentes se proponen
  150. al usuario en un men· emergente.</p>
  151.  
  152. <p>Si se pueden aplicar varias transformaciones con el mismo nombre a los
  153. elementos seleccionados, se propone al usuario la transformaci≤n que coincide
  154. al nivel mßs alto. Si se pueden aplicar varias transformaciones del mismo
  155. nivel, se propone la que aparezca primero en el archivo
  156. <code>HTML.trans</code>. En consecuencia, se recomienda especificar antes las
  157. transformaciones especφficas que las generales.</p>
  158.  
  159. <p>Una vez que el usuario ha elegido un transformaci≤n, la estructura de
  160. destino se construye siguiendo las reglas mientras se recorren los elementos
  161. seleccionados.</p>
  162.  
  163. <p>Finalmente, el contenido de los elementos origen (texto e imßgenes, pero
  164. tambiΘn contenido estructurado) se sit·a en los elementos generados.</p>
  165.  
  166. <p>Este proceso de transformaci≤n de los documentos HTML se describe en
  167. detalle en el artφculo <a
  168. href="http://opera.inrialpes.fr/opera/papers9696.html">Reestructurar
  169. interactivamente documentos HTML</a>, presentado en la <a
  170. href="http://www5conf.inria.fr/">5¬ conferencia internacional WWW</a> en
  171. Paris, Mayo 1996, por CΘcile Roisin y StΘphane Bonhomme.</p>
  172.  
  173. <h2><a name="L235" id="L235">Ejemplos</a></h2>
  174. <ul>
  175.   <li>El primer ejemplo une varias listas no ordenadas (ul) consecutivas en
  176.     una ·nica lista.
  177.     <pre>Merge Lists: (ul{li+})+;
  178.  
  179.     { 
  180.  
  181.     li > ul:li; 
  182.  
  183.     }</pre>
  184.     <p>El patr≤n coincide con una secuencia de listas no ordenadas (ul), que
  185.     contengan items (li).</p>
  186.     <p>La regla significa que cada vez que se encuentra un item al recorrer
  187.     los elementos seleccionados, se crea una nueva etiqueta li dentro de un
  188.     ul. Cuando se aplica la regla por primera vez, la estructura resultante
  189.     estß vacφa, por lo que no existe elemento ul en el que crear el li. Una
  190.     vez se ha cereado el ul, se puede aplicar la regla.</p>
  191.   </li>
  192.   <li>El segundo ejemplo transforma una lista de definici≤n en una tabla.
  193.     <pre>Table: dl{(dt|dd)+}; 
  194.  
  195.    { 
  196.  
  197.    dt > <table border=1>.tbody:tr.td; 
  198.  
  199.    dd > <table border=1>.tbody.tr:td; 
  200.  
  201.    }</pre>
  202.     <p>El patr≤n coincide con cualquier elemento lista definici≤n
  203.     (<code>dl</code>).</p>
  204.     <p>Las reglas explican c≤mo se crea la tabla al recorrer la estructura de
  205.     las listas de definici≤n seleccionadas.</p>
  206.     <ul>
  207.       <li>Cada <code>dt</code> implica la creaci≤n de una nueva fila
  208.         (<code>tr</code>) en el cuerpo de la tabla.</li>
  209.       <li>Cada <code>dd</code> implica la creaci≤n de una nueva celda
  210.         (<code>td</code>) en la ·ltima fila de la tabla.</li>
  211.     </ul>
  212.   </li>
  213.   <li>El tercer ejemplo elimina una tabla, manteniendo su contenido sin
  214.     cambios, pero fuera de la tabla.
  215.     <pre>Remove Table:
  216.  
  217. table{?caption,?(body:*{(tr{(td{(?cell_content:*)+}|
  218.  
  219.                              th{(?cell_content:*)+}
  220.  
  221.                            )})+})+};
  222.  
  223.      { 
  224.  
  225.      caption>h3; 
  226.  
  227.      cell_content>:*;
  228.  
  229.      }</pre>
  230.     <p>El patr≤n coincide con cualquier tabla e identifica el contenido de
  231.     cada celda de la tabla (cell_content).</p>
  232.     <p>La segunda regla significa que el contenido de cada celda se situarß
  233.     en el lugar donde se encontraba la tabla original.</p>
  234.   </li>
  235.   <li>Ver el archivo <kbd>amaya/HTML.trans</kbd> para consultar otros
  236.     ejemplos de transformaciones.</li>
  237. </ul>
  238. </div>
  239. <hr />
  240. <address>
  241.   <a href="mailto:Stephane.Bonhomme@inrialpes.fr">StΘphane Bonhomme</a> <br />
  242.   $Fecha 2002/09/10 07:07:21 $
  243. </address>
  244. </body>
  245. </html>
  246.