joy: Tabellenattribute auslesen

Beitrag lesen

Hallo,

Um die Tabelle mit einem XSLT in eine HTML Tabelle zu verwandeln, benutze ich CDATA.

Warum das?

Ich verwende DeltaXML mit dem ich zwei XML Files vergleichen möchte. Dazu habe ich mir mehrere Filter geschrieben, welche die Files zusätzlich noch bearbeiten. Am Ende kommt nochmal ein Stylesheet über das letzte XML File (also Vergleich + Filter) und damit das Stylesheet die Tabelle auch zeichnet muss es eine HTML Tabelle sein und bisher hat das letzte Stylesheet meine HTML Tags nur gelesen wenn  sie als CData vorher angegeben wurden.

<![CDATA[<table ]]>
                <xsl:value-of select="$tablestring"/>
               <![CDATA[> ]]>

Ah du heiliger Bimbam! ;-) Was machst du denn da?

Hier wollte ich die Attribute mit in die CData Tags mit reinschreiben, also habe ich sie vorher in einen String ausgelesen.

Ich weiss nicht genu was du erreichen möchtest, aber wenn du nur die Tabellen in HTML (ohne den Namesraumprfix) in der Ausgabe haben willst:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xhtml="http://www.w3.org/1999/xhtml" exclude-result-prefixes="xhtml" version="1.0">

bei mir ist handelt es sich um ein xsl:transform Stylesheet

<xsl:template match="data">
  <html>
   <head>
    <title />
   </head>
   <body>
    <xsl:apply-templates />
   </body>
  </html>
</xsl:template>

Wenn ich das mit drin lasse, kommt immer eine Fehlermeldung (ich habe data natürlich mit meinem RootElement ersetzt):

Die XML-Seite kann nicht angezeigt werden
Die XML-Eingabe kann nicht angezeigt werden, wenn Stylesheet verwendet wird. Beheben Sie den Fehler und klicken Sie dann auf Aktualisieren, oder wiederholen Sie den Vorgang später.
--------------------------------------------------------------------------------

Ungültig auf der obersten Ebene im Dokument. Fehler beim Bearbeiten der Ressource '...

com.deltaxml.core.FilterConfigurationException: Problem constructing output filter template from File: ...

Meine Ausgabe mit deiner Transformation ist sonst ok, aber wenn ich dann noch mein letztes Stylesheet drüberlege verschwinden meine table Tags sowie deren Kindknoten und nur ihr Inhalt (also das was in den Spalten drin stehen soll) ist noch da. Deswegen wollte ich ja CData verwenden.

Das Problem ist wahrscheinlich das mein letztes Stylesheet selbst auch eine Tabellenstruktur enthält und ein xhtml File ausgibt, während bisher immer xml Files als output angegeben waren.

Gruß
joy