Comment puis-je commenter un bloc de balises en XML?

Comment puis-je commenter un bloc de balises en XML?

i. e. Comment puis-je commenter <staticText> et tout ce qu'il contient, dans le code ci-dessous?

  <detail>
    <band height="20">
      <staticText>
        <reportElement x="180" y="0" width="200" height="20"/>
        <text><![CDATA[Hello World!]]></text>
      </staticText>
    </band>
  </detail>

je pourrais utiliser <!-- staticText--> mais c'est juste pour les étiquettes simples (comme ce que je sais), comme // en Java et C. Je voudrais quelque chose plus comme comment /** comment **/ peut être utilisé en Java et C, donc je peux commenter des blocs plus longs de code XML.

693
demandé sur Jonas 2010-05-03 14:31:24

6 réponses

vous pouvez utiliser ce style de commentaire sur plusieurs lignes (qui existe aussi en HTML)

<detail>
    <band height="20">
    <!--
      Hello,
         I am a multi-line XML comment
         <staticText>
            <reportElement x="180" y="0" width="200" height="20"/>
            <text><![CDATA[Hello World!]]></text>
          </staticText>
      -->
     </band>
</detail>
969
répondu Noon Silk 2015-06-20 20:21:02

si vous demandez, parce que vous avez des erreurs avec la syntaxe <!-- --> , c'est très probablement la section CDATA (et là la partie ]]> ), qui se trouve alors au milieu du commentaire. devrait de ne pas faire une différence, mais idéal et le monde réel peut être tout à fait un peu à l'écart, parfois (surtout quand il s'agit de traitement de données XML).

essayer de changer le ]]> , aussi:

  <!--detail>
    <band height="20">
      <staticText>
        <reportElement x="180" y="0" width="200" height="20"/>
        <text><![CDATA[Hello World!]--><!--]></text>
      </staticText>
    </band>
  </detail-->

autre chose, qui vient à attention: si le contenu de votre XML quelque part contient deux traits d'Union, le commentaire se termine immédiatement là:

<!-- <a> This is strange -- but true!</a> -->
--------------------------^ comment ends here

C'est un piège courant. C'est hérité de la façon dont SGML gère les commentaires. ( Lire la spécification XML à ce sujet )

135
répondu Boldewyn 2017-01-13 18:38:26

vous pouvez envelopper le texte avec une instruction de traitement non existante, par exemple:

<detail>
<?ignore
  <band height="20">
    <staticText>
      <reportElement x="180" y="0" width="200" height="20"/>
      <text><![CDATA[Hello World!]]></text>
    </staticText>
  </band>
?>
</detail>

les instructions de traitement imbriquées ne sont pas autorisées et "?> 'termine l'instruction de traitement (voir http://www.w3.org/TR/REC-xml/#sec-pi )

129
répondu Kasper van den Berg 2013-02-01 16:13:15

en Fait, vous pouvez utiliser le