Состояние поддержки XML в Scala 2.9.x
В настоящее время я начинаю изучать использование поддержки Scala XML для критически важных бизнес-процессов. В связи с этим я хотел бы знать, каково текущее состояние стандартной библиотеки XML в Scala.
Я прочитал несколько "старых" статей, касающихся Scala 2.7 и транка 2.8, где было указано, что обработка XML будет поточно-ориентированной для scala 2.8 и что в версии 2.7.x было несколько ошибок. Некоторая критика также дается в отношении иерархии классов XML, но я думаю, что это дело вкуса.
Поэтому я хотел бы, чтобы кто-нибудь мог ответить на вопрос, каково текущее состояние библиотеки Scala XML для версии 2.9.x?
Заранее спасибо.
4 ответа
Позвольте мне ответить так:
- Проблемы с открытым XML (те, которые назначены команде XML - могут быть и другие)
- Альтернативные библиотеки XML в Scala
Или, говоря словами, многие не удовлетворены. В конце концов, люди пишут полноценные альтернативы, а не пытаются "починить" библиотеку. И, говоря об исправлении, у меня было исправление, которое превращало операцию из O(n^2) в O(n), представленное так долго, что, когда кто-то снова открыл ту же самую проблему, я даже не вспомнил, что открыл ее до.
Имейте в виду, Lift использует стандартную библиотеку XML, и, насколько я знаю, так же, как и большинство других веб-фреймворков (я подозреваю, что Play не), так что это не так, как будто он непригоден для использования.
Существует альтернативная библиотека для XML в Scala, Anti-XML. С домашней страницы:
Anti-XML является предложенной заменой пакета scala.xml в стандартной библиотеке Scala. Стандартная комплектация устарела и не подлежит ремонту. Мы должны начать все сначала, на прочной основе и не обремененные обратной совместимостью. Anti-XML стремится к качеству в трех основных областях: удобство использования, надежность, производительность
Если вы серьезно относитесь к использованию XML, то стоит обратить внимание на Anti-XML.
Источник доступен здесь: https://github.com/djspiewak/anti-xml
Scala XML стабилен, поддерживается и не исчезнет в течение очень долгого времени.
Тем не менее, есть некоторые критические замечания по дизайну, и несколько человек сели и решили написать лучшую альтернативу, Anti-XML.
Если все получится, у вас будет дополнительный выбор в будущем.
Scales Xml - мой ответ на этот вопрос. Это не значит, что я нашел причуды Scala XML плохими, но сам подход не понравился мне и вызвал вопрос "что делать, если вы отделили контент от дерева и объединили push и pull".
После долгих игр я обнаружил много интересных способов использовать систему типов, чтобы упростить использование XML для ряда операций, сделать его более правильным и быстрым, чем Scala XML.
При написании альтернативной библиотеки вы очень быстро понимаете, сколько усилий и усилий было вложено в Scala XML. Его убийственные особенности:
- Предоставляется библиотека по умолчанию
- Во встроенном синтаксисе XML
для простого использования из коробки его трудно победить (хотя я уверен, что я сделал это ^_^).
Важно, чтобы другие более молодые альтернативы, такие как Anti-XML, появлялись в качестве альтернативы, что часто стимулирует инновации Я бы просто посоветовал пользователям взглянуть на то, что им действительно нужно, а не предполагать, что альтернативы автоматически обеспечивают лучший выбор.