Hallo, ich habe da ein Selektionsproblem. Ich will alle Legendenpunkte (descriptivebodygraphiclegend), die direkt nach dem 1. Bild "descriptivebodygraphicfigure" kommen, selektieren und ausgeben.
Und dann wieder alle Legendenpunkte, die direkt nach dem 2. Bild kommen selektieren und ausgeben.
Ich habe folgendes XML-Ausgangsdokument (Auszug daraus).
Mein XSL-Stylesheet:
Ich bekomme mit diesem Stylesheet die folgende falsche XML-Ausgabe:
Eigentlich soll die XML-Ausgabe so aussehen:
Was ist am Stylesheet falsch? Ich bekomme die richtige Selektion nicht hin!
Vielen Dank für die Hilfe.
Und dann wieder alle Legendenpunkte, die direkt nach dem 2. Bild kommen selektieren und ausgeben.
Ich habe folgendes XML-Ausgangsdokument (Auszug daraus).
Code:
<w:p w:rsidR="009D0CAA" w:rsidRDefault="00A870ED" w:rsidP="009D0CAA"> <w:pPr> <w:pStyle w:val="descriptivebodygraphicfigure"/> </w:pPr> <w:r> <w:rPr> <w:noProof/> <w:lang w:eastAsia="de-DE" w:bidi="th-TH"/> </w:rPr> <w:drawing> <wp:inline distT="0" distB="0" distL="0" distR="0"> <wp:extent cx="1820883" cy="1365662"/> <wp:effectExtent l="19050" t="0" r="7917" b="0"/> <wp:docPr id="2" name="Grafik 1" descr="Winter.jpg"/> <wp:cNvGraphicFramePr> <a:graphicFrameLocks xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" noChangeAspect="1"/> </wp:cNvGraphicFramePr> <a:graphic xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main"> <a:graphicData uri="http://schemas.openxmlformats.org/drawingml/2006/picture"> <pic:pic xmlns:pic="http://schemas.openxmlformats.org/drawingml/2006/picture"> <pic:nvPicPr> <pic:cNvPr id="0" name="Winter.jpg"/> <pic:cNvPicPr/> </pic:nvPicPr> <pic:blipFill> <a:blip r:embed="rId8" cstate="print"/> <a:stretch> <a:fillRect/> </a:stretch> </pic:blipFill> <pic:spPr> <a:xfrm> <a:off x="0" y="0"/> <a:ext cx="1820008" cy="1365005"/> </a:xfrm> <a:prstGeom prst="rect"> <a:avLst/> </a:prstGeom> </pic:spPr> </pic:pic> </a:graphicData> </a:graphic> </wp:inline> </w:drawing> </w:r> </w:p> <w:p w:rsidR="009D0CAA" w:rsidRDefault="00A870ED" w:rsidP="00A870ED"> <w:pPr> <w:pStyle w:val="descriptivebodygraphiccaption"/> </w:pPr> <w:r> <w:t>Eine Bildbeschriftung fürs 1. Bild!</w:t> </w:r> </w:p> <w:p w:rsidR="005A5E34" w:rsidRDefault="005A5E34" w:rsidP="005A5E34"> <w:pPr> <w:pStyle w:val="descriptivebodygraphiclegend"/> </w:pPr> <w:r w:rsidRPr="005A5E34"> <w:t>1.</w:t> </w:r> <w:r> <w:t xml:space="preserve"> Legendentext 1. Bild</w:t> </w:r> </w:p> <w:p w:rsidR="005A5E34" w:rsidRDefault="005A5E34" w:rsidP="005A5E34"> <w:pPr> <w:pStyle w:val="descriptivebodygraphiclegend"/> </w:pPr> <w:r> <w:t>2. Legendentext 1. Bild</w:t> </w:r> </w:p> <w:p w:rsidR="005A5E34" w:rsidRPr="005A5E34" w:rsidRDefault="005A5E34" w:rsidP="005A5E34"> <w:pPr> <w:pStyle w:val="descriptivebodygraphiclegend"/> </w:pPr> <w:r> <w:t>3. Legendentext 1. Bild</w:t> </w:r> </w:p> <w:p w:rsidR="007B1E78" w:rsidRDefault="007B1E78" w:rsidP="007B1E78"> <w:pPr> <w:pStyle w:val="descriptivebodyparagraph"/> </w:pPr> <w:r> <w:t>HAUPTTEXT2!!!</w:t> </w:r> </w:p> <w:p w:rsidR="005A5E34" w:rsidRDefault="005A5E34" w:rsidP="007B1E78"> <w:pPr> <w:pStyle w:val="descriptivebodyparagraph"/> </w:pPr> <w:r> <w:t>HAUPTTEXT3</w:t> </w:r> </w:p> <w:p w:rsidR="005A5E34" w:rsidRDefault="005A5E34" w:rsidP="005A5E34"> <w:pPr> <w:pStyle w:val="descriptivebodygraphicfigure"/> </w:pPr> <w:r> <w:rPr> <w:noProof/> <w:lang w:eastAsia="de-DE" w:bidi="th-TH"/> </w:rPr> <w:drawing> <wp:inline distT="0" distB="0" distL="0" distR="0"> <wp:extent cx="2438400" cy="1828800"/> <wp:effectExtent l="19050" t="0" r="0" b="0"/> <wp:docPr id="3" name="Grafik 2" descr="Blaue Berge.jpg"/> <wp:cNvGraphicFramePr> <a:graphicFrameLocks xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" noChangeAspect="1"/> </wp:cNvGraphicFramePr> <a:graphic xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main"> <a:graphicData uri="http://schemas.openxmlformats.org/drawingml/2006/picture"> <pic:pic xmlns:pic="http://schemas.openxmlformats.org/drawingml/2006/picture"> <pic:nvPicPr> <pic:cNvPr id="0" name="Blaue Berge.jpg"/> <pic:cNvPicPr/> </pic:nvPicPr> <pic:blipFill> <a:blip r:embed="rId9" cstate="print"/> <a:stretch> <a:fillRect/> </a:stretch> </pic:blipFill> <pic:spPr> <a:xfrm> <a:off x="0" y="0"/> <a:ext cx="2438400" cy="1828800"/> </a:xfrm> <a:prstGeom prst="rect"> <a:avLst/> </a:prstGeom> </pic:spPr> </pic:pic> </a:graphicData> </a:graphic> </wp:inline> </w:drawing> </w:r> </w:p> <w:p w:rsidR="005A5E34" w:rsidRDefault="005A5E34" w:rsidP="005A5E34"> <w:pPr> <w:pStyle w:val="descriptivebodygraphiccaption"/> </w:pPr> <w:r> <w:t>Eine Bildunterschrift</w:t> </w:r> </w:p> <w:p w:rsidR="005A5E34" w:rsidRDefault="005A5E34" w:rsidP="005A5E34"> <w:pPr> <w:pStyle w:val="descriptivebodygraphiclegend"/> </w:pPr> <w:r w:rsidRPr="005A5E34"> <w:t>1.</w:t> </w:r> <w:r> <w:t xml:space="preserve"> Legendentext 2. Bild</w:t> </w:r> </w:p> <w:p w:rsidR="005A5E34" w:rsidRDefault="005A5E34" w:rsidP="005A5E34"> <w:pPr> <w:pStyle w:val="descriptivebodygraphiclegend"/> </w:pPr> <w:r> <w:t>2. Legendentext 2. Bild</w:t> </w:r> </w:p> <w:p w:rsidR="005A5E34" w:rsidRPr="005A5E34" w:rsidRDefault="005A5E34" w:rsidP="005A5E34"> <w:pPr> <w:pStyle w:val="descriptivebodygraphiclegend"/> </w:pPr> <w:r> <w:t xml:space="preserve">3. Legendentext </w:t> </w:r> <w:r w:rsidR="00444416"> <w:t>2</w:t> </w:r> <w:r> <w:t xml:space="preserve">. Bild </w:t> </w:r> </w:p>
Mein XSL-Stylesheet:
Code:
<xsl:template match="w:p[w:pPr/w:pStyle[@w:val = 'descriptivebodygraphicfigure']]"> <xsl:variable name="graphicname" select="w:r/w:drawing/wp:inline/wp:docPr/@descr"/> <graphic graphwidth="other"> <figure> <xsl:attribute name="graphicname"><xsl:value-of select="w:r/w:drawing/wp:inline/wp:docPr/@descr"/></xsl:attribute> </figure> <xsl:if test="following-sibling::w:p[w:pPr/w:pStyle[@w:val = 'descriptivebodygraphiccaption']][1]"> <caption> <xsl:apply-templates select="following-sibling::w:p[w:pPr/w:pStyle[@w:val = 'descriptivebodygraphiccaption']][1]/w:r" /> </caption> </xsl:if> <xsl:if test="following-sibling::w:p[w:pPr/w:pStyle[@w:val = 'descriptivebodygraphiclegend']]"> <legend> <xsl:for-each select="following-sibling::w:p[w:pPr/w:pStyle[@w:val = 'descriptivebodygraphiclegend']]"> <legenditem> <xsl:apply-templates select="w:r"/> </legenditem> </xsl:for-each> </legend> </xsl:if> </graphic> </xsl:template>
Ich bekomme mit diesem Stylesheet die folgende falsche XML-Ausgabe:
Code:
<graphic graphwidth="other">
<figure graphicname="Winter.jpg"/>
<caption>Eine Bildbeschriftung fürs 1. Bild!</caption>
<legend>
<legenditem>1. Legendentext 1. Bild</legenditem>
<legenditem>2. Legendentext 1. Bild</legenditem>
<legenditem>3. Legendentext 1. Bild</legenditem>
<legenditem>1. Legendentext 2. Bild</legenditem>
<legenditem>2. Legendentext 2. Bild</legenditem>
<legenditem>3. Legendentext 2. Bild </legenditem>
</legend>
</graphic>
<paragraph>HAUPTTEXT2!!!</paragraph>
<paragraph>HAUPTTEXT3</paragraph>
<graphic graphwidth="other">
<figure graphicname="Blaue Berge.jpg"/>
<caption>Eine Bildunterschrift</caption>
<legend>
<legenditem>1. Legendentext 2. Bild</legenditem>
<legenditem>2. Legendentext 2. Bild</legenditem>
<legenditem>3. Legendentext 2. Bild </legenditem>
</legend>
</graphic>
Eigentlich soll die XML-Ausgabe so aussehen:
Code:
<graphic graphwidth="other"> <figure graphicname="Winter.jpg"/> <caption>Eine Bildbeschriftung fürs 1. Bild!</caption> <legend> <legenditem>1. Legendentext 1. Bild</legenditem> <legenditem>2. Legendentext 1. Bild</legenditem> <legenditem>3. Legendentext 1. Bild</legenditem> </legend> </graphic> <paragraph>HAUPTTEXT2!!!</paragraph> <paragraph>HAUPTTEXT3</paragraph> <graphic graphwidth="other"> <figure graphicname="Blaue Berge.jpg"/> <caption>Eine Bildunterschrift</caption> <legend> <legenditem>1. Legendentext 2. Bild</legenditem> <legenditem>2. Legendentext 2. Bild</legenditem> <legenditem>3. Legendentext 2. Bild </legenditem> </legend> </graphic>
Vielen Dank für die Hilfe.
Comment