获取父节点 XSLT 的属性
Get attributes of a parent node XSLT
我想在 Apache FOP 中有条件地格式化 URL,为此,我想检查 property
是否属于 HYPERLINK
类型,然后应用条件格式并将其转换进入 URL.
下面是我的XML
<properties>
<property type="CUSTOM" id="150" key="localizedfield">
<name>Localized Text</name>
<value>Test</value>
</property>
<property type="CUSTOM" id="149" key="textareafield">
<name>Textarea</name>
<value>My longer default text.</value>
</property>
<property type="HYPERLINK" key="ASSET_LINK">
<name>Asset Link</name>
<value>Test=https://test.com</value>
</property>
<property type="CUSTOM" key="VALIDITY">
<name>Asset Availability</name>
<value>Available</value>
</property>
</properties>
我用于转换的 XSL 如下所示
<xsl:template name="table-row">
<xsl:for-each select="properties/property">
<xsl:apply-templates select="."/>
</xsl:for-each>
</xsl:template>
<xsl:template match="property">
<fo:table-cell >
<fo:block >
<xsl:choose>
<xsl:when test="<check if type is HYPERLINK>">
<!-- Format as hyperlink -->
</xsl:when>
<xsl:otherwise>
<!-- format as normal text -->
</xsl:otherwise>
</xsl:choose>
</fo:block>
</fo:table-cell>
</xsl:template>
在xsl:when
条件下我只得到name
和value
,我怎么能在这里得到完整的property
节点所以我可以检查类型属性是 HYPERLINK
然后相应地格式化?
我想你想要
<xsl:when test="@type='HYPERLINK'">
我想在 Apache FOP 中有条件地格式化 URL,为此,我想检查 property
是否属于 HYPERLINK
类型,然后应用条件格式并将其转换进入 URL.
下面是我的XML
<properties>
<property type="CUSTOM" id="150" key="localizedfield">
<name>Localized Text</name>
<value>Test</value>
</property>
<property type="CUSTOM" id="149" key="textareafield">
<name>Textarea</name>
<value>My longer default text.</value>
</property>
<property type="HYPERLINK" key="ASSET_LINK">
<name>Asset Link</name>
<value>Test=https://test.com</value>
</property>
<property type="CUSTOM" key="VALIDITY">
<name>Asset Availability</name>
<value>Available</value>
</property>
</properties>
我用于转换的 XSL 如下所示
<xsl:template name="table-row">
<xsl:for-each select="properties/property">
<xsl:apply-templates select="."/>
</xsl:for-each>
</xsl:template>
<xsl:template match="property">
<fo:table-cell >
<fo:block >
<xsl:choose>
<xsl:when test="<check if type is HYPERLINK>">
<!-- Format as hyperlink -->
</xsl:when>
<xsl:otherwise>
<!-- format as normal text -->
</xsl:otherwise>
</xsl:choose>
</fo:block>
</fo:table-cell>
</xsl:template>
在xsl:when
条件下我只得到name
和value
,我怎么能在这里得到完整的property
节点所以我可以检查类型属性是 HYPERLINK
然后相应地格式化?
我想你想要
<xsl:when test="@type='HYPERLINK'">