В пакете преобразования Java XML существует концепция, называемая URIResolver, которая представляет собой объект, реализующий этот интерфейс который может быть вызван процессором, чтобы включить URI, используемый в документе(), xsl: import или xsl: включить в объект 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 в документе(), xsl: import или xsl: include. "
- Трансформатор setURIResolver -" Set объект, который будет использоваться для разрешить URI, используемые в документе().
Вопрос: Есть ли аналогичная концепция для Java URIResolver в С# и .NET?