私はDCM4CHEE DICOM projectから次のXSLファイルを持っており、少し調整しようとしていました。私が実際に作業しようとしているコードはコメントアウトされていますが、変数の割り当てさえ実際にnullを返すようです。 DCM4CHEEログは、コンパイル時にXSLテンプレートから来ているように見える「null」というJava例外をスローしています。XSL変数がnullを返すようです
<xsl:call-template name="attr">
<xsl:with-param name="tag" select="'00100040'"/>
<xsl:with-param name="vr" select="'CS'"/>
<xsl:variable name="testing" select="string(field[8]/text())" />
<xsl:with-param name="val" select="$testing" />
<!--
<xsl:variable name="sexString" select="string(field[8]/text())" />
<xsl:variable name="sex">
<xsl:choose>
<xsl:when test="$sexString='1'">M</xsl:when>
<xsl:when test="$sexString='2'">F</xsl:when>
<xsl:when test="$sexString='9'">U</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$sexString"/>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:with-param name="val" select="$sex" /> -->
</xsl:call-template>
通常XSL 1つだけの単純なラインです:
<xsl:with-param name="val" select="string(field[8]/text())" />
私はおそらく非常に間違って何かをやっているが、私は変数にfield[8]/text()
を割り当てることができないんだけど、なぜ誰かが説明することができ、その後、それをwith-paramに渡しますか?