Ich versuche herauszufinden, warum wir URIs für XML-Namespaces benötigen, und ich kann keinen Zweck dafür finden. Kann mich jemand ein bisschen aufhellen und seinen Gebrauch an einem konkreten Beispiel zeigen?
BEARBEITEN:
Ok also zum Beispiel: Ich habe das von w3schools
<root
xmlns:h="http://www.w3.org/TR/html4/"
xmlns:f="http://www.w3schools.com/furniture">
<h:table>
<h:tr>
<h:td>Apples</h:td>
<h:td>Bananas</h:td>
</h:tr>
</h:table>
<f:table>
<f:name>African Coffee Table</f:name>
<f:width>80</f:width>
<f:length>120</f:length>
</f:table>
</root>
Also, was sollte http://www.w3schools.com/furniture
halten?
Antworten:
Ein Namespace ist eine Art zu sagen "Diese Art von Foo" unterscheidet sich von "Diese Art von Foo", obwohl sie gleich geschrieben sind. Oder, wenn Sie es vorziehen, " MEINE Art von Foo" unterscheidet sich von " Alle anderen Arten von Foo".
Die technische Art zu sagen, dass dies "Die URI meines Namespace für Foo" ist, unterscheidet sich von jeder anderen URI für ihren Namespace für Foo. Mit anderen Worten, URIs sind nur Zeichenfolgen, mit denen Sie dies sagen können.
Der Trick besteht dann darin, zu sagen, "Hey, URLs sind gültige URIs", und dann einen URI zu verwenden, der einer von Ihnen kontrollierten URL entspricht. Wenn alle das tun, vermeiden Sie versehentliche Namespace-Kollisionen. Sie hätten auch den Namespace "A" und den Namespace "B" sagen können, aber Sie riskieren, dass auch jemand anderes den gleichen Namespace verwendet, und dann unterscheidet sich Ihre Art von Foo nicht mehr von dessen Foo, was genau das ist, was Sie vermeiden möchten .
Sie können dann den URLs, die als URIs verwendet werden, zusätzliche Konventionen hinzufügen, z. B. dass die URL einer Seite mit Dokumentation, XSDs oder ähnlichem entsprechen muss, dies ist jedoch nicht erforderlich. Es ist einfach praktisch.
quelle
a
wäre der Namespace absolut gültig? Dumm, aber gültig? Oder muss es eine URI sein?Im Allgemeinen würde jeder eindeutige Bezeichner für einen Namespace dienen. Da es jedoch global einzigartig sein soll , müsste der Standard entweder eine Schiedsstelle beauftragen oder eine andere Ressource verwenden, die gleichzeitig global einzigartig, aber leicht zu finden und zu beweisen ist, dass es Ihre ist.
Oh schau! Wenn Sie eine Domain haben, ist dies offensichtlich nur Ihre Domain und es ist einfach zu beweisen, dass es Ihre ist!
Sie wollten zum Beispiel vermeiden, dass zwei verschiedene Buchhandlungen "Bücher" als Namespace mit völlig unterschiedlichen internen Definitionen verwenden. Während sie es intern verwenden, gibt es kein Problem; Aber sobald einer von ihnen seine Spezifikation veröffentlichen will, bricht die Hölle los.
Wenn Sie zur Verwendung Ihrer Domain ermutigt werden, kann stattdessen jeder (also jeder, der eine Domain besitzt) seinen eigenen privaten Namespace mit der Gewissheit definieren, dass niemand den exakt gleichen Bezeichner verwendet.
Als Bonus können Sie die Definition Ihres Namespaces optional in der URI speichern und selbstdokumentieren.
Scheint mir eine großartige Idee zu sein.
quelle
Welche xmlIns gibt an?
Als Attributknoten mit dem Namen "xmlns" oder "xmlns: xxx", genau wie die Namespaces im XML-Quelldokument geschrieben werden. Dies ist das von DOM vorgestellte Modell.
Welche URI enthält?
Ein XML-Namespace wird mit dem reservierten XML-Pseudoattribut xmlns oder xmlns: prefix deklariert, dessen Wert ein gültiger Namespace-Name sein muss.
Die folgende Deklaration ordnet beispielsweise das Präfix "xhtml:" dem XHTML-Namespace zu:
WIE ich nach dem Lesen des Artikels auf Wikipedia entdeckt habe. URI enthält die XML-formatierten Spezifikationen des Namespaces und bietet eine Methode zur Vermeidung von Elementnamenskonflikten.
Möglicherweise wissen Sie, dass XML-Dokumente
XML Schema
für die Element- / Tabellen- / Klassenstruktur von Elementen des XML-Dokuments verwendet werden.Was sollte http://www.w3schools.com/furniture beinhalten ?
Die Antwort finden Sie auf Ihrer Seite, auf der Sie Informationen zum XML-Namespace erhalten haben. Überprüfen Sie den
Namespaces in Real Use
Abschnitt in diesem W3Schools- Artikel .Überprüfen Sie den folgenden Link des Stapelüberlaufs, der zeigt, was dieser URI enthält:
Wie erstelle und verwende ich einen XML-Namespace?
quelle
URI = global eindeutiger Name oder Bezeichner des Namespace
Erwägen Sie den Aufbau einer Datenbank oder eines Dokuments zum Finanzmanagement der Logistik der Ölindustrie. Dazu müssten für jedes Fach spezifische Vokabeln (dh kontrollierte Begriffe) verwendet werden: Datenbank, Dokument, Management, Finanzen, Logistik, Öl und Industrie.
Wenn sich keiner der Begriffe in diesen sieben Vokabularen überschneidet, wird nur ein URI benötigt. Für jeden Begriff, der sich mit anderen Begriffen in diesen Vokabeln überschneidet, benötigen Sie jedoch ein zusätzliches fachspezifisches Vokabular, das in einem URI oder einer IRI angegeben ist. Ein Weg, um dies zu umgehen, besteht darin, eine verschmolzene Taxonomie mit allgemeineren Begriffen und engeren fachspezifischen Begriffen zu schaffen.
Dies könnte dann zu einem Thesaurus erweitert werden, der auch die Jargon-Synonyme eines Begriffs anzeigt und die Angabe eines bevorzugten Begriffs unter diesen Jargon-Synonymen ermöglicht.
quelle