web-dev-qa-db-ja.com

HTMLではなくXSLTでコメントする方法

私はXSLを書いており、PHPのように処理されたときに取り除かれるコード全体にコメントを付けたいと思っていますが、どうすればいいかわかりません。

コメントオブジェクトは知っていますが、処理されるとHTMLコメントを出力します。 :\

<xsl:comment>comment</xsl:comment>
41
Kirk Strobeck

標準のXMLコメントを使用します。

<!-- Comment -->

これらはXSLTトランスフォーマーによって処理されません。

90
Kathy Van Stone

<!-- comments -->[〜#〜] after [〜#〜]開始XML宣言(使用する場合は、本当に必要ありません):

BREAKS:

<!-- a comment -->
<?xml version="1.0"?>

WORKS:

<?xml version="1.0"?>
<!-- a comment -->

他の誰かのXSLTのデバッグ中にこの同じ問題に少し頭を悩ましました...

13
Veloz

XSLTプロセッサとその空白処理の設定に応じて、コメントの両側の空白が出力ストリームに含まれることがあることに注意してください。これが出力の問題である場合は、コメントがxsltタグで囲まれていることを確認してください。

例えば

<xsl:for-each select="someTag">
  <xsl:text>"</xsl:text>
    <!-- output the id -->
<xsl:value-of select="@id"/>
<xsl:text>"</xsl:text>
</xsl:for-each>

"someTagID"を出力します(コメントタグの前のインデントタブ/スペースが出力されます)。削除するには、インデントを解除して左マージンを揃えるか、次のように括弧で囲みます

<xsl:text>"</xsl:text><!-- output the id --><xsl:value-of select="@id"/>
2
Peter Brand