Announcement

Collapse
No announcement yet.

Wert-Ausgabe ohne Link

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

  • Wert-Ausgabe ohne Link

    Hallo,

    steh gerad mal wieder aufm Schlauch. Hab folgendes Problem:

    Ich muss ein bestehendes System anpassen und frage mittels XSLT (v1) die Variable "AnsprechpartnerEmail" ab.

    Bekomme dann folgenden "Wert" zurück:
    <nobr><span><A HREF="/IT/_layouts/userdisp.aspx?ID=17">[email protected]</A><img border="0" height="1" width="3" src="/_layouts/images/blank.gif"/><a href='javascript:' onclick='IMNImageOnClick();return false;' class='ms-imnlink'><img name='imnmark' title='' border='0' height='12' width='12' src='/_layouts/images/blank.gif' alt='Keine Anwesenheitsinformationen' sip='[email protected]' id='imn_353,type=smtp'/></a></span></nobr>

    Mit disable-output-escaping auf jetzt "yes" erhalte ich die Ausgabe:
    "[email protected]" - allerdings als Link, der auf die Seite "/IT/_layouts/userdisp.aspx?ID=17" zeigt (siehe oben).

    Ich möchte aber nur den Wert ("[email protected]") ohne Link haben, um ihn mittels "mailto:" verlinken zu können.

    Kann mir da bitte einer mal auf die Sprünge helfen ?

    Gruß

    Edit:
    Das war mein Ansatz bisher. Der klappt aber natürlich nicht, da der Link zu "/IT/_layouts/userdisp.aspx?ID=17" noch integriert ist.
    <a>
    <xsl:attribute name="href">
    <xsl:text>mailto:</xsl:text>
    <xsl:value-of select="@AnsprechpartnerEmail" disable-output-escaping="yes"/>
    </xsl:attribute>
    <xsl:text>Test</xsl:text>
    </a>
    Zuletzt editiert von kjus; 11.02.2009, 13:44.

  • #2
    Verwende ein Attribute Value Template {...} und es reicht diese Formulierung:
    <a href="malto:{@AnsprechpartnerEmail}">Mail senden</a>

    Comment


    • #3
      Hallo Thomas,

      danke für die schnelle Antwort !
      Ich habe dein Rat befolgt und die Zeile umgestellt.

      <a href="mailto:{@AnsprechpartnerEmail}">test</a>

      Leider hat das aber nicht viel geändert. Der ausgegebene Link sieht nun wie folgt aus (wie vorher auch):
      mailto:%3Cnobr%3E%3Cspan%3E%3CA%20HREF=%22/IT/_layouts/userdisp.aspx?ID=17">[email protected]</A><img border="0" height="1" width="3" src="/_layouts/images/blank.gif"/><a href='javascript:' onclick='IMNImageOnClick();return false;' class='ms-imnlink'><img name='imnmark' title='' border='0' height='12' width='12' src='/_layouts/images/blank.gif' alt='Keine Anwesenheitsinformationen' sip='[email protected]' id='imn_477,type=smtp'/></a></span></nobr>
      anstatt
      Vielleicht noch ne Idee ?

      Gruß

      Comment


      • #4
        Zeige mal das Ausgangs-XML-Fragment und beschreibe das gesuchte Ergebnis genauer.

        Comment


        • #5
          Ich komme an die XML direkt nicht ran bzw. wüsste nicht wie ich mir die ausgeben lassen kann - hab ich durchaus schon versucht. Ist wie gesagt ein bestehendes System und die Daten kommen ursprünglich aus dem Active Directory und werden in dem System mit Benutzerdaten verknüpft.

          Ich kann dir daher auch nur die Ausgabe der Variable "AnsprechpartnerEmail" geben:
          <xsl:value-of select="@AnsprechpartnerEmail" />
          <nobr><span><A HREF="/IT/_layouts/userdisp.aspx?ID=17">[email protected]</A><img border="0" height="1" width="3" src="/_layouts/images/blank.gif"/><a href='javascript:' onclick='IMNImageOnClick();return false;' class='ms-imnlink'><img name='imnmark' title='' border='0' height='12' width='12' src='/_layouts/images/blank.gif' alt='Keine Anwesenheitsinformationen' sip='[email protected]' id='imn_353,type=smtp'/></a></span></nobr>
          Ich benötige daraus aber nur den Wert (- im Textformat!)
          Daraus kann ich mir dann den mailto-Link stricken:
          <a href="mailto:[email protected]">Meine@Emailadr esse.de</a>

          Mit
          <xsl:value-of select="@AnsprechpartnerEmail" disable-output-escaping="yes" />
          bekomme ich zwar den gewünschten Wert ([email protected]) dargestellt, aber eben als Hyperlink. Und damit kann ich nichts anfangen.

          Ich hab gehofft es gibt eine Methode das Format umzuwandeln um das mühsame herauspuhlen der Werts zu vermeiden.

          Comment


          • #6
            Im Attribut "AnsprechpartnerEmail" ist also XML-Code enthalten? Das würde ja bereits die Wohlgeformtheit verletzen (oder die kritischen Zeichen sind im String maskiert). Probiere es ggf. mittels Stringfunktionen.

            Comment


            • #7
              tja die wohlgeformtheit war dem damaligen programmierer wohl ziemlich egal. Erstmal vielen Dank für die Antworten und die genommene Zeit.
              Ich hab mich jetzt auch mit substring-Funktionen tot geschmissen. Hab das Ergebnis mal unten angehängt. Würd mich mal interessieren, ob man das in irgendeiner Weise noch kürzen bzw. stilistisch verbessern kann.

              Zunächst nochmal der "Wert" der Variable "AnsprechpartnerEmail". Hab mich auf die zweite Erwähnung der Mailadresse gestürzt, erschien mir einfacher.
              <nobr><span><A HREF="/IT/_layouts/userdisp.aspx?ID=17">[email protected]</A><img border="0" height="1" width="3" src="/_layouts/images/blank.gif"/><a href='javascript:' onclick='IMNImageOnClick();return false;' class='ms-imnlink'><img name='imnmark' title='' border='0' height='12' width='12' src='/_layouts/images/blank.gif' alt='Keine Anwesenheitsinformationen' sip='[email protected]' id='imn_353,type=smtp'/></a></span></nobr>
              XSLT-Code:
              <xsl:variable name="EmailadresseFilterung" >
              <xsl:value-of select="substring-after(@AnsprechpartnerEmail,'sip=')" />
              </xsl:variable>

              <xsl:variable name="EmailadresseFilterung2">
              <xsl:value-of select="substring-before($EmailadresseFilterung,'id=')" />
              </xsl:variable>

              <xsl:variable name="EmailadresseFilterung2_Length">
              <xsl:value-of select="string-length($EmailadresseFilterung2)" />
              </xsl:variable>

              <xsl:variable name="Emailadresse">
              <xsl:value-of select="substring($EmailadresseFilterung2,2,($Emai ladresseFilterung2_Length)-3)" />
              </xsl:variable>
              Wert "EmailadresseFilterung"
              '[email protected]' id='imn_787,type=smtp'/></a></span></nobr>
              Wert "EmailadresseFilterung2" Wert "EmailadresseFilterung3"
              28
              Wert "Emailadresse" Wert "Me"
              Party!

              Comment

              Working...
              X