Die XML-Spezifikation definiert eine einzigartige Art ID:
Gültigkeitsbeschränkung: ID
Werte vom Typ ID der Name Produktion übereinstimmen müssen. Ein Name darf nicht mehr als einmal in einem XML-Dokument als Wert dieses Typs angezeigt werden; d.h. ID-Werte müssen die Elemente eindeutig identifizieren, die sie tragen.
Die Produktion Name ist
[5] Name ::= (Letter | '_' | ':') (NameChar)*
Dies sagt, dass, wenn ein Attribut als vom Typ ID deklariert wird (ob in DTD oder XML-Schema), dann muss der Prüfer sicherzustellen, dass es innerhalb des Dokuments eindeutig ist. Beachten Sie, dass die ID mit einem Buchstaben oder einem Unterstrich beginnen muss, damit reine Zahlen nicht funktionieren.
Persönlich verwende ich keine ID (ich finde es zu einschränkend für mich), aber Sie sollten es wahrscheinlich in Betracht ziehen. Beachten Sie, dass XML-Schema-Tools standardmäßig keine eindeutigen IDs für Sie generieren (obwohl XSLT dies tut).
Beachten Sie, dass der Name des Attributs (in Ihrem Fall "ID") ein beliebiger gültiger Name sein kann (z. B. "Id", "foo"), aber in der DTD oder im Schema als Typ ID deklariert werden muss.
UPDATE: OP fragt, warum wir keine XML ID verwenden. Wir führen häufig Knoten aus verschiedenen Quellen zusammen, z.
und
Die IDs werden whatver die Autoren gewählt haben (dies ist nicht eine einzige Datenbank app - denken mehr Menschen Blogeinträge in einer Gemeinschaft zu schaffen und deren Erstellung IDs, so ist es üblich, dass Leute die gleiche ID (hauptsächlich m1) erstellen. In diesem Fall könnten wir gut haben:
Das sieht schrecklich aus, aber es gibt keine einfachen Antworten.
Wir verwenden andere Informationen, um zu disambiguieren. Wir haben eine Regel, dass ids in einem bestimmten Umfang eindeutig sind - z. dass die Atome innerhalb eines Moleküls eindeutige IDs haben müssen.
Wenn wir einen einzigartigen ID-Generator verwendet haben, sind diese völlig undurchsichtig und die Menschen in unserer Gemeinde würden rebellieren (was sie taten).
IDs sind in einer nicht verwalteten menschlichen Gemeinschaft nicht einfach zu verwalten!
Perfekt! Genau das, was ich gesucht habe. Es ist ein wenig verwirrend, Ids wie "r1", "r2" zu haben, aber es ist kein Problem. BTW Ich würde gerne wissen, was würden Sie in diesem Fall tun, wenn Sie ID nicht verwenden? – TryHarder
Unser Problem ist, dass wir häufig Dokumente zusammenführen. Siehe meine Antwort –
Habe die Idee. Zum Glück ist es nicht mein Fall. Danke noch einmal. – TryHarder