Будет ли XPath 2.0 и / или XSLT 2.0 реализован в PHP?

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

Будет ли когда-нибудь XPath 2.0 и / или XSLT 2.0 реализован в PHP или есть какие-то планы?


person Abel    schedule 18.01.2010    source источник
comment
может помочь phpmyxml.sourceforge.net   -  person Haim Evgi    schedule 18.01.2010
comment
phpmyxml не поддерживает версии 2.0 стандартов XSLT / XPath.   -  person Abel    schedule 18.01.2010
comment
возможный дубликат Обновите процессор PHP XSLT до XSLT 2.0   -  person tripleee    schedule 06.09.2012
comment
@tripleee, этот вопрос задавали за несколько месяцев до этого, поэтому я предполагаю, что это наоборот. Но ответы во многом различаются, и упомянутый ответ добавляет ценности, так что на самом деле никаких настоящих обманов;).   -  person Abel    schedule 09.09.2015


Ответы (2)


См. Этот список механизмов XSLT с сайта ветка в списке рассылки XSL по поводу разработки XSLT 2.0.

Решением для PHP является использование PHP / Java Bridge и Saxon и следуйте руководство.

Текущий статус разработки XSLT 2.0 (и XPath 2.0) означает, что в настоящее время нет никаких планов, поэтому не может быть и для PHP. Чтобы использовать XPath 2.0, вам необходимо включить Saxon 9.x и взаимодействовать с библиотеками Java.

Даже если бы кто-то сегодня написал родную библиотеку с открытым исходным кодом для XPath 2.0 и XSLT 2.0, потребуется время, прежде чем она станет пригодной для производства.

person Abel    schedule 18.01.2010
comment
@Abel: Стоит ли подписываться на список XSL? Я боюсь, что моя учетная запись GMail может быть захвачена потоком спама, и что я никогда больше не буду счастлив, если подпишусь… - person Tomalak; 18.01.2010
comment
Я лично никогда не получал спам через XSL-листы, в них очень сильный фильтр и человеческий мониторинг. Конечно, ваша электронная почта будет общедоступной, и это может привести к (большему количеству) нежелательной почты. Но с хорошим спам-фильтром, который в настоящее время является обязательным, я получаю только одно спам-сообщение в неделю. Что я обычно рекомендую: используйте специальный адрес для всех подписок на рассылку или других общедоступных профилей. - person Abel; 18.01.2010
comment
PS: стоит ли: однозначно! Известные эксперты XSLT, такие как главный редактор XSLT 2.0 W3C Майкл Кей и другие, такие как Димитр Новачев, Эндрю Велч, Дж. Кен Холман (также XSL-FO) и Дэвид Карлайл, очень активны и дают надежные советы. Убедитесь, что вы прочитали FAQ, прежде чем спрашивать, и вас будут приветствовать в списке. Я увижу тебя там? - person Abel; 18.01.2010
comment
Мне больше интересно ответить, чем спросить, но я окончательно об этом думаю. Stack Overflow немного слабоват в отношении XSLT, всего несколько вопросов в день. - person Tomalak; 18.01.2010
comment
возможно, это кому-то поможет: stackoverflow.com/a/20371639/4941870 - person Nicholas Vasilaki; 21.02.2020
comment
@nicholas, это в основном то, что Дмитрий сказал в ответе ниже, оба о Saxon-C. Хотя неплохо также связать этот новый вопрос. - person Abel; 24.02.2020

Saxon C был создан с учетом этого варианта использования (PHP). Это процессор Saxon XSLT 2.0, и теперь его можно использовать из PHP.

В частности, вот информация из документации о том, как создать расширение PHP:

Расширение PHP

Чтобы создать расширение PHP, выполните следующие действия.

(В качестве альтернативы вы можете использовать прилагаемый сценарий установки install.sh Петра Зака ​​- написано для 64-битной машины, но может быть изменено для 32-битной машины.)

Выполните команды:

• phpize

• ./configure --enable-saxon

• сделать

• sudo make

установить

Обновите файл php.ini (при использовании Ubuntu он обычно находится в папке '/ etc / php5 / apache2 /'), чтобы он содержал расширение PHP. Вставьте в раздел динамических расширений следующее: extension = saxon.so, затем запустите команду

• перезапуск службы sudo apache2

person Dimitre Novatchev    schedule 27.09.2015