На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Модераторы: ANDLL
  
> Вопрос по использованию libxslt на C , Повторное использование xsltTransformContext
    Привет.

    Не могу понять логику работы с xsltTransformContext.

    1. Можно ли создать контекст как-то иначе, кроме как xsltNewTransformContext?

    2. xsltNewTransformContext сразу же требует передать ему xsl и xml. При этом при вызове xsltApplyStylesheetUser их нужно передать снова. При этом если в одном из этих вызовов передать пустые документы, то трансформация отработает не правильно. Как это все понимать?

    3. Получается что xsltTransformContext - одноразовый (раз уж он сразу в "конструкторе" хочет получить xsl и xml). Мне же надо нарегать в контексте кучу функций. Я не хочу это делать каждый раз при каждной новой трансформации. Я хочу зарегать все один раз, и потом юзать полученный контекст на разных xsl/xml. Это возможно?

    Должно быть какое-то решение. Ведь в PHP используется libxslt, а там интерфейс делает именно то, что мне нужно: создает пустой контекст, регает функции, и потом юзает один и тот же контекст для разных транформаций:

    ExpandedWrap disabled
      $xsl = DOMDocument::loadXML(...);
      $xml = DOMDocument::loadXML(...);
      $proc = new XSLTProcessor;
      $proc->registerPHPFunctions(...);
       
      $proc->importStyleSheet($xsl);
      $proc->transformToXML($xml);
      ...
      $proc->importStyleSheet($xsl);
      $proc->transformToXML($xml);
    1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
    0 пользователей:


    Рейтинг@Mail.ru
    [ Script execution time: 0,0152 ]   [ 14 queries used ]   [ Generated: 1.06.24, 06:01 GMT ]