Das XPath Protocol ist ein Java-URL-Protocol zum Selektieren von Bestandteilen aus einem XML-Dokument. Das XPath Protocol ist Bestandteil der Design-Utils und damit aus dem Intersult Maven Repository zu beziehen.
Hintergrund#
In vielen Fällen werden XML-Dokumente durch URLs referenziert, etwa aus der pom.xml beim Generieren von Java-Klassen aus WSDL- oder XSD-Dateien, Induzieren eines Schemas durch Abraxas oder dem Laden von XML-Dateien für verschiedene Zwecke.Bisher konnte nur das gesamte Dokument verarbeitet werden oder es musste manuell zwischengespeichert und mit dem Text-Editor bearbeitet werden. Oder die Transformation musste implementiert werden. Alles zu aufwändig für die einfache Anforderung. Deshalb hat die Intersult das XPath Protocol entwickelt.
Anwendung#
Das XPath Protocol ist an das JAR-Protocol angelehnt:xpath:<URL>!<XPath Expression>
also zum Beispiel:
xpath:http://localhost/test.xml!/root/some-node[2]
Dadurch wird ein neues XML-Dokument erzeugt, dass direkt unter diesem Link referenzierbar ist.
Beispiel#
Java, geschachteltes Java-Protocol#
Mit dem JavaProtocol kann auf Ressourcen aus dem ClassPath zugegriffen werden. Dazu kann das XPath Protocol verschachtelte Protokolle verwenden:URL url = new URL(null, "xpath:java:/test.xml!/root/some-node[1]/text", new XPathProtocol(new JavaProtocol())); URLConnection connection = url.openConnection();
Die zurückgegebene URLConnection ist dabei vom Typ com.intersult.util.net.XPathURLConnection.