Многие из вас помочь мне в этом предыдущий вопрос: xslt flattening out child elements in a DocBook para elementуплощение и XSLT unflattening DocBook пункт элемент
Был дополнительный поворот к этой проблеме, что я хотел увидеть, если кто-то делал это раньше. Вспоминая образец текста раньше. На предыдущий вопрос был дан ответ, в котором был рассмотрен вопрос об использовании текста между элементами блока и обертывании их с помощью элемента para, так как наша схема не любит блокировать элементы, такие как tabe, figure и т. Д. В элементе para.
<para>some text.....
<literallayout>
</literallayout>
more text....
<table>
...
</table>
even more text
<table>...</table>
<literallayout>text also look here</literlayout>
more text <link xlink:href="http://someurl.com">
</para>
числа морщин в этом, является то, что для встроенных элементов, как ссылки, эти элементы должны быть в паре элементе. Таким образом, последние две строки текста о идеале должен выглядеть следующим образом:
<para>more text <link xlink:hred="http://someurl.com">someurl</link></para>
Использование для-каждой конструкции, я могу пройти через узлы в пределах пара элемента, но если какой-либо из узлов были неблочный элемент, мне придется обернуть их в элемент para. Если есть текстовый узел перед этим неблокирующим элементом и/или потом, тогда было бы желательно обернуть все это в пара-элементе.
Я могу придумать, как это сделать, хотя и взломанным способом, на любом другом языке программирования, но вам нужна помощь от гуру XSLT, чтобы рассказать мне об элегантном способе сделать это!
Был запрос на получение дополнительной информации. В приведенном выше примере я должен иметь возможность выводить следующее:
<para>some text..... </para>
<literallayout>
</literallayout>
<para> more text.... </para>
<table> ... </table>
<para> even more text </para>
<table>...</table>
<literallayout>
<para>more text <link xlink:hred="http://someurl.com">someurl</link></para>
Надеюсь, это упростит ситуацию.
Спасибо всем за вашу помощь.
Russ
Можете ли вы пояснить это? В вашем примере элемент 'link' уже находится в элементе' para', а именно тот, который запускает примерный документ. –
Конечно, позвольте мне немного обновить пример. –