Zine.net online

Witaj na Zine.net online Zaloguj się | Rejestracja | Pomoc
w Szukaj

dev2dev

Malina #1 (intellisense z namespace w XML)

Intellisense jest świetnym narzędziem. O ile działa. Ostatnio zmarnowałem jednak trochę czasu na dwóch przypadkach związanych z walidacją dokumentu XML.
W projekcie web service, w web.config ustawiłem sobie konfiguracyjną wartość.
<appSettings>
    <add key="schemy" value="http://192.168.1.1/~marekpow/jakasschema.xsd" />
</appSettings>
Ale w trakcie projektu dokonuje zmian w dokumencie jakasschema.xsd i oczywiście skrupulatnie wrzucam go programem ftp-ującym we właściwe miejsce co potwierdza otwarcie tego dokumentu przez przeglądarkę. Ale po naciśnięciu klawisza Ctrl i najechaniu myszką na value w powyższym appSettings nadal nie widzę wprowadzonych zmian. VS po prostu ma ten dokument w cache i nie odświeża go wcale. Natomiast sugerowanie użytkownikowi "CTRL + click to follow link" może wprowadzać w błąd, że odwiedzamy faktycznie dokument znajdujący sie pod wskazanym adresem. Ale gdyby tylko o odświeżanie zawartości w podglądzie dokumentu chodziło to jeszcze nie byłby problem. Problem w tym, że web service z wnętrza VS korzysta również z tego cache'owanego dokumentu. I można się tylko dziwić, że testowany dokument XML nadal się nie waliduje pomimo wprowadzonych do dokumentu XSD zmian, które powinny walidację zakończyć sukcesem. Pomaga stara, żelazna zasada każdego programisty - "wyjść i wejść jeszcze raz".
Drugi przypadek to elementy w definicji XSD, które mają ustawiony atrybut
minOccur = "0"
W przypadku dużych dokumentów, składających się z zagnieżdżonych typów złożonych elementy z tym atrybutem nie pojawiają się albo nie pojawiają się czasami, z niewiadomej przyczyny. Jeżeli sekwencja wynikająca z dokumentu XSD zakłada wystąpienie takiego elementu to intellisense VS nie podpowiada, że taki element może w tym momencie wystąpić. A sugeruje wyłącznie komentarz lub annotation. Ale powinien również podpowiadać możliwość wyboru elementu, które może ale nie powinien wystąpić. Próbowałem przygotować prosty dokument XSD, który pozwoliłby ten fakt pokazać w sposób powtarzalny a tu jak na złość wszystko zadziałało prawidłowo.
Ale jeżeli trzeba czasami "z palca" wygenerować zestaw dokumentów XML do testowania aplikacji to nie pozostaje nic innego niż zerkanie co chwila do dokumentu XSD czy aby czasami czegoś nie przeoczyliśmy. Własne "intelli" i własne "sense".
Opublikowane 7 października 2008 20:38 przez marekpow
Filed under: , , ,

Komentarze:

 

mgrzeg said:

Marku, witamy na zinie! :)

października 9, 2008 23:58
 

brejk said:

Tak, tak, witamy :-) Fajnie, że się zdecydowałeś. Możesz liczyć na mnie jako wiernego czytelnika Twojego bloga :-)

października 10, 2008 09:30
Komentarze anonimowe wyłączone
W oparciu o Community Server (Personal Edition), Telligent Systems