xslt benutzen?

Conners

Erfahrenes Mitglied
Hallo

Zur Zeit geb ich mein xml-response rein manuell aus:

(test.jsp)

Code:
<?xml version="1.0" encoding="UTF-8" ?>
<%@ page language="java" contentType="text/xml; charset=utf-8" pageEncoding="utf-8"%>
....

List<Element> liste = XPath.selectNodes( doc, "/entry/list" );
XPath name = XPath.newInstance("name/text()");
XPath nummer = XPath.newInstance("nummer/text()");

<list>
for(Element list : liste)
{
<entry>
<n><%=name.valueOf(list)%></n>
<nr><%=nummer.valueOf(list)%></nr>
</entry>
}
</list>

da ich leere tags nicht anzeigen will, muss ich überall recht kompliziert mit den scriplets if-else schleifen einbauen. Ich will von der Lösungsart weg und mit xslt oder von mir aus auch anders das Problem lösen. Zwar klappt bei mir alles, und da kommt auch nicht mehr dazu, aber ich wollt das mal mit xslt lösen.


Ich hab bis jetzt nur gelesen, dass man mit xslt xmlfiles in xhtml files konvertieren kann und dazu auch jede Menge Beispiele, aber ich möchte gern in xml konvertieren. Geht das?


Gruß
Conners
 
Hi,

also wenns nur in XSLT sein soll, um die IF zu umgehen würde ichs eher so lassen wie es ist...

hmf
 
Ich finds recht unübersichtlich und ich bearbeite grad mal 4 tags. Das wird demnächst bis zu 12 tags. Das wird ein Durcheinander, aber das ist noch nicht mein Hauptproblem.

Mein Hauptproblem ist:

Ich capture einen Stream von einen weiteren Server, von dem ich mein Ausgangsxmldocument erhalte, und wenn ich den parse, dann stoß ich irgendwie auf Probleme mit der UTF-8 Kodierung. Also die 5 oder 6 default Entitys Referenzen ( vor allem & = &amp; ) stören bei dieser Geschichte.

Ich muss nicht nur if-else einbauen, ob das Element existiert oder nicht, sondern auchnoch checken ob eins von diesen 6 Zeichen dabei ist und es manuell wieder kodieren.

Ich hab keinen Plan was ich machen soll.

Das Code-fragment was ich oben beschrieben hab ist nur Teil meiner Methode, in Wahrheit siehts zur Zeit nach einem Durcheinander von Scriptlets und if-else Bedingungen aus, aber es funktioniert.

Ich wollte aber, da ich noch ein paar Tage Zeit habe, und falls das was bringt, das auf xslt umwandeln, falls das ohne 'File'-Operationen geht.

Edit: Habs mit xslt gelöst.

Gruß Conners
 
Zuletzt bearbeitet:
Zurück