V�vojov� prost�ed� VisualStudio ve sv�ch posledn�ch verz�ch pat�ilo ke �pi�ce mezi obdobn�mi n�stroji. Nov� VisualStudio.NET ur�en� pro v�voj aplikac� na platform� .NET tuto pozici jen d�le upev�uje. Jazyk XML se v�mnoha aplikac�ch st�le �ast�ji pou��v� jako form�t pro ukl�d�n� a v�m�nu dat a konec konc� i�v�samotn�m .NETu najdeme XML na mnoha m�stech. VisualStudio.NET (VS.NET) proto celkem logicky nab�z� podporu pro pr�ci s�XML dokumenty. V�tomto kr�tk�m �l�nku se pod�v�me, jak n�m VS.NET usnadn� p��pravu a zpracov�n� XML dokument�.
P�i editov�n� spr�vn� strukturovan�ch (well-formed) XML dokument� (tj. dokument�, ke kter�m nem�me DTD nebo XML sch�ma) toho VS.NET p��li� nenab�z�. V�XML dokumentu je zv�razn�n� syntaxe, tak�e snadno rozli��me, co je element, atribut a text. Po vlo�en� po��te�n�ho tagu za n�s prost�ed� automaticky dopln� koncov� tag.
Obr�zek 11. XML dokument lze editovat ve zdrojov� podob�...
![]() |
U�ka�d�ho XML dokumentu se m��eme p�epnout do datov�ho pohledu, kde m�sto zdrojov�ho k�du XML vid�me dokument zobrazen� jako n�kolik tabulek. Je to mo�n� d�ky tomu, �e .NET pro p�enos rela�n�ch z�znam� pou��v� XML a tak je definovan� mapov�n� mezi XML a rela�n�m sch�matem. Mapov�n� XML na datov� pohled je v�ak prakticky pou�iteln� pouze v�p��padech, kdy pro XML dokument m�me XML sch�ma. V�opa�n�m p��pad� je namapov�n� minim�ln� nezvykl� a n�kter� ��sti XML dokumentu jsou v�tomto pohledu nep��stupn�.
Obr�zek 12. ...nebo na n�j pohl�et jako na n�kolik rela�n�ch tabulek
![]() |
XML sch�mata jsou j�drem podpory XML ve VS.NET. P�ipome�me si jen, �e XML sch�ma definuje jak� elementy a atributy lze v�XML dokumentu pou��t podobn� jako datab�zov� sch�ma definuje tabulky, jejich atributy a datov� typy v�rela�n�ch datab�z�ch. XML sch�mata jsou standardem W3C a jsou n�sledn�kem DTD. Oproti DTD nab�zej� takov� mo�nosti jako definov�n� datov�ch typ�, integritn� omezen� a referen�n� integritu � to v�e v�r�mci XML dokumentu.
Ke ka�d�mu XML dokumentu m��eme p�i�adit sch�ma, kter�mu m� vyhovovat. Editor n�m pak po naps�n� znaku `<' automaticky nab�dne seznam element� p��pustn�ch podle sch�matu. Podobn� se kontextov� nab�zej� i�atributy a jejich hodnoty. S�touto pomoc� jde vytv��en� XML dokument� od ruky mnohem rychleji.
Obr�zek 13. Existuje-li k�dokumentu XML sch�ma, editor n�m s�vytv��en�m XML dokumentu pom��e
![]() |
Kontextov� nab�zen� element� p�i editaci v�ak nen� zdaleka dokonal�, sp�e jde jen na p�l cesty. Nab�z� n�m v�dy v�echny elementy, kter� mohou b�t vlo�eny do dan�ho elementu. Editor v�ak nepozn�, �e u� jsme ur�it� element vlo�ili, a�te� jej ji� nem��eme vlo�it znovu. Z�rove� VS.NET ignoruje to, �e v�XML sch�matu je definov�no po�ad� element�. K�u�itku v�m proto ur�it� p�ijde funkce XML->Validate XML Data, kter� provede validaci dokumentu oproti sch�matu. Pokud jsou v�dokumentu chyby, m��ete se po nich pohodln� pohybovat stejn�m zp�sobem jako po chyb�ch vznikl�ch p�i kompilaci programu.
Tak� mi chyb�la mo�nost zabalen�/rozbalen� obsahu ur�it�ho elementu. Absence t�to funkce je pro mne nepochopiteln�, proto�e nap�. pro editov�n� C# k�du je k�dispozici.
Asi neju�ite�n�j�� ��st� VS.NET z�pohledu XML je editor XML sch�mat. XML sch�mata jsou pom�rn� komplikovan� standard a ps�t je p��mo v�ruce nen� zrovna z�bavn� a snadn�. V�t�ina v�voj��� proto uv�t� mo�nost editovat sch�ma pomoc� grafick�ho rozhran�, kter� je podobn� r�zn�m CASE n�stroj�m. M��eme v�n�m vytv��et nov� elementy, atributy a datov� typy, nastavovat vztahy mezi elementy, ur�ovat integritn� omezen�, definovat kl��e apod. Microsoft tak alespo� trochu od�inil to, �e i p�es odpor zna�n� ��sti XML v�voj��sk� komunity prosadil tak zbyte�n� slo�it� a rozbujel� standard jako XML sch�mata.
Obr�zek 14. Bez grafick�ho editoru by XML sch�mata byla no�n� m�rou nejednoho v�voj��e
![]() |
Editor XML sch�mat um� i�p��mo importovat struktury z�rela�n�ch zdroj� dat (z�datab�zov�ch tabulek), tak�e p�eveden� struktury datab�ze do XML sch�matu je ot�zkou p�r kliknut�. Tro�ku �koda je, �e podobn�m zp�sobem jako XML sch�mata nejsou podporov�na i DTD � pro mnoho aplikac� sta�� a jsou mnohem jednodu���.
Kdybychom srovnali schopnosti VS.NET pro editov�n� XML dokument� se specializovan�mi v�voj��sk�mi XML editory jako je nap�. XML Spy, nedopadlo by VS.NET nijak zvl dob�e. N�kter� funkce jsou mnohem l�pe implementov�ny i�ve free produktech jako je GNU Emacs+PSGML. Pokud v�ak jen ob�as pot�ebujete upravit n�jak� XML dokument nebo XML sch�ma, nen� nutn� si kv�li tomu po�izovat speci�ln� program. Nav�c se d� o�ek�vat, �e t�et� v�robci brzy nab�dnou plug-iny do VS.NET, kter� jeho mo�nosti je�t� roz����. Nap�. u� dnes si m��ete od firmy ActiveState koupit XSLT editor, kter� se po instalaci tv��� jako ned�ln� ��st VS.NET. Krom� dopl�ov�n� k�du nab�z� i�zabalov�n�/rozbalov�n� element� a lad�n� XSLT styl�.