Решение, какую версию XML-схемы использовать для документов XML с атрибутом версии
Мне нужно написать некоторый код для обработки чтения и проверки документов XML, которые используют атрибут version в своем корневом элементе для объявления номера версии, например так:
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<Junk xmlns="urn:com:initech:tps"
xmlns:xsi="http://www3.org/2001/XMLSchema-instance"
xsi:schemaLocation="urn:com:initech.tps:schemas/foo/Junk.xsd"
VersionAttribute="2.0">
Есть куча вложенных схем, мой код имеетorg.w3c.dom.ls.LsResourceResolver
чтобы выяснить, какую схему использовать, реализуя этот метод:
LSInput resolveResource(String type,
String namespaceURI,
String publicId,
String systemId,
String baseURI)
Предыдущие версии схемы встраивали версию схемы в пространство имен, поэтому я мог использовать namespaceURI и systemId, чтобы решить, какую схему предоставить. Теперь номер версии переключен на атрибут в корневом элементе, и мой распознаватель не имеет к нему доступа. Как я должен выяснить версию XML-документа вLsResourceResolver
?