Hallo,
Durch xsl:if bei einem 'style-name="h2"' rufe ich also
den Wert des letzten vorangegangenen ‘style-name="h1"‘ auf:preceding-sibling::text:p[position()=1][@text:style-name = 'h1']
Ohne mehr von deinem XSL zu sehen, kann ich leider nichts dazu sagen.
Grüße
Thomas