xsl-anfang: Auswahlliste in XSL

Hallo,
Wie baut man in XSL eine dynamische Auswahlliste, in der value ein Wert hat?
Danke
xsl-anfang

  1. Hi,

    Wie baut man in XSL eine dynamische Auswahlliste, in der value ein Wert hat?

    Könntest Du noch ein paar Details weglassen?

    Was ist denn z.B. die Ausgabe-Sprache Deines XSL?
    Was verstehst Du unter Auswahlliste?

    cu,
    Andreas

    --
    Der Optimist: Das Glas  ist halbvoll.  - Der Pessimist: Das Glas ist halbleer. - Der Ingenieur: Das Glas ist doppelt so groß wie nötig.
    http://mud-guard.de/? http://www.andreas-waechter.de/ http://www.helpers.de/
    1. Hi,

      Wie baut man in XSL eine dynamische Auswahlliste, in der value ein Wert hat?

      Könntest Du noch ein paar Details weglassen?

      Was ist denn z.B. die Ausgabe-Sprache Deines XSL?
      Was verstehst Du unter Auswahlliste?

      Das ist die Auwahlliste, die ich mit XSL erzeugen möchte:
      <select size="1" name="datum"><option>Datum</option>
      <option value="04.09.2003">04.09.2003 </option>
      <option value="05.09.2003">05.09.2003 </option>
      <option value="06.09.2003">06.09.2003 </option>
      </select>

      Mein Problem liegt darin, dass ich nicht weiss, wie man value="" reinsetzen kann.
      Die Ausgabesprache HTML

      Danke
      xsl-anfang

      cu,
      Andreas

      1. Hi,

        Das ist die Auwahlliste, die ich mit XSL erzeugen möchte:

        Aha, also HTML/XHTML als Zielsprache.

        <select size="1" name="datum"><option>Datum</option>
        <option value="04.09.2003">04.09.2003 </option>
        <option value="05.09.2003">05.09.2003 </option>
        <option value="06.09.2003">06.09.2003 </option>
        </select>
        Mein Problem liegt darin, dass ich nicht weiss, wie man value="" reinsetzen kann.

        xsl:attribute wäre eine Lösung, u.U. gibt es noch andere Lösungen, das hängt aber davon ab, woher der Attributwert kommt...

        Abgesehen davon: Default-Wert für das value-Attribut des Option-Elements ist der Elementinhalt.
        <option value="04.09.2003">04.09.2003</option>
        und
        <option>04.09.2003</option>
        sind also gleichwertig.
        Das Value-Attribut wird nur dann wirklich benötigt, wenn Elemnt-Inhalt und value-Attributwert unterschiedlich sind.

        cu,
        Andreas

        --
        Der Optimist: Das Glas  ist halbvoll.  - Der Pessimist: Das Glas ist halbleer. - Der Ingenieur: Das Glas ist doppelt so groß wie nötig.
        http://mud-guard.de/? http://www.andreas-waechter.de/ http://www.helpers.de/
        1. Hi,

          Das ist die Auwahlliste, die ich mit XSL erzeugen möchte:

          Aha, also HTML/XHTML als Zielsprache.

          <select size="1" name="datum"><option>Datum</option>
          <option value="04.09.2003">04.09.2003 </option>
          <option value="05.09.2003">05.09.2003 </option>
          <option value="06.09.2003">06.09.2003 </option>
          </select>
          Mein Problem liegt darin, dass ich nicht weiss, wie man value="" reinsetzen kann.

          xsl:attribute wäre eine Lösung, u.U. gibt es noch andere Lösungen, das hängt aber davon ab, woher der Attributwert kommt...

          Abgesehen davon: Default-Wert für das value-Attribut des Option-Elements ist der Elementinhalt.
          <option value="04.09.2003">04.09.2003</option>
          und
          <option>04.09.2003</option>
          sind also gleichwertig.
          Das Value-Attribut wird nur dann wirklich benötigt, wenn Elemnt-Inhalt und value-Attributwert unterschiedlich sind.

          cu,
          Andreas

          Gibt es irgendwo im Netz ein Beispiel?
          Danke
          xsl-anfang

          1. Hallo,

            Gibt es irgendwo im Netz ein Beispiel?

            Schau Dir mal diesen Workshop an: http://www.datenverdrahten.de/iproxslt/.

            Fuer Dein Problem sollte etwa dieses Vorgehen zutreffen:

            test.xml

            <?xml version="1.0" encoding="ISO-8859-1"?>

            <wurzel>

            <datum>04.09.2003</datum>
            <datum>05.09.2003</datum>
            <datum>06.09.2003</datum>

            </wurzel>

            test.xsl

            <?xml version="1.0" encoding="ISO-8859-1"?>
            <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

            <xsl:output
                method="html"
                doctype-public="-//W3C//DTD HTML 4.01 Transitional//EN"
                doctype-system="http://www.w3.org/TR/html401/loose.dtd"
                encoding="ISO-8859-1"
                version="4.01"
                media-type="text/html"
                indent="yes"
            />

            <xsl:template match="/">

            <html>
            <head>
            <title>Test by TM 08/03</title>
            </head>
            <body>

            <form action="">
              <select size="1" name="datum"><option>Datum</option>
              <xsl:for-each select="wurzel/datum">
                <option value="{.}"><xsl:value-of select="."/></option>
              </xsl:for-each>
              </select>
            </form>

            </body>
            </html>

            </xsl:template>
            </xsl:stylesheet>

            MfG, Thomas

            1. Hallo,

              Gibt es irgendwo im Netz ein Beispiel?

              Schau Dir mal diesen Workshop an: http://www.datenverdrahten.de/iproxslt/.

              Fuer Dein Problem sollte etwa dieses Vorgehen zutreffen:

              test.xml

              <?xml version="1.0" encoding="ISO-8859-1"?>

              <wurzel>

              <datum>04.09.2003</datum>
              <datum>05.09.2003</datum>
              <datum>06.09.2003</datum>

              </wurzel>

              test.xsl

              <?xml version="1.0" encoding="ISO-8859-1"?>
              <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

              <xsl:output
                  method="html"
                  doctype-public="-//W3C//DTD HTML 4.01 Transitional//EN"
                  doctype-system="http://www.w3.org/TR/html401/loose.dtd"
                  encoding="ISO-8859-1"
                  version="4.01"
                  media-type="text/html"
                  indent="yes"
              />

              <xsl:template match="/">

              <html>
              <head>
              <title>Test by TM 08/03</title>
              </head>
              <body>

              <form action="">
                <select size="1" name="datum"><option>Datum</option>
                <xsl:for-each select="wurzel/datum">
                  <option value="{.}"><xsl:value-of select="."/></option>
                </xsl:for-each>
                </select>
              </form>

              </body>
              </html>

              </xsl:template>
              </xsl:stylesheet>

              MfG, Thomas

              super Danke
              xsl-anfang