match und test und select wird nicht richtig verarbeitet

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

  • match und test und select wird nicht richtig verarbeitet

    Hallo an Alle,

    bin neu hier und am Verzweifeln mit einem Problem.

    Nun wird das Problem komplett erklärt! Ich habe eine riesengroße XML-Datei, welche mit verschiedenen Stylesheets bearbeitet werden soll. Diese Stylesheet sind in einander eingebunden über <xsl:include> oder <xsl:import.

    Der Aufruf der einzelnen Template geschieht über call-template oder apply über select und/oder mode.

    Das Verknüpfen der einzelnen stylesheet funktioniert, beim Debuggen hüpf ich lustig hin und her, aber einige Templates oder andere Bedingungen werden ignoriert.



    xhtml.xsl

    Quellcode

    1. [color=Blue]
    2. <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
    3. <xsl:include href="header.xsl"/>
    4. <xsl:include href="body.xsl"/>
    5. <xsl:template match="/">
    6. <xsl:element name="xhtml">
    7. <xsl:call-template name="header"/>
    8. <xsl:call-template name="body"/>
    9. </xsl:element>
    10. </xsl:template>
    11. <!--
    12. </xsl:stylesheet>
    Alles anzeigen
    [/color]

    nur ein Ausschnitt aus der body.xsl

    Quellcode

    1. <xsl:template name="body">
    2. <xsl:element name="body">
    3. <!-- processing the content of the xml file -->
    4. <xsl:apply-templates select="[b]/*/body[/b]">
    5. <xsl:with-param name="globalData" select="$globalData"/>
    6. <xsl:with-param name="style" select="$style"/>
    7. </xsl:apply-templates>
    8. </xsl:element>
    9. </xsl:template>
    10. <xsl:template match="[b]office:body[/b]">
    11. <xsl:param name="globalData" select="$globalData"/>
    12. <xsl:param name="style" select="$style"/>
    13. <!--Aufruf von anderen Templates-->
    14. <!--Erzeugen von XHTML-->
    15. </xsl:template>
    Alles anzeigen




    die XML-Datei stark vereinfacht

    XML-Quellcode

    1. <?xml version="1.0" encoding="UTF-8"?>
    2. <document>
    3. <meta/>
    4. <intern/>
    5. <body>
    6. <text>
    7. <p>Para1</p>
    8. <p>Parasdsfsdf2</p>
    9. <table>
    10. <tr>
    11. <td>1</td>
    12. <td>11</td>
    13. </tr>
    14. <tr>
    15. <td>2</td>
    16. <td>21</td>
    17. </tr>
    18. </table>
    19. </text>
    20. </body>
    21. </document>
    Alles anzeigen


    Die Headerinformation wird richtig verarbeitet und erzeugt, aber dann klemmt es irgendwo in der body.xsl.
    Diese Anweisung /*/body wird nicht richtig verarbeitet. Ich habe auch mit zwei kleinen anderen XSL und XML probiert mit der gleichen Formulierung und da lief es.

    Er ist zwar im richtigen Kontext, aber verarbeitet dann nicht Kind-Element der Wurzel nach einem call-template Aufruf.

    PS: Falls notwendig kann ich noch andere Codebeispiele posten.

    Vielen Dank im Voraus