すべて、私は、ResinWebアプリサーバーにデプロイするJavaWebアプリに取り組んでいます。私はアプリケーションの新しい部分に対していくつかのXML解析を行っていましたが、私たちのアプリが解析を行うためにResinクラスを使用していることに気付きました。私はそれを避けて、いくつかの理由でより標準的なものを使用したかったので、これらのシステムプロパティをresin configファイルで設定しました(そしてxerces jarをクラスパスに追加しました):
<system-property javax.xml.parsers.DocumentBuilderFactory="org.apache.xerces.jaxp.DocumentBuilderFactoryImpl"/>
<system-property javax.xml.parsers.SAXParserFactory="org.apache.xerces.jaxp.SAXParserFactoryImpl"/>
そして、現在、いくつかのページでJSPコンパイルエラーが発生しています(Resinの組み込みパーサーの方が寛容だったと思います)。エラーは次のとおりです。
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コードですが、すでに本番環境にあるコードでもあるため、変更することを躊躇しています。
JSPをそのままコンパイルできるようにxercesを設定する方法を知っている人はいますか?