Im Java XML Transformation Package gibt es ein Konzept, das als URIResolver Ein Objekt, das diese Schnittstelle implementiert und vom Prozessor aufgerufen werden kann, um einen in document(), xsl:import oder xsl:include verwendeten URI in ein Source-Objekt zu verwandeln".
Wenn Ihre XSL also einen Import wie diesen hat
<xsl:import href="URI"/>
Dies ermöglicht es Ihnen, URI zu nehmen und sie auf die Fuente Ihrer Wahl - vielleicht stammt er aus einer Datenbank, oder Sie wollen den URI auf einen anderen URI abbilden. Dies kann nützlich sein, da man eine xsl:variable
im xsl:import href
.
Hier ist ein Beispiel für Java-Code, der einen Transformator erstellt und eine Transformation durchführt.
URIResolver uriResolver = new MyURIResolver(); // sample
TransformerFactory transformerFactory = TransformerFactory.newInstance();
transformerFactory.setURIResolver(uriResolver);
Transformer transformer = transformerFactory.newTransformer();
transformer.setURIResolver(uriResolver);
transformer.transform(xml, result);
Es gibt zwei Stellen im Code, an denen der URIResolver verwendet wird:
- TransformerFactory setURIResolver - "Ein Objekt setzen das standardmäßig bei der Transformation verwendet wird Transformation verwendet wird, um URIs aufzulösen, die in document(), xsl:import, oder xsl:include."
- Transformator setURIResolver - "Setzen ein Objekt, das verwendet wird, um URIs auflöst, die in document() verwendet werden."
Question : Gibt es ein ähnliches Konzept wie den Java URIResolver in C# und .NET?