Announcement

Collapse
No announcement yet.

Zeilenbegrenzung

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

  • Zeilenbegrenzung

    Hideho,

    hoffe ihr könnt mir bei meinem folgenden Problem helfen:

    ich gebe in einem 300px-breiten Bereich auf einer Seite, mittel xsl-template eine Übersicht aus. Die beinhaltet Angaben zu Dateiname, Autor, Uhrzeit der Änderung und den Pfad der Datei.

    Nun passiert es hin und wieder, das der Wert (in der Regel der Dateiname) breiter als die 300 px ist und somit das Design sprengt bzw unschöne Scrollbalken entstehen.

    Das Problem tritt nur auf wenn der Dateiname zusammenhängend (ohne leerzeichen)zu viele Zeichen beinhaltet.
    Besitzt er Leerzeichen wird ein Zeilenumbruch vorgenommen und alles ist wunderbar.

    Nun zu meiner Frage:
    Welche Möglichkeiten gibt es also die Dateinamenlänge so zu begrenzen oder einen Zeilenumbruch zu erzwingen, damit er die vorgeschriebene Breite nicht überschreitet ?

    Zur besseren Übersicht noch das template:
    Code:
    <xsl:template name="Neue_Dokumente" match="Row[@Style='Neue_Dokumente']" mode="itemstyle">
        <xsl:variable name="Dateiname">
          <xsl:value-of select="@LinkFilename" />
        </xsl:variable>
        <xsl:variable name="Hyperlink">
          <xsl:value-of select="@FileRef" />
        </xsl:variable>
        <xsl:variable name="Geaendert_am">
          <xsl:value-of select="@Modified" />
        </xsl:variable>
        <xsl:variable name="Bearbeiter">
          <xsl:value-of select="@Editor" />
        </xsl:variable>
        <xsl:variable name="laengestring">
          <xsl:value-of select="string-length(@LinkFilename)" />
        </xsl:variable>
        <xsl:variable name="Dateiname2">
          <xsl:value-of select="substring(@LinkFilename,1,($laengestring)-4)" />
        </xsl:variable>
        <xsl:variable name="Pfad">
          <xsl:value-of select="substring-before(@FileRef,$Dateiname)" />
        </xsl:variable>
        <table class="Content_Neue_Dokumente">
          <tr>
            <td>
              <a href="http://.../{$Hyperlink}" target="_blank">
                <xsl:value-of select="$Dateiname2" />
              </a>
            </td>
          </tr>
          <tr>
            <td class="Content_Neue_Dokumente_Bearbeitet_am">
              Bearbeitet von <xsl:value-of select="$Bearbeiter"/> am <xsl:value-of select="$Geaendert_am"/>
            </td>
          </tr>
          <tr>
            <td class="Content_Neue_Dokumente_Pfad">
            <a href="http://.../{$Pfad}">
              <xsl:value-of select="$Pfad"/>
              </a>
            </td>
          </tr>
        </table>
      </xsl:template>
    Zuletzt editiert von kjus; 16.08.2007, 16:57.

  • #2
    Hab evtl eine Lösung gefunden, allerdings gibts Probleme wenn ich sie implentiere.

    Kann mir einer evtl sonst nen Editor nennen der eine gute Fehlererkennung hat ?

    gruß

    Comment


    • #3
      Hab das Problem übrigens gelöst. Falls es jemanden interessiert poste ich es mal hier einfach mal rein:
      Code:
      ...
      <a href="http://.../{$Hyperlink}" target="_blank">
        <xsl:choose>
             <xsl:when test="not(contains(substring($Dateiname2, 1, 35),' '))">
                     <xsl:value-of select="substring($Dateiname2, 1, 35)" />
                     <xsl:text>&#xa;</xsl:text>
                     <xsl:value-of select="substring($Dateiname2, 36, string-length($Dateiname2))" />
              </xsl:when>
              <xsl:otherwise>
                     <xsl:value-of select="$Dateiname2"/>
              </xsl:otherwise>
        </xsl:choose>     
      </a>
      ...

      Comment

      Working...
      X