Próbuję dowiedzieć się, dlaczego potrzebujemy identyfikatorów URI dla przestrzeni nazw XML i nie mogę znaleźć dla tego celu. Czy ktoś może mnie trochę rozjaśnić, pokazując ich użycie na konkretnym przykładzie?
EDYTOWAĆ:
Ok, więc na przykład: Mam to z 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>
Co więc powinno się http://www.w3schools.com/furniture
trzymać?
Odpowiedzi:
Nazw jest sposobem na powiedzenie „Ten rodzaj Foo” różni się od „tego rodzaju Foo”, mimo że są one napisane tak samo. Lub, jeśli wolisz, „ MÓJ rodzaj Foo” różni się od „ Każdy inny rodzaj Foo”.
Techniczny sposób powiedzenia tego to „URI mojej przestrzeni nazw dla Foo” różni się od wszystkich pozostałych URI dla ich przestrzeni nazw dla Foo. Innymi słowy, identyfikatory URI to tylko ciągi znaków, które pozwalają ci to powiedzieć.
Sztuką jest wtedy powiedzieć: „Hej, adresy URL są poprawnymi identyfikatorami URI”, a następnie użyć identyfikatora URI odpowiadającego adresowi URL pod kontrolą. Jeśli wszyscy to zrobią, unikniesz przypadkowych kolizji przestrzeni nazw. Równie dobrze mógłbyś powiedzieć przestrzeń nazw „A” i przestrzeń nazw „B”, ale ryzykujesz, że ktoś również użyje tej samej przestrzeni nazw, a wtedy twój rodzaj Foo nie będzie już różnił się od ich Foo, co jest dokładnie tym, czego chcesz uniknąć .
Następnie możesz dodać dodatkową konwencję do adresów URL używanych jako URI, na przykład, że adres URL musi odpowiadać stronie zawierającej dokumentację lub XSD lub podobny, ale nie jest to konieczne. To jest po prostu wygodne.
źródło
a
byłaby całkowicie poprawna? Głupie, ale ważne? Czy to musi być identyfikator URI?Ogólnie rzecz biorąc, każdy niepowtarzalny identyfikator służyłby jako przestrzeń nazw; ale ponieważ ma być globalnie wyjątkowy , standard musiałby albo upoważnić jakiś organ arbitrażowy, albo użyć innego zasobu, który jest jednocześnie globalnie unikalny, ale łatwy do zdobycia i udowodnienia, że jest twój.
O popatrz! jeśli masz domenę, to oczywiście tylko twoja i łatwo udowodnić, że jest twoja!
Chcieli na przykład uniknąć sytuacji, w której dwie różne księgarnie zaczynają używać „książek” jako przestrzeni nazw z całkowicie odmiennymi definicjami wewnętrznymi. Chociaż używają go wewnętrznie, nie ma problemu; ale gdy tylko jeden z nich chce opublikować swoją specyfikację, rozpęta się piekło.
Zamiast tego, jeśli zachęcamy Cię do korzystania z Twojej domeny, każdy (cóż, każdy, kto jest właścicielem domeny) może zdefiniować swoją prywatną przestrzeń nazw z pewnością, że nikt inny nie użyje dokładnie tego samego identyfikatora.
Jako bonus możesz opcjonalnie przechowywać definicję swojego obszaru nazw pod identyfikatorem URI, dzięki czemu jest to samo dokumentowanie.
To dla mnie świetny pomysł.
źródło
Co określa xmlIns?
Jako węzły atrybutów o nazwie „xmlns” lub „xmlns: xxx”, dokładnie tak, jak przestrzenie nazw są zapisane w źródłowym dokumencie XML. To jest model przedstawiony przez DOM.
Co zawiera URI?
Przestrzeń nazw XML deklarowana jest za pomocą zastrzeżonego pseudo atrybutu XML xmlns lub xmlns: prefix, którego wartość musi być prawidłową nazwą przestrzeni nazw.
Na przykład następująca deklaracja odwzorowuje przedrostek „xhtml:” na przestrzeń nazw XHTML:
Jak odkryłem po przeczytaniu artykułu na Wikipedii. Identyfikator URI zawiera sformatowane w XML specyfikacje przestrzeni nazw. Zapewnia metodę unikania konfliktów nazw elementów.
Być może wiesz, że dokument XML używa
XML Schema
struktury elementu / tabeli / klasy elementów dokumentu XML.co powinien utrzymywać http://www.w3schools.com/furniture ?
Odpowiedź znajduje się na twojej stronie, gdzie dowiedziałeś się o przestrzeni nazw XML. Sprawdź
Namespaces in Real Use
sekcję w tym artykule W3Schools .Sprawdź poniższy link stackoverflow, który pokazuje, co zawiera ten identyfikator URI:
Jak utworzyć i używać przestrzeni nazw XML?
źródło
URI = globalnie unikalna nazwa lub identyfikator przestrzeni nazw
Rozważ zbudowanie bazy danych lub dokumentu na temat zarządzania finansami logistyki przemysłu naftowego. Musiałoby to używać określonych słowników (tj. Terminów kontrolowanych) dla każdego z przedmiotów: bazy danych, dokumentu, zarządzania, finansów, logistyki, ropy i przemysłu.
Jeśli żaden z tych terminów nie pokrywa się z tymi siedmioma słownikami, potrzebny jest tylko jeden identyfikator URI. Ale dla każdego terminu, który nakłada się na inne terminy w tych słownikach, potrzebujesz dodatkowego słownictwa specjalistycznego określonego w URI lub IRI. Jednym ze sposobów obejścia tego jest stworzenie scalonej taksonomii, z szerszymi ogólnymi warunkami i węższymi warunkami specyficznymi dla przedmiotu.
Można to następnie rozwinąć w tezaurus, który pokazuje także synonimy żargonowe danego terminu i umożliwia określenie preferowanego terminu wśród tych synonimów żargonowych.
źródło