Черновик HTML5 указывает (по крайней мере, на данный момент), что URI about:legacy-compat
может использоваться для документов, которые основаны на XML-формате, соответствующем XML (а не <!DOCTYPE html>
).
Итак, у меня есть пакет проверяющих HTML5 XML-файлов, которые начинаются с:
<!DOCTYPE html SYSTEM "about:legacy-compat">
К сожалению, когда я использую такой документ XHTML5 с любым XSLT-процессором, таким как Xalan или Saxon, они, естественно, пытаются разрешить (неразрешимый) URI.
Есть ли способ заставить их игнорировать URI или искусственно разрешать его под капотом? Попытка разрешить это происходит в этих документах раньше, поэтому, например, переключатель Saxon -dtd:off
здесь не действует.
Редактировать: Низкоуровневый подход sed -n '2,$p' <htmlfile> | otherapp
, к сожалению, работает только до тех пор, пока я не начну использовать document()
функцию XPath для загрузки другого файла XHTML5.
Редактировать 2: Я поигрался с XML-каталогами и заставил их работать как с саксонским, так и с шаланским. Однако тогда я всегда получаю
java.net.MalformedURLException: unknown protocol: about
Ну, это не удивительно, но как я могу обойти это? URL никогда не должен анализироваться, просто выбрасываться.