ノードに多くの属性が含まれているXMLを使用しています.XSLを使用してFO PDFファイル(レポート)を作成しています。現在のノードで特定の属性を持つテンプレートを作成しようとしていて、基本的な書式設定を行うfo:block
を作成します。xslt template-属性とその値をどのように渡しますか?
ここには、1つのノード上のすべての属性と値の大きなリストを作成するテンプレートがあります。
XSL:
<xsl:template name="createAttributeAndValueList">
<xsl:param name="node" select="." />
<xsl:for-each select="$node/@*">
<fo:block>
<xsl:value-of select="concat(name(),': ')"/>
<xsl:value-of select="."/>
</fo:block>
</xsl:for-each>
</xsl:template>
私は唯一の代わりにノードをオフにそれらのすべてのため、これらの属性の1または2を取得したいときしかし、時間があります。私はこれが本当に明白なものだと推測していますが、私は経験不足のためにまだ理解していません。
私は同じ書式設定をしようとしていますが、私はパラメータに自分の値を渡すことができ、私が欲しいものを得るために構文の権利を得ることができないようです。ここで私が持っているものです。
XSL:
<xsl:template name="createAttributeValuePair">
<xsl:param name="attribute" select="." />
<xsl:for-each select="@*">
<fo:block>
<xsl:value-of select="concat(name(),': ')"/>
<xsl:value-of select="."/>
</fo:block>
</xsl:for-each>
</xsl:template>
そして、ここでは、私はそれを呼び出すようにしようとしている方法は次のとおりです。 XSL:
<fo:block font-weight="normal" margin-left="6pt">
<xsl:call-template name="createAttributeValuePair">
<xsl:with-param name="attribute"
select="/device:DevicePatientEncounter/device:Encounter/
device:Followup/@UnderlyingRhythm"/>
</xsl:call-template>
</fo:block>
私のXMLは次のようになります。
<DevicePatientEncounter xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
GeneratedTime="2011-12-14T13:36:05"
EncounterDate="2011-11-15T11:04:54"
xmlns="device">
<Encounter>
<Followup UnderlyingRhythm="Sinus bradycardia"
UnderlyingRhythmRateBpm="44"
IsPmDependent="false"
PresentingRhythm="Atrial fibrillation"
BatteryChargeSeconds="5"
AutoCapFrequency="3 Years"
LastCapacitorFormDate="2011-10-25T00:00:00"
BatteryLongevity="0"
BatteryVoltage="11"
BatteryStatus="MOL"/>
</Encounter>
</DevicePatientEncounter>