web-dev-qa-db-ja.com

XMLタグ内の属性をコメントするにはどうすればよいですか?

XMLタグ内の1つまたは複数の属性をコメント化することはできますか? Cの/* */のようなもの.

<!-- -->を使用してみましたが、失敗しました。

<element
    attribute1="value1"
    attribute2="value2"
    <!-- attribute3="value3" (commented value) -->
>
51
Ntropy Nameless

いいえ、これは不可能です。 XMLオープンタグではコメントは許可されません。アプリケーションによっては、名前の前に「_」を付けて属性を「コメント化」することもできますし、しないこともあります(XMLがスキーマに対して検証されるか、すべての属性が解析される場合)。空白が許可され、ほとんどのエディターが行操作をサポートしているため、この方法で複数の属性を簡単に「コメント化」できます。

<element
   _attr1="value1"
   _attr2="value2"
   _attr3="value3"
>

ただし、これらの属性はまだドキュメントの一部です。

35
Jeroen Mostert

唯一の準拠方法は、問題の属性なしでノードを作成することです。私はこのアプローチを定期的に使用しています。

<div>
<!-- This opening div tag replaces the one above.
<div my-attribute="my-value"> -->
  div contents here...
</div>

コメントアウトされた開始タグが何であるかを明確にするコメントは、あなたのニーズ(このコードを使用している同僚など)に依存します。

次に、状況を変える必要がある場合は、次のように変更します。

<!-- <div>
This opening div tag replaces the one below. -->
<div my-attribute="my-value">
  div contents here...
</div>

繰り返しますが、コメントの必要性はそれぞれのケースで変わります。

これは単純で、「通常の」コーディングの場合と同様に、コピー/貼り付けを行ってコメント/コメント解除することができます。

12
Andy

申し訳ありませんが、そうではありません。

W3.orgのLiam R. E. Quinから:(XMLの将来のバージョンでは今ではない場合、属性をコメントアウトできるかどうか尋ねられました):

> 
>     SGML allows this, with e.g.
>         <sock -- age="19" -- state="clean" -- id="s36" >
>         <shoe -- id="s12" ></sock>
>     being the same as
>         <sock state="clean" id="s12">
> 
> 
> 

しかし、同じ開始区切り記号と終了区切り記号を使用すると多くの問題が発生し、XMLを定義したときにその機能がなくなりました。コメントの開始と終了を-*と*-に変更したかったので、タグと宣言内にコメントを含めることができ、しばらくの間XML仕様に含まれていましたが、覚えているようですSGML互換性の問題のために削除されました。

互換性のない方法でXMLを変更することはもはや不可能だと思います-あまりにも広範になりました-そして、XML自体でアクティブな作業を行うワーキンググループはもうありません。

書いてくれてありがとう。

リアム

6
ggb667

その操作は無効です。 xmlノードタグの属性はコメントできません。属性にコメントを追加する場合は、ターゲットノードの上にコメントを配置します。

< !-- -- >は、xmlファイル内にコメントを挿入する有効な方法ですが、「ノード属性」(別のノードタグ内)ではなく、xmlノードとして配置する必要があります。

HTMLを使用した例:

<!-- I can comment before the node -->
<div>This node I want to comment</div>
<!-- I can comment after the node -->

ただし、これは許可されていません。

<div       <!--attribute="12" --> >

W3Cドキュメント

コメントはマークアップであることに注意してください。

参照:

4
Beri