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 >
Encoding:
Extensible Markup Language  |  2004-03-04  |  9.7 KB  |  246 lines

  1. <?xml version="1.0" encoding="iso-8859-1"?>
  2.  
  3. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  4.  
  5.        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  6.  
  7. <html xmlns="http://www.w3.org/1999/xhtml">
  8.  
  9. <head>
  10.  
  11.   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  12.  
  13.   <meta name="GENERATOR" content="amaya 8.3-, see http://www.w3.org/Amaya/" />
  14.  
  15.   <title>Utilizar el archivo HTML.trans</title>
  16.  
  17.   <link href="style.css" rel="stylesheet" type="text/css" />
  18.  
  19. </head>
  20.  
  21.  
  22.  
  23. <body xml:lang="es" lang="es">
  24.  
  25.  
  26.  
  27. <table border="0" width="100%" summary="toc">
  28.  
  29.   <tbody>
  30.  
  31.     <tr>
  32.  
  33.       <td><p><img alt="W3C" src="../images/w3c_home" /> <img alt="Amaya"
  34.  
  35.         src="../images/amaya.gif" /></p>
  36.  
  37.       </td>
  38.  
  39.       <td><p align="right"><a
  40.  
  41.         href="editing_documents/about_merging_elements.html.es"
  42.  
  43.         accesskey="p"><img alt="anterior" src="../images/left.gif" /></a> <a
  44.  
  45.         href="Changing.html.es" accesskey="t"><img alt="superior"
  46.  
  47.         src="../images/up.gif" /></a></p>
  48.  
  49.       </td>
  50.  
  51.     </tr>
  52.  
  53.   </tbody>
  54.  
  55. </table>
  56.  
  57.  
  58.  
  59. <div id="page_body">
  60.  
  61. <h1>Utilizar el archivo HTML.trans</h1>
  62.  
  63.  
  64.  
  65. <p>Este documento es una introducci≤n al mecanismo de
  66.  
  67. transformaci≤nestructural incluido en Amaya. Describe la sintaxis del
  68.  
  69. lenguaje de transformaci≤n y la manera en que esas transformaciones se
  70.  
  71. efect·an en el editor.</p>
  72.  
  73.  
  74.  
  75. <p>El archivo <code>amaya/HTML.trans</code> contiene la descripci≤n de las
  76.  
  77. transformaciones disponibles. Puedes editar este archivo mientras estßs
  78.  
  79. utilizando Amaya. El archivo se analiza cada vez que solicitas una
  80.  
  81. transformaci≤n, asφ que puedes a±adir transformaciones mientras estßs
  82.  
  83. editando un documento.</p>
  84.  
  85.  
  86.  
  87. <p><strong>Atenci≤n:</strong> Puesto que la descripci≤n de las
  88.  
  89. transformaciones puede incluir etiquetas, <strong>no</strong> edites el
  90.  
  91. archivo <code>HTML.trans</code> con Amaya. Puedes utilizar cualquier otro
  92.  
  93. editor de texto.</p>
  94.  
  95. <hr />
  96.  
  97.  
  98.  
  99. <h2>Sintßxis del lenguaje de transformaci≤n de Amaya</h2>
  100.  
  101.  
  102.  
  103. <p>Los comentarios comienzan por <code><strong>!</strong></code> y contin·an
  104.  
  105. hasta el final de la lφnea.</p>
  106.  
  107.  
  108.  
  109. <p>El archivo consiste en un lista de descripciones de tranformaciones. Cada
  110.  
  111. transformaci≤n se describe en tres partes:</p>
  112.  
  113. <ul>
  114.  
  115.   <li>un <em>nombre</em> terminado con dos
  116.  
  117.     puntos<strong><code>:</code></strong></li>
  118.  
  119.   <li>un <em>patr≤n origen</em> terminado con punto y coma
  120.  
  121.     <strong><code>;</code></strong></li>
  122.  
  123.   <li>y una lista de <em>reglas</em> entre llaves <strong><code>{
  124.  
  125.     }</code></strong> en la que cada regla se termina por un punto y coma
  126.  
  127.     <strong><code>;</code></strong></li>
  128.  
  129. </ul>
  130.  
  131.  
  132.  
  133. <p>El nombre aparece en el men· <strong>Transformar</strong> e identifica la
  134.  
  135. transformaci≤n de cara al usuario.</p>
  136.  
  137.  
  138.  
  139. <h3>El patr≤n</h3>
  140.  
  141.  
  142.  
  143. <p>El patr≤n describe la organizaci≤n especφfica de los elementos a
  144.  
  145. transformar. Act·a como filtro de la DTD HTML. El patr≤n identifica la
  146.  
  147. combinaci≤n de elementos a la que puede aplicarse la transformaci≤n. El
  148.  
  149. patr≤n puede incluir condiciones sobre la secuencia de etiquetas, sobre el
  150.  
  151. contenido de una etiqueta y sobre la existencia y valor de los atributos.</p>
  152.  
  153.  
  154.  
  155. <p>Formalmente un patr≤n contiene etiquetas HTML (en su caso, con atributos)
  156.  
  157. y algunos operadores:</p>
  158.  
  159.  
  160.  
  161. <p><strong><code>|</code></strong> indica elecci≤n</p>
  162.  
  163.  
  164.  
  165. <p><strong><code>,</code></strong> indica hermano</p>
  166.  
  167.  
  168.  
  169. <p><strong><code>+</code></strong> indica secuencia</p>
  170.  
  171.  
  172.  
  173. <p><strong><code>?</code></strong> indica elecci≤n</p>
  174.  
  175.  
  176.  
  177. <p><strong><code>( )</code></strong> indica agrupaci≤n de nodos</p>
  178.  
  179.  
  180.  
  181. <p>Las llaves <code><strong>{</strong></code> <code><strong>}</strong></code>
  182.  
  183. definen el contenido de un nodo.</p>
  184.  
  185.  
  186.  
  187. <p>El sφmbolo <strong><code>*</code></strong> inidca que se seleccionarß
  188.  
  189. cualquier tipo de elemento.</p>
  190.  
  191.  
  192.  
  193. <p>Puedes renombrar una etiqueta escribiendo antes de ella un nombre seguido
  194.  
  195. de dos puntos (<strong><code>:</code></strong>).</p>
  196.  
  197.  
  198.  
  199. <p>La etiqueta puede tener atributos. Si no se especifica ning·n valor para
  200.  
  201. un atributo, se seleccionarß cualquier elemento que tenga el atributo. Si se
  202.  
  203. especifica un valor para un atributo, tan s≤lo se seleccionarßn los elementos
  204.  
  205. que contengan el atributo y el valor especificado.</p>
  206.  
  207.  
  208.  
  209. <p>Al final del documento puedes consultar <a href="#L235">ejemplos</a> de
  210.  
  211. patrones.</p>
  212.  
  213.  
  214.  
  215. <h3>Las reglas</h3>
  216.  
  217.  
  218.  
  219. <p>Una regla expresa c≤mo se transformarßn los elementos identificados por el
  220.  
  221. patr≤n. Una regla tiene dos partes separadas por el sφmbolo
  222.  
  223. <strong><code>></code></strong>:</p>
  224.  
  225. <ul>
  226.  
  227.   <li>una etiqueta origen o un nombre definido en el patr≤n,</li>
  228.  
  229.   <li>una lista de etiquetas destino, que indica las etiquetas que deben
  230.  
  231.     generarse y el lugar en que se insertan al transformar el elemento
  232.  
  233.   origen.</li>
  234.  
  235. </ul>
  236.  
  237.  
  238.  
  239. <p>La lista de etiquetas destino se divide a su vez en dos partes separadas
  240.  
  241. por dos puntos (<strong><code>:</code></strong>):</p>
  242.  
  243. <ul>
  244.  
  245.   <li>el camino de generaci≤n (que identifica el lugar en que se insertan las
  246.  
  247.     nuevas etiquetas)</li>
  248.  
  249.   <li>la lista de etiquetas a generar</li>
  250.  
  251. </ul>
  252.  
  253.  
  254.  
  255. <p>El camino de generaci≤n se recorre a partir de la rama situada mßs a la
  256.  
  257. izquierda en el ßrbol del documento, comenzando en el padre del elemento que
  258.  
  259. coincide con el sφmbolo mßs alto del patr≤n.</p>
  260.  
  261.  
  262.  
  263. <p>En la lista de etiquetas destino, el sφmbolo punto
  264.  
  265. (<code><strong>.</strong></code>) se emplea para bajar en la estructura del
  266.  
  267. ßrbol.</p>
  268.  
  269.  
  270.  
  271. <p>Si el sφmbolo especial asterisco (<code><strong>*</strong></code>)
  272.  
  273. completa la lista de etiquetas a generar, la etiqueta origen no cambia, pero
  274.  
  275. puede situarse en otro lugar en el destino.</p>
  276.  
  277.  
  278.  
  279. <p>Si la etiqueta origen o el nombre situado en la parte izquierda de una
  280.  
  281. regla aparece mßs de una vez en el patr≤n, la regla transforma todos los
  282.  
  283. elementos del patr≤n que coincidan.</p>
  284.  
  285.  
  286.  
  287. <h2>Proceso de transformaci≤n</h2>
  288.  
  289.  
  290.  
  291. <p>Cuando el usuario elige el comando <strong>Transformar</strong> del men·
  292.  
  293. <strong>Editar</strong>, Amaya analiza el archivo <code>HTML.trans</code>. A
  294.  
  295. continuaci≤n, los elementos seleccionados se comparan con el patr≤n de cada
  296.  
  297. transformaci≤n. Los nombres de las trasnformaciones coincidentes se proponen
  298.  
  299. al usuario en un men· emergente.</p>
  300.  
  301.  
  302.  
  303. <p>Si se pueden aplicar varias transformaciones con el mismo nombre a los
  304.  
  305. elementos seleccionados, se propone al usuario la transformaci≤n que coincide
  306.  
  307. al nivel mßs alto. Si se pueden aplicar varias transformaciones del mismo
  308.  
  309. nivel, se propone la que aparezca primero en el archivo
  310.  
  311. <code>HTML.trans</code>. En consecuencia, se recomienda especificar antes las
  312.  
  313. transformaciones especφficas que las generales.</p>
  314.  
  315.  
  316.  
  317. <p>Una vez que el usuario ha elegido un transformaci≤n, la estructura de
  318.  
  319. destino se construye siguiendo las reglas mientras se recorren los elementos
  320.  
  321. seleccionados.</p>
  322.  
  323.  
  324.  
  325. <p>Finalmente, el contenido de los elementos origen (texto e imßgenes, pero
  326.  
  327. tambiΘn contenido estructurado) se sit·a en los elementos generados.</p>
  328.  
  329.  
  330.  
  331. <p>Este proceso de transformaci≤n de los documentos HTML se describe en
  332.  
  333. detalle en el artφculo <a
  334.  
  335. href="http://opera.inrialpes.fr/opera/papers9696.html">Reestructurar
  336.  
  337. interactivamente documentos HTML</a>, presentado en la <a
  338.  
  339. href="http://www5conf.inria.fr/">5¬ conferencia internacional WWW</a> en
  340.  
  341. Paris, Mayo 1996, por CΘcile Roisin y StΘphane Bonhomme.</p>
  342.  
  343.  
  344.  
  345. <h2><a name="L235" id="L235">Ejemplos</a></h2>
  346.  
  347. <ul>
  348.  
  349.   <li>El primer ejemplo une varias listas no ordenadas (ul) consecutivas en
  350.  
  351.     una ·nica lista.
  352.  
  353.     <pre>Merge Lists: (ul{li+})+;
  354.  
  355.  
  356.  
  357.     { 
  358.  
  359.  
  360.  
  361.     li > ul:li; 
  362.  
  363.  
  364.  
  365.     }</pre>
  366.  
  367.     <p>El patr≤n coincide con una secuencia de listas no ordenadas (ul), que
  368.  
  369.     contengan items (li).</p>
  370.  
  371.     <p>La regla significa que cada vez que se encuentra un item al recorrer
  372.  
  373.     los elementos seleccionados, se crea una nueva etiqueta li dentro de un
  374.  
  375.     ul. Cuando se aplica la regla por primera vez, la estructura resultante
  376.  
  377.     estß vacφa, por lo que no existe elemento ul en el que crear el li. Una
  378.  
  379.     vez se ha cereado el ul, se puede aplicar la regla.</p>
  380.  
  381.   </li>
  382.  
  383.   <li>El segundo ejemplo transforma una lista de definici≤n en una tabla.
  384.  
  385.     <pre>Table: dl{(dt|dd)+}; 
  386.  
  387.  
  388.  
  389.    { 
  390.  
  391.  
  392.  
  393.    dt > <table border=1>.tbody:tr.td; 
  394.  
  395.  
  396.  
  397.    dd > <table border=1>.tbody.tr:td; 
  398.  
  399.  
  400.  
  401.    }</pre>
  402.  
  403.     <p>El patr≤n coincide con cualquier elemento lista definici≤n
  404.  
  405.     (<code>dl</code>).</p>
  406.  
  407.     <p>Las reglas explican c≤mo se crea la tabla al recorrer la estructura de
  408.  
  409.     las listas de definici≤n seleccionadas.</p>
  410.  
  411.     <ul>
  412.  
  413.       <li>Cada <code>dt</code> implica la creaci≤n de una nueva fila
  414.  
  415.         (<code>tr</code>) en el cuerpo de la tabla.</li>
  416.  
  417.       <li>Cada <code>dd</code> implica la creaci≤n de una nueva celda
  418.  
  419.         (<code>td</code>) en la ·ltima fila de la tabla.</li>
  420.  
  421.     </ul>
  422.  
  423.   </li>
  424.  
  425.   <li>El tercer ejemplo elimina una tabla, manteniendo su contenido sin
  426.  
  427.     cambios, pero fuera de la tabla.
  428.  
  429.     <pre>Remove Table:
  430.  
  431.  
  432.  
  433. table{?caption,?(body:*{(tr{(td{(?cell_content:*)+}|
  434.  
  435.  
  436.  
  437.                              th{(?cell_content:*)+}
  438.  
  439.  
  440.  
  441.                            )})+})+};
  442.  
  443.  
  444.  
  445.      { 
  446.  
  447.  
  448.  
  449.      caption>h3; 
  450.  
  451.  
  452.  
  453.      cell_content>:*;
  454.  
  455.  
  456.  
  457.      }</pre>
  458.  
  459.     <p>El patr≤n coincide con cualquier tabla e identifica el contenido de
  460.  
  461.     cada celda de la tabla (cell_content).</p>
  462.  
  463.     <p>La segunda regla significa que el contenido de cada celda se situarß
  464.  
  465.     en el lugar donde se encontraba la tabla original.</p>
  466.  
  467.   </li>
  468.  
  469.   <li>Ver el archivo <kbd>amaya/HTML.trans</kbd> para consultar otros
  470.  
  471.     ejemplos de transformaciones.</li>
  472.  
  473. </ul>
  474.  
  475. </div>
  476.  
  477. <hr />
  478.  
  479. <address>
  480.  
  481.   <a href="mailto:Stephane.Bonhomme@inrialpes.fr">StΘphane Bonhomme</a> <br />
  482.  
  483.   $Fecha 2002/09/10 07:07:21 $
  484.  
  485. </address>
  486.  
  487. </body>
  488.  
  489. </html>
  490.  
  491.