Ersetzen der Platzhalter mit richtigen Text

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Ersetzen der Platzhalter mit richtigen Text

    Hallo,
    ich hab folgende Aufgabenstellung, weiß aber noch nicht wirklich wie ich das am besten angehen soll.
    Ich hab in einer xml Datei verschiedene Platzhalter definiert mit $
    diese will ich mit individuellen Texten je nach Bedarf füllen/ersetzen.
    Kann mir jemand nen tipp geben wie ich das problem am besten angehe?

    gru8 v1p0r
  • Hallo

    xsl:param ist eine Variable die gesetzt werden kann

    der Parser kann kann mit optionen

    wie Param Nane wert mit geben wird

    nach paser Komando Argumenten schauen

    mache parser unterscheiden nach nummerichen und text Variablen


    kleines Beispiel

    Quellcode

    1. <root>
    2. <inhalt>
    3. <Seite>A4</Seite>
    4. <Rand inheit="cm" ort="oben">2</Rand>
    5. <Rand inheit="cm" ort="unten">2</Rand>
    6. <Rand inheit="cm" ort="rechts">2</Rand>
    7. <Rand inheit="cm" ort="links">2</Rand>
    8. </inhalt>
    9. </root>

    XML-Quellcode

    1. <?xml version="1.0"?>
    2. <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    3. <xsl:output method="text"/>
    4. <xsl:param name="Sart" select="string('A4')"/>
    5. <xsl:param name="Roben" select="2"/>
    6. <xsl:param name="Runten" select="2"/>
    7. <xsl:param name="Rrechts" select="2"/>
    8. <xsl:param name="Rlinks" select="2"/>
    9. <xsl:param name="Einheit" select="string('cm')"/>
    10. <xsl:template match="/">
    11. <xsl:apply-templates select="root/inhalt"/>
    12. </xsl:template>
    13. <xsl:template match="inhalt">
    14. <xsl:apply-templates select="Seite"/>
    15. <xsl:apply-templates select="Rand"/>
    16. </xsl:template>
    17. <xsl:template match="Seite">
    18. <xsl:value-of select="local-name()"/>
    19. <xsl:text> : </xsl:text>
    20. <xsl:value-of select="."/>
    21. <xsl:text> Param Sart </xsl:text>
    22. <xsl:value-of select="$Sart"/>
    23. <xsl:text>&#xA;</xsl:text>
    24. </xsl:template>
    25. <xsl:template match="Rand">
    26. <xsl:value-of select="local-name()"/>
    27. <xsl:text> </xsl:text>
    28. <xsl:value-of select="@ort"/>
    29. <xsl:text> : </xsl:text>
    30. <xsl:value-of select="."/>
    31. <xsl:value-of select="@inheit"/>
    32. <xsl:choose>
    33. <xsl:when test="./@ort='oben'">
    34. <xsl:text> Param Roben </xsl:text>
    35. <xsl:value-of select="$Roben"/>
    36. <xsl:value-of select="$Einheit"/>
    37. </xsl:when>
    38. </xsl:choose>
    39. <xsl:choose>
    40. <xsl:when test="./@ort='unten'">
    41. <xsl:text> Param Runten</xsl:text>
    42. <xsl:value-of select="$Runten"/>
    43. <xsl:value-of select="$Einheit"/>
    44. </xsl:when>
    45. <xsl:when test="./@ort='rechts'">
    46. <xsl:text> Param Rrechts </xsl:text>
    47. <xsl:value-of select="$Rrechts"/>
    48. <xsl:value-of select="$Einheit"/>
    49. </xsl:when>
    50. <xsl:when test="./@ort='links'">
    51. <xsl:text> Param Rlinks </xsl:text>
    52. <xsl:value-of select="$Rlinks"/>
    53. <xsl:value-of select="$Einheit"/>
    54. </xsl:when>
    55. </xsl:choose>
    56. <xsl:text>&#xA;</xsl:text>
    57. </xsl:template>
    58. </xsl:stylesheet>
    Alles anzeigen


    ergebnis

    beim parser aufruf
    wurden die Parameter mit übergeben


    Quellcode

    1. Seite : A4 Param Sart Legal
    2. Rand oben : 2cm Param Roben 2inch
    3. Rand unten : 2cm Param Runten2inch
    4. Rand rechts : 2cm Param Rrechts 2inch
    5. Rand links : 2cm Param Rlinks 2inch
    Helmut Hagemann
    Derjenige, der sagt: Das geht nicht, soll den nicht stören, der's gerade tut.