Nano Hash - криптовалюты, майнинг, программирование

XSLT 2.0 Поддержка PHP. Когда?

Каковы шансы увидеть в ближайшем будущем процессоры XSLT 2.0, такие как saxon для php?

27.11.2009

  • При необходимости вы всегда можете передать обработку XSLT на внешний процессор с поддержкой XSLT 2.0… 04.12.2009
  • На мой взгляд, никогда с производительностью XSLT 1.0 процессоры ... Для промежуточного программного обеспечения и обмена данными, как в проекте Gnome, пользователю требуется производительность и выполнение отдельных задач ( как старая проверка DTD и простые фильтры XSLT). Для приложений баз данных (например, с учетом отсутствия xQuery в PostgreSQL) PHP и общедоступные сообщества программного обеспечения должны развиваться и должны оправдывать вложения в открытый исходный код, как показано здесь. 09.01.2013
  • Хорошие новости Оформить заказ: stackoverflow.com/a/20275114/36305 13.12.2013

Ответы:


1

Ближайшем будущем? Никто.

PHP5 полагается исключительно на LibXSLT для обработки XSLT (Sablotron отсутствует), а поддержка XSLT 2.0 отсутствует. в этой библиотеке.

27.11.2009

2

Это не совсем так.

Если вы используете PHP на платформе Windows, то относительно легко настроить расширение для процессора AltovaXML XSLT 2.0 ... http://sourceforge.net/projects/xslt2processor/

Если вы используете PHP в Linux, вам необходимо установить PHP / Java Bridge. Это включает в себя запуск сервлета Java, содержащегося как Apache / Tomcat, и довольно сложный процесс. Существует также относительно сложный гибридный код java / php, необходимый для этой работы. Если интересно, могу выложить подробности.

04.12.2009
  • @JR: На будущее - используйте комментарии для такого рода ответов (я знаю, что вы пока не можете комментировать ). Подобные ответы выходят из контекста, как только будут отданы голоса за / против и список ответов будет повторно отсортирован. 04.12.2009

  • 3

    Наконец, на этот вопрос есть положительный ответ.

    Только сегодня доктор Майкл Кей объявил о том, что Saxon / C .

    См. Это для получения дополнительной информации: https://stackoverflow.com/a/20275114/36305

    28.11.2013
  • Отличное спасибо !! Но я бы хотел, чтобы об этом было объявлено более двух недель назад, когда я искал в Интернете что-то вроде этого. в любом случае время для рефакторинга и обновления до xstl 2.0 :) 13.12.2013
  • @RezaSanaie, Да, XSLT 1.0 14 лет - древний по интернету времени. 13.12.2013

  • 4

    В PHP до сих пор нет поддержки XSLT2.o, единственный вариант использования XSLT2.0 - это использовать SAXON, основанный на java, и, следовательно, вам потребуется что-то вроде процессора PHP XSLT2.0, см. Эту ссылку: http://sourceforge.net/projects/xslt2processor/

    XML_XSLT2Processor - это класс PHP, который позволяет выполнять преобразования XSLT 2.0 в PHP с помощью SAXON или AltovaXML.

    18.07.2012
  • saxon / c не основан на java, он написан на c ++ ... saxonica.com/saxon -c / index.xml и вот php api для saxon / c saxonica.com/saxon-c/doc/html/index.html#php-api 07.06.2016

  • 5

    На PHP есть транспилятор XSL 2.0 с открытым исходным кодом, который можно найти на github.

    Также Saxon / C версии 1.0.0 поддерживает XSLT 2.0 / 3.0 на C / C ++ и PHP был выпущен.

    08.02.2016

    6

    PHP использует LibXML2 для реализации всех классов XML. Это очень быстро и стабильно, но сегодня (2013 г.) поддерживает только XPath1 и XSLT1 ... Возможно, сообществу нужно только это более быстрое и простое решение, а не нужны возможности XSLT2 (см. вариант 0).

    option0: попробуйте использовать лучшее разделение MVC!

    ... Многим шаблонам, используемым в качестве View в контексте MVC, не нужны возможности XSLT2: см. хорошее объяснение почему. Посмотрите, как в некоторых хороших PHP-проектах используется XSLT1

    option1: попробуйте неосновную реализацию

    Как показал @collapsar в этом аналогичном вопросе, существует открытый исходный код, разработанный для расширения классического LibXML2 с некоторыми возможностями XSLT2 и XPath2. См. http://www.explain.com.au/libx/.

    Сообщество PHP еще не мотивировано для завершения этой эволюции ... Почему? Может просто боится потерять некоторую производительность и стабильность. Может быть, просто нехватка рабочей силы для выполнения задачи, в основном в драйвере PHP.

    option2: наделить XSLT1 или XPath1 функциями / связями PHP

    См. Здесь пример обычного обходного пути путем регистрации функций PHP в XPath1 или XSLT1. Я использую это решение в своих проектах.

    26.11.2013
    Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..


    © 2024 nano-hash.ru, Nano Hash - криптовалюты, майнинг, программирование