ソース XML 内の存在しない属性 (または要素) にアクセスしようとすると、XSLT がエラーをスローするようにする簡単な方法を探しています。現在、属性が存在するかどうかを最初に確認し、存在しない場合は手動でエラーをスローします-例:
<xsl:if test="not(attribute_to_use)">
<xsl:message terminate="yes">
<xsl:text>error message</xsl:text>
</xsl:message>
</xsl:if>
<!-- do something -->
<xsl:attribute name="new_attribute"><xsl:value-of select="attribute_to_use" /></xsl:attribute>
特にすべての属性に対してこれを行う場合、属性をチェックするコードがたくさんあることがわかりました。XSLT 内でこれを行う他の方法はありますか?たとえば、「存在しない属性で中止する」などのディレクティブを設定することでしょうか?
これを行う 1 つの方法は、DTD またはスキーマを使用することであることも知っています。直接的な XSLT の方法がない場合は、この方法で行います。
どうもありがとう!