Announcement

Collapse
No announcement yet.

Leere Elemte mit &nbsp ersetzen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Leere Elemte mit &nbsp ersetzen

    <xsl:for-each select="result/data">
    <xsl:sort select="no" order="ascending" data-type = "number" />
    <tr style="background-color:#ffffff;font-size:x-small;padding:4;color:#000000;">
    <td><xsl:value-of select="number"/></td>
    <td><xsl:value-of select="category3"/></td>
    </tr>
    </xsl:for-each>

    Hallo,

    gibt es eine Möglichkeit, leere Elemete z.B. in <td><xsl:value-of select="category3"/></td> durch ein IF-Konstrukt zu ersetzen?

    Datenfluß:
    Die Daten kommen direkt aus einem Dataset, werden virtuell in einem XML Dokument abgebildet. Das virtuelle XML wird mittel XLS Transformation zu einem virtuellen Html Dokument gewandelt und an ein Webbrowser Modul versand.

    Problem:
    Im Browser Modul entstehen durch NULL Werte des Datasets leere Zellen in den Tabellen, was wiederum die Rahmenformatierung zerstört. Diese Zellen versuche ich mit dem Platzhalter &nbsp zu füllen.

    Hat jemand ne Lösung?


    greetings laptel

  • #2
    Ansatz:

    Code:
    ...
    <td>
      <xsl:choose>
        <xsl:when test="string-length(category3) > 0">
          <xsl:value-of select="category3"/>
        </xsl:when>
        <xsl:otherwise>
          <xsl:text disable-output-escaping="yes">&amp;</xsl:text><xsl:text>nbsp;</xsl:text>
        </xsl:otherwise>
      </xsl:choose>
    </td>
    ...

    Comment


    • #3
      Hallo Thomas,

      nachdem ich mich hier so durch den XSLT-Bereich geklickt habe, habe ich schon gehofft, dass Sie mir antworten werden.

      Ihre Antwort war eine profimäßige Punktlandung und hat mir viel Kopfschmerzen erspart.
      Die angesprochenen Dokumente sind eigentlich nur Streams und eine Manipulation an jenen hätte eine Unmenge an Speicher und Last verschlungen.
      Nachdem ich Ihren Ansatz nun für meinen XSLT-Stringbuilder umgebaut habe, konnte die Performance der Anwendung erhalten beliben.

      Besten Dank
      Mike alias laptel

      Comment

      Working...
      X