PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : stylesheet-angaben für xml-datei mit java machen



Benjamin_E
20-04-2007, 13:37
Hi @all!

Ich stehe vor dem Problem, dass ich ein Java-Programm geschrieben habe, das mir eine xml-datei erstellt. Die xml-datei wird auch erstellt, allerdings würde ich gerne noch wissen, wie man stylesheet-angaben à la

<?xml-stylesheet type="text/xsl" href="logstyle.xslt"?>

unter java einbinden kann. gibt es da vielleicht in der Klasse Document (DOM) eine operation, die das macht? kann mir da jemand weiterhelfen?

danke schonmal

oldguy
20-04-2007, 20:52
Mit JDOM kannst Du folgendes machen:



Map<String, String> map = new HashMap<String, String>();
map.put("href", "logstyle.xslt");
map.put("type", "text/xsl");
ProcessingInstruction pi = new ProcessingInstruction("xml-stylesheet", map);
doc.addContent(pi);

Benjamin_E
23-04-2007, 11:06
Ich habe den Rest unter Zuhilfenahmen von DOM implementiert, deshalb würde ich es gerne vermeiden JDOM zu nutzen.

Ich habe bislang folgendes Versucht:

DocumentBuilderFactory dbfac = DocumentBuilderFactory.newInstance();
DocumentBuilder docBuilder = dbfac.newDocumentBuilder();
doc = docBuilder.newDocument();
ProcessingInstruction pi;
pi = (ProcessingInstruction)doc.createProcessingInstruc tion("stylesheet", "type=\"text/xsl\" href=\"logstyle.xslt\"");
doc.appendChild(pi);

root = doc.createElement("LogFileList");
root.setAttribute("Root-Pfad", path);
doc.appendChild(root);

Das Problem an der Sache ist jetzt nur, dass die ProcessingInstruction stets an der falschen Stelle, nämlich hinter dem Öffnen-Tag des Root-Elementes steht. Also:

<?xml version="1.0" encoding="UTF-8"?>
<LogFileList><?xml-stylesheet type="text/xsl" href="logstyle.xslt"?>...</LogFileList>

Weiß jemand, wie ich es schaffe, dass die Stylesheet-Angabe DAVOR steht, also direkt vor dem <LogFileList>-Tag?