Все,
Я работаю над Java-приложением, которое мы разворачиваем на сервере веб-приложений Resin. Я провел анализ XML для новой части приложения и понял, что наше приложение использует классы Resin для анализа. Я хотел уйти от этого и использовать что-то более стандартное по ряду причин, поэтому я установил эти системные свойства в своем файле конфигурации смолы (и добавил ксерокс xerces к моему classpath):
<system-property javax.xml.parsers.DocumentBuilderFactory="org.apache.xerces.jaxp.DocumentBuilderFactoryImpl"/>
<system-property javax.xml.parsers.SAXParserFactory="org.apache.xerces.jaxp.SAXParserFactoryImpl"/>
И, теперь, я получаю ошибки компиляции JSP на нескольких страницах (я думаю, встроенный парсер Ресина был более снисходительным). Ошибка гласит:
org.xml.sax.SAXParseException: The value of attribute "title" associated with an element type "display:column" must not contain the '<' character.
И тег 'display: column' на некоторых страницах действительно содержит разметку в атрибуте 'title'. Вот пример:
<display:column scope='col' class=" appealColorBG selectAllWidth"
title="<span class='centerThis'><label for='selectAll'>Select All</label><br />
<input type='checkbox' name='selectAll'
id='selectAll'
onClick='selectAllCheckboxes();'/></span> " >
Это какой-то уродливый код JSP, я знаю, но это также код, который уже находится в производстве, поэтому я не решаюсь его изменить.
Кто-нибудь знает, как я могу установить xerces так, чтобы он позволял JSP компилироваться как есть?