В пакете преобразования Java XML существует концепция, известная как URIResolver , которая представляет собой «Объект, реализующий этот интерфейс, который может вызываться процессором для преобразования URI, используемого в document () , xsl: import или xsl: include в объект Source. "
Итак, если ваш XSL имеет такой импорт
<xsl:import href="URI"/>
Это позволяет вам взять URI и сопоставить его с Source по вашему выбору - возможно, это происходит из базы данных, или, возможно, вы хотите сопоставить URI с другим URI. Это может быть полезно, так как вы не можете использовать xsl:variable
в xsl:import href
.
Вот пример кода Java, который создает преобразователь и выполняет преобразование.
URIResolver uriResolver = new MyURIResolver(); // sample
TransformerFactory transformerFactory = TransformerFactory.newInstance();
transformerFactory.setURIResolver(uriResolver);
Transformer transformer = transformerFactory.newTransformer();
transformer.setURIResolver(uriResolver);
transformer.transform(xml, result);
Обратите внимание, что в коде есть два места, где используется URIResolver:
- TransformerFactory
setURIResolver - «Установить объект»
который используется по умолчанию во время
преобразование для разрешения используемых URI
в document (), xsl: import, или
xsl: include. "
- Трансформатор setURIResolver - "Набор"
объект, который будет использоваться для
разрешить URI, используемые в document (). "
Вопрос : Существует ли концепция, аналогичная Java URIResolver в C # и .NET?