Welches Wort würden Sie wählen, um den absoluten Stack-Level eines Elements zu kennzeichnen - mit anderen Worten, den Grad der Verschachtelung relativ zum Root / Document-Element?
Zwischen level und depth welche würden Sie wählen und warum? Was wird häufig verwendet oder bevorzugt? Welchen würden Sie in Ermangelung eines sinnvollen Zusammenhangs weniger verwirrend finden?
Ich habe versucht, die XML-Spezifikation ohne viel Erfolg zu überprüfen.
Ich nenne es
Depth
.
Wie wir wissen, ist XML ein Node based structure
.
Wir alle wissen, dass wir in Data Structures beide Begriffe weit verwenden.
Wenn wir über eine Binary-Tree-Struktur sprechen, sagen wir generell
In welcher Tiefe befindet sich ein Knoten?
Wir verwenden diesen Begriff auch in DFS (Depth First Search) und BFS (Breathth First Search). Wenn wir runtergehen, nennen wir es level depth/down (deep)
und wenn wir nach oben gehen, nennen wir es level up
. So steht level
für position at specific point
, aber depth
steht für How Deep it is
. Im Folgenden finden Sie eine Darstellung dessen, was ich vermitteln möchte
Wenn wir in XML nach Elementen suchen, die auf einer tieferen Ebene (Tiefe) liegen, verwenden wir descendant
. Was bedeutet das? Wir beziehen uns auf depth level
des Elements.
In AVL Binary Tree zählen wir im Allgemeinen den level
eines Node
und basierend darauf drehen wir den Baum, um ihn auszugleichen.
Mit anderen Worten
Der depth
eines Knotens ist die Länge des Pfads zu seinem Stamm (dh der Stammpfad) oder depth
ist der maximale Abstand von node to root
.
Der level
eines Knotens ist die Anzahl der Knoten auf dem längsten Pfad von node to a leaf
.
Aber wenn wir über XML-Struktur sprechen, ist der Begriff Depth
am besten, um XML-Knoten darzustellen. Also wähle ich Depth
.
Edit: Danke an @Alex für seine wertvolle Ausgabe. Nach seiner Ergänzung habe ich auch einige Dinge bearbeitet, um die Antwort zu verbessern.
Ein "Level" repräsentiert alle Knoten, die innerhalb eines Baumes dieselbe Tiefe haben (ein Gruppierungskonstrukt). Die Tiefe ist daher die ganze Zahl, die den relativen Abstand vom Wurzelknoten zu einem anderen Knoten darstellt.
Also imho würde ich für "Tiefe" als Integralwert gehen, und alle Knoten mit der gleichen "Tiefe" sind auf einer "Ebene".
Ich würde mit der Tiefe gehen.
Offensichtlich verwenden viele Leute Niveau und Tiefe austauschbar. In meinem Verständnis kann sich Level darauf beziehen, wie weit entfernt von dem Wurzelelement ein Element ist oder zu allen Elementen, die den gleichen Abstand zum Wurzelelement haben. Um diese Mehrdeutigkeit zu vermeiden, würde ich Tiefe bevorzugen.
Außerdem werden Bäume normalerweise mit ihrem Wurzelelement oben dargestellt, wie NullVoid gezeigt hat. Da Sie XML-Elemente als Baum mit Knoten behandeln können, haben wir ein anderes Argument, um die Tiefe zu unterstützen. Eine letzte wäre, dass Tiefe funktioniert, weil XML-Elemente in einer XML-Datei dargestellt werden ;-)
Wenn Sie von einem 'Stack' sprechen, wie in der Datenstruktur, dann ist die Tiefe der bevorzugte Ausdruck. Aus der Perspektive eines XML-Dokuments scheinen sowohl die Schachtelungstiefe als auch die Schachtelungsebene gebräuchlich zu sein. Eine schnelle Google Umfrage zeigt ungefähr 600000 Ergebnisse für 'xml nesting level' und 'xml nesting depth'.
Ich würde sagen, wählen Sie eine und bleiben Sie dabei konsequent im selben Kontext.
Tiefe für eine bestimmte Position im Baum, Ebene zum Durchfahren des Baumes. Ie. Gehen Sie eine Ebene von Tiefe 5 nach unten.
Was ist die Tiefe deines Levels?
Wie hoch ist Ihre Tiefe?
Wie viele Stufen von der Tiefe 5 sind Sie?
Wie viele Tiefen von Level 5 bist du?
Ich würde mit dem Begriff Tiefe gehen.
XML ist eine baumbasierte Repräsentation und somit auch DOM.
Wenn wir einen Baum als Beispiel nehmen:
Tiefe eines Knotens bezeichnet die Anzahl der Kanten zwischen diesem Knoten und dem Stamm. Dies ist invariant.
Auf der anderen Seite ist "level" beliebig. Level-Werte werden bestimmt durch welche Ebene ich den Root-Knoten auf (Level 0 oder Level 1) platzieren
Da Sie eine Programmiersprache entwickeln, habe ich versucht, nach Stellen zu suchen, an denen sie tatsächlich eine Depth-Eigenschaft für XML-Knoten haben:
1. .NET: XMLTextReader verfügt über eine Tiefeneigenschaft.
2. Javascript: Keine eingebaute Tiefeneigenschaft.
Tags und Links xml programming-languages terminology naming-conventions