У меня есть некоторый входной XML, который
<collection>
<content>
<id>10</id>
<type>xx</type>
<title>xx</title>
<quicklink>xx</quicklink>
<teaser><p>xxx</p></teaser>
<root>
<thumb><img src="/xxx/xxx.jpg" /></thumb>
<link>http://www.foo.com</link>
</root>
<startDate></startDate>
<enddate></enddate>
<hyperlink><a href="http://www.foo.com">some text</a></hyperlink>
</content>
<content>
<id>10</id>
<type>xx</type>
<title>xx</title>
<quicklink>xx</quicklink>
<teaser><p>xxx</p></teaser>
<root>
<thumb><img src="/xxx/xxx.jpg" /></thumb>
<link>http://www.foo.com</link>
</root>
<startDate></startDate>
<enddate></enddate>
<hyperlink><a href="http://www.foo.com">some text</a></hyperlink>
</content>
<content>
<id>10</id>
<type>xx</type>
<title>xx</title>
<quicklink>xx</quicklink>
<teaser><p>xxx</p></teaser>
<root>
<thumb><img src="/xxx/xxx.jpg" /></thumb>
<link>http://www.foo.com</link>
</root>
<startDate></startDate>
<enddate></enddate>
<hyperlink><a href="http://www.foo.com">some text</a></hyperlink>
</content>
</collection>
XSLT записан для форматирования неупорядоченного списка, как показано ниже
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<ul id="case-study-icons">
<xsl:for-each select="collection/content">
<li>
<a>
<xsl:attribute name="href">
<xsl:value-of select="Html/root/Link"/>
</xsl:attribute>
<xsl:attribute name="title">
<xsl:value-of select="title"/>
</xsl:attribute>
<img>
<xsl:attribute name="src">
<xsl:value-of select="Html/root/thumb/img/@src"/>
</xsl:attribute>
<xsl:attribute name="alt">
<xsl:value-of select="title"/>
</xsl:attribute>
<xsl:attribute name="width">92</xsl:attribute>
<xsl:attribute name="height">46</xsl:attribute>
</img>
</a>
</li>
</xsl:for-each>
</ul>
</xsl:template>
</xsl:stylesheet>
Я хотел бы изменить это, чтобы иметь 3 ссылки на изображения внутриli and grounp every 3 item occurance into 3 image links groups wrapped with
li`.Таким образом, в конце преобразования HTML должен выглядеть следующим образом:
<ul id="case-study-icons">
<li>
<a href="#"><img src="/foo.jpg" /></a>
<a href="#"><img src="/foo.jpg" /></a>
<a href="#"><img src="/foo.jpg" /></a>
</li>
<li>
<a href="#"><img src="/foo.jpg" /></a>
<a href="#"><img src="/foo.jpg" /></a>
<a href="#"><img src="/foo.jpg" /></a>
</li>
<li>
<a href="#"><img src="/foo.jpg" /></a>
<a href="#"><img src="/foo.jpg" /></a>
<a href="#"><img src="/foo.jpg" /></a>
</li>
</ul>
Я пытался сделать это сам, используя position()
, так как моя логика кажется не работает.Может кто-нибудь, пожалуйста, посмотрите?Большое спасибо заранее ..