webentwicklung-frage-antwort-db.com.de

Wie kommentiere ich Attribute in einem XML-Tag?

Ist es möglich, ein oder mehrere Attribute innerhalb eines XML-Tags zu kommentieren? Etwas wie /* */ von C.

Ich habe versucht mit <!-- -->, aber es war erfolglos.

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

Nein, das ist nicht möglich. Kommentare sind in einem offenen XML-Tag nicht zulässig. Abhängig von Ihrer Anwendung können Sie die Attribute "auskommentieren", indem Sie ihren Namen das Präfix "_" voranstellen, oder Sie können dies nicht tun (wenn die XML anhand eines Schemas überprüft wird oder alle Attribute analysiert werden). Da Leerzeichen zulässig sind und die meisten Editoren Zeilenoperationen unterstützen, können Sie mehrere Attribute auf einfache Weise "kommentieren":

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

Diese Attribute sind jedoch immer noch Teil des Dokuments.

35
Jeroen Mostert

Die einzige kompatible Möglichkeit besteht darin, einen Knoten ohne das betreffende Attribut zu erstellen. Ich benutze regelmäßig diesen Ansatz:

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

Der Kommentar zur Verdeutlichung des auskommentierten offenen Tags hängt von Ihren Anforderungen ab (Mitarbeiter, die diesen Code verwenden usw.).

Wenn Sie dann etwas verschieben müssen, ändern Sie es einfach in:

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

Auch hier ändert sich Ihr Kommentarbedarf von Fall zu Fall.

Es ist einfach und ermöglicht Ihnen das Kopieren/Einfügen von Kommentaren/Kommentaren wie bei "normaler" Codierung.

12
Andy

Entschuldigung, nein, das ist es nicht.

Von Liam R. E. Quin auf w3.org: (Gefragt, ob es möglich wäre, Attribute auszukommentieren, wenn nicht jetzt, dann in einer zukünftigen Version von 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">
> 
> 
> 

die Verwendung desselben Start- und Endbegrenzers verursachte jedoch viele Probleme, und diese Funktion haben wir bei der Definition von XML beseitigt. Ich wollte den Beginn und das Ende von Kommentaren in "*" und "*" ändern, wodurch wir die Möglichkeit hatten, Kommentare in Tags und Deklarationen zu speichern, und für eine Weile war dies in der XML-Spezifikation der Fall, aber ich scheine mich zu erinnern es wurde wegen SGML-Kompatibilitätsproblemen gelöscht.

Ich fürchte, es ist nicht mehr möglich, XML auf inkompatible Weise zu ändern - es ist zu allgegenwärtig geworden - und wir haben keine Arbeitsgruppe mehr, die aktiv in XML selbst arbeitet.

Danke fürs Schreiben.

Liam

6
ggb667

Diese Operation ist nicht gültig. Sie können Attribute von XML-Knotentags nicht kommentieren. Wenn Sie Ihren Attributen Kommentare hinzufügen möchten, platzieren Sie Ihren Kommentar über dem Zielknoten.

< !-- -- > ist eine gültige Methode zum Einfügen von Kommentaren in eine XML-Datei. Sie sollte jedoch als XML-Knoten und nicht als "Knotenattribut" (innerhalb eines anderen Knotentags) platziert werden.

Beispiel mit HTML:

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

Das ist aber nicht erlaubt:

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

Laut W3C-Dokumentation

Beachten Sie, dass Kommentare Markups sind.

Referenz:

4
Beri