parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

XML: form, cookies, SQL, env

Александр Петросян (PAF) 03.06.2002 16:33

это хороший вопрос!! не выработался.

дело в том, что мало понятно, что же более практично.

с одной стороны, красивее сразу иметь dom дерево, которое можно при случае дополнить, или само его куда-то встроить. и это потом пустить под transform. что-то вроде:
^xfragment::sql{...}
с другой стороны, это не в духе Parser. в его духе делать как раз текст в угловых скобках, который потом пойдёт в xdoc::create и только потом под transform.

с третьей стороны есть mssql, в котором используется (surprize, surprize) модифицированный SQL, с добавленными указаниями на имена тегов и прочее. и очень бы хотелось обобщить, но без разбора sql синтаксиса тут не обойдётся, а очень бы не хотелось.

совсем просто можно сделать что-то такое(решив предварительно, что же удобнее dom или text):
^...sql{select product_id, name from product where ...}[
   $.list[LIST]
   $.item[ITEM]
]
--
<LIST>
  <ITEM>
     <product_id></product_id>
     <name></name></ITEM>
</LIST>
на уровне идеи обитает такое(в духе oracle/psql работы с blob):
^...sql{select/*xml:LIST/ITEM*/ product_id, name/*xml:ALTERNATE_NAME*/ from product where ...}