Amaya 8.1. Руководство Пользователя

       

В первом примере несколько последовательных


  • В первом примере несколько последовательных ненумерованных списков (UL) объединяются в один общий список. Merge Lists: (ul{li+})+; { li > ul:li; }
    Этот патэрн совпадает с последовательностью ненумерованных списков (UL), содержащих последовательности элементов (LI).
    Правило выражает то, что каждый раз при обнаружении элемента списка создаётся новый тэг LI в UL. Когда правило применяется в первый раз, результирующая структура пуста, поэтому нет таких элементов UL, в которых можно создать LI. Следовательно, сначала создаётся UL, а затем применяется правило.
  • Во втором примере определение/definition трансформируется в таблицу. Table: dl{(dt|dd)+}; { dt > <table border=1>.tbody:tr.td; dd > <table border=1>.tbody.tr:td; }
    Этот патэрн совпадает с любым HTML-элементом Definition List (dl).
    Правило объясняет, как таблица строится, когда выполняется проход по структуре выбранного определения/definition list:
  • Каждый элемент dt вызывает создание нового ряда (tr) в теле таблицы.

  • Каждый элемент dd вызывает создание новой ячейки (td) в последнем имеющемся ряду таблицы.

  • В третьем примере удаляется элемент таблицы: его содержимое сохраняется неизменным, но оно извлекается из таблицы. Remove Table: table{?caption,?(body:*{(tr{(td{(?cell_content:*)+}| th{(?cell_content:*)+} )})+})+}; { caption>h3; cell_content>:*; }
    Этот патэрн совпадает с любым элементом table и идентифицирует содержимое каждой ячейки таблицы (cell_content).
    Второе правило указывает, что содержимое каждой ячейки таблицы должно быть перемещено на новое место в таблице-оригинале.
  • См. в файле amaya/HTML.trans другие примеры трансформации.


  • Содержание раздела