1
我目前正在使用以下XSLT代码,以成功/动态放置Facebook,linkedin和twitter图标,并使用条件(如果XLM中的成员数据显示他们有脸书(即如果Facebook元素是非空的)。如何将XSLT转换为InDesign CS5输出(不输出到html)以自动将相应的/唯一的Facebook URL分配给图像?由于将URL超链接动态分配给XSLT中的图像以放入InDesign CS5
这里是XSLT代码(我得给了Facebook,微博的图标图像和链接中,如果存在一个URL):
<?xml version="1.0"?><!DOCTYPE xsl:stylesheet [
<!ENTITY nbsp " ">
<!ENTITY mdash "—">]>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="xml" indent="no"/>
<xsl:template match="/">
<memberdata>
<xsl:for-each select="memberdata/memberinfo">
<xsl:sort select="SortKey"/>
<memberdata>
<xsl:if test="twitter[.!='']">
<twitter><xsl:attribute name="href">file://logos/twitter.jpg</xsl:attribute></twitter>
</xsl:if>
<xsl:if test="facebook[.!='']">
<facebook><xsl:attribute name="href">file://logos/facebook.jpg</xsl:attribute></facebook>
</xsl:if>
<xsl:if test="linkedin[.!='']">
<linkedin><xsl:attribute name="href">file://logos/linkedin.jpg</xsl:attribute></linkedin>
</xsl:if>
</memberdata>
</xsl:for-each>
</memberdata>
</xsl:template>
<xsl:template match="twitter">
</xsl:template>
<xsl:template match="facebook">
</xsl:template>
<xsl:template match="linkedin">
</xsl:template>
</xsl:stylesheet>
和XLM:
<?xml version="1.0"?>
<memberdata xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance">
<memberinfo>
<email>[email protected]</email>
<facebook>http://www.URL1a.com</facebook>
<linkedin>http://www.URL1b.com</linkedin>
<vimeo>http://www.URL1c.com</vimeo>
</memberinfo>
<memberinfo>
<email>[email protected]</email>
<facebook>http://www.URL2a.com</facebook>
<linkedin>http://www.URL2b.com</linkedin>
<vimeo>http://www.URL2c.com</vimeo>
</memberinfo>
</memberdata>
请注意,尽管facebook图片是相同的,但每个会员数据可能包含XLM facebook元素中的不同/唯一URL,即www.facebook.com/abc,www.facebook.com/xyz等。目标是让facebook图标出现(它已经可以正常工作),但它也会显示相应的URL,分配给它的www.facebook.com/abc等,这样当我们导出为PDF时,它就是一个实时链接。谢谢。 – Tom 2011-01-24 09:21:03