XSLT в Java без использования утилит XML JRE - PullRequest
0 голосов
/ 17 декабря 2018

Похоже, что JDK предоставляет свою собственную затененную версию apache xalan.

Я обнаружил ошибку при создании XML с XSLT (ошибка - это новая строка, и в некоторых разделах cdata добавляется отступ),Это исправлено в неизданном jdk12.Я хотел бы избежать этой ситуации, в которой мне нужно как дождаться, пока оракул исправит проблему, так и обновить используемую JRE.

Я рассматривал включение ксалана в качестве зависимости через maven.Это работает и, похоже, исправляет проблему, однако, похоже, что последний раз, когда xalan обновлялся, был 24 июля 2014 года. Это более 4 лет с момента последнего обновления.

Я бы хотел иметь возможность зависетьна xalan или на чем-то еще, поддерживающем XSLT без этой зависимости, поступающей от JRE.

  1. Поддерживает ли oracle собственную версию xalan для своей JRE, независимой от apache?
  2. Почему xalan не поддерживаетобновляется с июля 2014 года на maven?
  3. Будет ли зависеть от xalan все виды проблем?Я видел в Работа с «Xerces hell» в Java / Maven? , что xml-apis был исключен, чтобы попытаться избежать некоторых проблем.
  4. Было бы лучше использовать другую библиотеку XMLчто менее вероятно, будет также использоваться JVM?В какую библиотеку стоит заглянуть.

1 Ответ

0 голосов
/ 17 декабря 2018

Пытаюсь ответить как можно лучше (но некоторые ваши вопросы требуют внутренних знаний):

  1. Насколько я могу судить, версии Jer Xerces и Xalan являются модифицированными версиямиApache Xerces и Xalan, но не сильно модифицированные, и предпринимаются некоторые усилия для портирования исправлений ошибок по сравнению с версией Apache.

  2. Xalan не был изменен, потому что никто не работает надЭто.Его первоначальными спонсорами были IBM и Sun (частично из IBM LotusXSL, частично из Sun XSLTC).Разработчики Sun ушли после приобретения Oracle;IBM перенесла свои инвестиции в коммерческий процессор Websphere XSLT 2.0 и двигатель Datapower.Таким образом, Xalan остался в качестве процессора XSLT 1.0, что означает, что спецификация не изменилась за 19 лет, и код стал соответственно стабильным, поэтому в исправлении ошибок практически не было необходимости.Пользователи, которым требуется больше функциональных возможностей, чем предлагает Xalan, обычно переходят на Saxon, если у них нет такого бюджета, который делает Websphere или Datapower доступным.

  3. Нет, вполне возможно, что приложение используетВерсии Xalan и / или Xerces для Apache без каких-либо технических проблем.

  4. (меня интересует здесь) Переход на Saxon дает вам все функциональные и производительные преимущества XSLT 2.0 и XSLT3,0;продукт постоянно развивается, поддерживается и хорошо поддерживается;в некоторых случаях вы можете увидеть значительное улучшение производительности;и за эти годы было много постепенных улучшений в таких областях, как диагностика, конфигурируемость и приборостроение.Но преимущества не имеют ничего общего с тем, используется ли код также в JVM.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...