4
4

1 に答える 1

4

コメント内の引用符は同じ、通常の qoute 文字であると想定してい"ます。この質問が表示されたときに表示される、開始と終了の引用符がタイポグラフィ的に異なるわけではありません。

この仮定が間違っている場合は、以下の式の標準的な引用をそれぞれの引用に置き換えてください。


使用(問題のコメントがドキュメントの最初のコメントである場合):

substring-before(substring-after(//comment(), '"'), '"')

これにより、文字列が生成されます(引用符なし):

" バツ "

引用符で囲まれた 2 番目の文字列には、次を使用します。

substring-before(
   substring-after(
        substring-after(
               substring-after(//comment(), '"'), 
               '"'), 
        '"'), 
   '"')

XSLT - ベースの検証(XSLT スタイルシートは整形式の XML ドキュメントでなければならないため、引用符の"ネストによるエラーを回避するために、式の引用符をエンティティに置き換えます):

<xsl:stylesheet version="1.0"
 xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 <xsl:output omit-xml-declaration="yes" indent="yes"/>
 <xsl:strip-space elements="*"/>

 <xsl:template match="/">
     "<xsl:copy-of select="substring-before(substring-after(//comment(), '&quot;'), '&quot;')"/>"
=============
   "<xsl:copy-of select=
   "substring-before(substring-after(substring-after(substring-after(//comment(), '&quot;'), '&quot;'), '&quot;'), '&quot;')"/>"
 </xsl:template>
</xsl:stylesheet>

この変換がこの XML ドキュメントに対して適用されると、次のようになります。

<html>
  <body>
    Hello.
<!-- Title: " X " Tags: " Y " -->
  </body>
</html>

2 つの XPath 式が評価され、これら 2 つの評価の結果が出力にコピーされます(コピーされた正確な文字列を示すために引用符で囲まれています)。

     " X "
=============
   " Y "
于 2012-10-12T12:41:02.663 に答える