Aufteilung von XSLT Stylesheets

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

  • Aufteilung von XSLT Stylesheets

    Moin,

    Ich möchte meine einzelnen Stylesheets der Übersichtlichkeit aufteilen.

    Die XML Datei:

    Quellcode

    1. <?xml version="1.0" encoding="UTF-8"?>
    2. <?xml-stylesheet type="text/xsl" href="master.xsl"?>
    3. <lebewesen>
    4. <groesse>groesse</groesse>
    5. <mensch>
    6. <geschlecht>geschlecht</geschlecht>
    7. <person>
    8. <name>name</name>
    9. </person>
    10. </mensch>
    11. </lebewesen>
    Alles anzeigen


    die einzelnen XSLT dateien:
    lebewesen:

    Quellcode

    1. <?xml version="1.0" encoding="UTF-8"?>
    2. <xsl:stylesheet version="1.0"
    3. xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    4. >
    5. <xsl:template match="lebewesen">
    6. <html>
    7. <head>
    8. <title>Person</title>
    9. </head>
    10. <body>
    11. <xsl:apply-templates />
    12. </body>
    13. </html>
    14. </xsl:template>
    15. <xsl:template match="groesse">
    16. <div style="border: 1px solid black;">
    17. <xsl:value-of select="." />
    18. </div>
    19. </xsl:template>
    20. </xsl:stylesheet>
    Alles anzeigen


    geschlecht:

    Quellcode

    1. <?xml version="1.0" encoding="UTF-8"?>
    2. <xsl:stylesheet version="1.0"
    3. xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    4. >
    5. <xsl:template match="mensch">
    6. <html>
    7. <head>
    8. <title>Person</title>
    9. </head>
    10. <body>
    11. <xsl:apply-templates />
    12. </body>
    13. </html>
    14. </xsl:template>
    15. <xsl:template match="geschlecht">
    16. <div style="border: 1px solid black;">
    17. <xsl:value-of select="." />
    18. </div>
    19. </xsl:template>
    20. </xsl:stylesheet>
    Alles anzeigen


    person:

    Quellcode

    1. <?xml version="1.0" encoding="UTF-8"?>
    2. <xsl:stylesheet version="1.0"
    3. xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    4. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    5. >
    6. <xsl:template match="person">
    7. <html>
    8. <head>
    9. <title>Person</title>
    10. </head>
    11. <body>
    12. <xsl:apply-templates />
    13. </body>
    14. </html>
    15. </xsl:template>
    16. <xsl:template match="name">
    17. <div style="border: 1px solid black;">
    18. <xsl:value-of select="." />
    19. </div>
    20. </xsl:template>
    21. </xsl:stylesheet>
    Alles anzeigen



    und die master xslt datei sieht wie folgt aus:

    Quellcode

    1. <?xml version="1.0" encoding="UTF-8"?>
    2. <xsl:stylesheet version="1.0"
    3. xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    4. <xsl:import href="lebewesen.xsl" />
    5. <xsl:import href="geschlecht.xsl" />
    6. <xsl:import href="person.xsl" />
    7. <xsl:template match="/">
    8. <html>
    9. <head>
    10. <title>dummy</title>
    11. </head>
    12. <body>
    13. <div id="lebewesen" style="border: 2px solid black; margin: 5px;">
    14. 11111
    15. <xsl:call-template name="LEBEWESEN" />
    16. <div id="geschlecht" style="border: 2px solid black; margin: 5px;">
    17. 22222
    18. <xsl:call-template name="GESCHLECHT" />
    19. <div id="person" style="border: 2px solid black; margin: 5px;">
    20. 33333
    21. <xsl:call-template name="PERSON" />
    22. </div>
    23. </div>
    24. </div>
    25. </body>
    26. </html>
    27. </xsl:template>
    28. <xsl:template name="LEBEWESEN">
    29. <xsl:apply-imports />
    30. </xsl:template>
    31. <xsl:template name="GESCHLECHT">
    32. <xsl:apply-imports />
    33. </xsl:template>
    34. <xsl:template name="PERSON">
    35. <xsl:apply-imports />
    36. </xsl:template>
    37. </xsl:stylesheet>
    Alles anzeigen



    Das Problem bei diesem Aufbau ist, dass "apply-import" jedes importiere Stylesheet benutzt und dann wie folgt aussieht:
    [Blockierte Grafik: http://stud.umwelt-campus.de/~ai0491/public/aussehen.JPG]

    Aber ich möchte natürlich nicht jedes attribut in jedem einzelnen Tag haben. Ich denke, ihr wisst wie ich das meine.

    Hat jemand ne Idee, wie man das machen könnte?!

    Gruß
    sdy