Има ли намерение авторският разработчик да постави XSD пространството от имена на този http://my.example.com сървър и просто не успяхте да го внедрите?
Това е възможно, но не е сигурно; без четене на мислите на разработчика не е възможен твърд отговор. Един рационален разработчик може да го направи и по двата начина -- дори ако много хора, включително мен, биха казали, че е по-добра практика и по-рационално да се постави документация за пространството на имената (възможно под формата на документ на схема, вероятно под формата на RDDL документ, вероятно в друг форма) в URI на пространството от имена.
Или това е някакъв вид защитна функция, при която URL адресът е достъпен само от уеб услугата чрез конфигурационен XML, което ефективно дефинира този URL адрес като виртуален, когато действително осъществява достъп до локален хост или подобен?
Не е невъзможно, но това не е дизайнерска техника, която изглежда широко документирана. (Поне има поне един маниак на XML, който никога не е чувал да се предлага.) Така че предполагам, че отговорът е: вероятно не е намерението на първоначалния автор.
Можете ли да ме насочите към достоверен източник, където мога да прочета за това?
Доверителният източник за пространства от имена на XML са документите „Пространства от имена в XML 1.0 (трето издание)“ и „Пространства от имена в XML 1.1 (второ издание)“, редактирани от Тим Брей и др. и публикувани от World Wide Web Consortium съответно през 2009 г. и 2006 г.
Трудно е да се докаже отрицателно накратко, но изследването на спецификацията трябва да изясни, че не налага изискване URI, използвани като имена на пространство от имена, да могат да се преименуват. В раздел 2.1 се казва „Пространство от имена на XML се идентифицира чрез препратка към URI [RFC3986]“, но нищо в спецификацията не изисква имената на пространствата от имена да бъдат дереферирани. Раздел 2.3 дефинира процеса на съпоставяне на пространство от имена като тест за идентичност на низове и посочва, че това означава, че еквивалентни форми на един и същ URI (напр. http://www.example.org/wine
и http://www.Example.org/wine
) не се считат за равни за целите на съвпадението на пространство от имена. Това изобщо няма да има смисъл, ако от процесорите на пространството от имена се изисква да дереферират имена на пространство от имена.
W3C Technical Architecture Group (TAG) обсъжда този комплекс от въпроси от гледна точка на по-високо ниво в своя документ Архитектура на световната мрежа, първи том. Вижте по-специално
- раздел 3.5 (който формулира принципа, че „Препратката не предполага дереференция“: „Разработчик на приложение или автор на спецификация НЕ ТРЯБВА да изисква мрежово извличане на представяния всеки път, когато се препраща.“
- раздел 4.5.3 за XML пространства от имена
- раздел 4.5.4 за документи за пространство от имена (което TAG препоръчва)
Вижте също този свързан въпрос (и моя отговор на то).
ако URL адрес на пространство от имена сочи към ресурс, означава ли това непременно, че WSDL схемата трябва да се консултира с него по време на изпълнение?
Не. WSDL може да наложи допълнителни правила за използването на имена на пространства от имена в WSDL документи, но фрагментът от документа, който цитирате, е от документ на XSD схема. XSD спецификацията не изисква имената на пространството от имена да бъдат дереферирани (въпреки че го предлага като една възможна стратегия за локализиране на документи на XSD схема за използване в епизод на валидиране).
Ако отговорът е не, може ли да се консултира с него по време на изпълнение? или е само за четене от хора?
Не е забранено на процесорите да дереферират името на пространството от имена, но някои власти не го препоръчват. Когато широко разпространеният софтуер дереферира имена на пространства от имена всеки път, когато се изпълнява или всеки път, когато чете XML документ, резултатът може да бъде прекомерен и ненужен мрежов трафик. W3C страда от такъв ненужен трафик от няколко години и сега обслужва всички схеми с изкуствено бавни скорости, за да убеди потребителите да се оплачат на своите доставчици на софтуер. (Вижте публикацията в блог на Ted Guild от 2008 г. за подробности. )
person
C. M. Sperberg-McQueen
schedule
23.07.2013