Das funktioniert nicht bei mir :-(
Was ich nicht verstehe ist:
<xslt:key use="." match="text" name="k1"/>
<xslt:copy>
text...[generate-id() = generate-id(key('k1', .)[1])]
</xslt:copy>
Was macht das? Bei einigen Elementen geht das, bei anderen nicht.
wenn ich die [1] in [2] ändere geht das bei manchen. bei macnehn aber nciht.
Mach ich das [generate-id() = generate-id(key('k1', .)[1])] weg, dann gehts.
ist doch seltsam?
Die XML:
Was ich nicht verstehe ist:
<xslt:key use="." match="text" name="k1"/>
<xslt:copy>
text...[generate-id() = generate-id(key('k1', .)[1])]
</xslt:copy>
Was macht das? Bei einigen Elementen geht das, bei anderen nicht.
wenn ich die [1] in [2] ändere geht das bei manchen. bei macnehn aber nciht.
Mach ich das [generate-id() = generate-id(key('k1', .)[1])] weg, dann gehts.
ist doch seltsam?
Die XML:
Code:
<root> </page> <text></text> <text></text> <page> </page> <text></text> <text></text> <page> </page> <text></text> <text></text> <page> </roo>
Code:
<xslt:key use="." match="text" name="k1"/> <xslt:template match="/"> <TESTTEST> <xslt:copy> <xslt:for-each select="//text[(@left>number(preceding-sibling::text[.='TESTl']/@left)+1536 or @left>number(following-sibling::text[.='TESTl']/@left)+1536 or @left>number(self::text[.='TESTl']/@left)+1536) and (@top>number(preceding-sibling::text[.='TESTl']/@top)-4 or @top>number(following-sibling::text[.='TESTl']/@top)-4 or @top>number(self::text[.='TESTl']/@top)-4) and (@top<number(preceding-sibling::text[.='TESTl']/@top)+4 or @top<number(following-sibling::text[.='TESTl']/@top)+4 or @top<number(self::text[.='TESTl']/@top)+4)][generate-id() = generate-id(key('k1', .)[1])]"> <xslt:value-of select="."/> <xslt:if test="position() != last()"> <xslt:text> </xslt:text> </xslt:if> </xslt:for-each> </xslt:copy> </TESTTEST>