XML - datu apmaiņas standarts Internetā


Latvijas Universitāte
Fizikas un matemātikas fakultāte,
Datorzinātnes nodaļa






Referāts
XML - datu apmaiņas standarts Internetā








Izstrādāja:
__________
/E.Grosvalds/
DatZ - 96010
4.kurss, Dz-2





2001.gada 27.aprīlis



Saturs







1.     Lietotie termini, saīsinājumi


Saīsinājumi
DSO
DSO (Datu Avota Objekti) nodrošina atvērtu (Microsoft) arhitektūru, lai piegādātu datus Web lapai
XML
paplašinātā iezīmēšanas valoda (eXpanded Markup Language), nodrošina datu formātu, kurš ļauj apstrādāt datus, datu struktūras Internetā (www.w3.org/XML)
HTML
hipersaišu iezīmēšanas valoda (HyperText Markup Language) (www.w3.org/MarkUp)
DOM
XSL
Paplašināmā stilu lapu valoda, nosaka XML dokumentu klases attēlošanu, aprakstot to, kā klases instance tiek pārveidota XML dokumentā, kurš lieto stilu vārdnīcu (http://www.w3.org/TR/xsl)
CSS
kaskadētās stilu lapas, nodrošina mehānismu, kā izskatīsies Web dokumenti (fonti, krāsas, atstarpes, u.c.)
SOAP
vienkāršots objektu piekļūšanas protokols, domāts informācijas apmaiņai decentralizētā, sadalītā vidē (http://zvon.org/xxl/soapReference/W3C/soap.html)
URI
unificēti resursu identifikatori, nodrošina vienkāršu un paplašināmu nozīmi resursa identificējamībai (www.faqs.org/rfcs/rfc2396.html)

Termini
XML shēma
namespace
vārdu kolekciju, kuri tiek identificēti pēc URI references [RFC2396], kura tiek lietota XML dokumentos, kā elementu tipi un atribūtu vārdi (www.w3.org/TR/REC-xml-names)





2.     XML Ievads


Paplašināma iezīmēšanas valoda (XML), apraksta datu objektu klasi, kurus sauc par XML dokumentiem un daļēji apraksta datorprogrammu, kuras apstrādā XML dokumentus, rīcību. Pēc konstrukcijas XML dokumenti atbilst SGML (standartu vispārīgā iezīmēšanas valoda). XML dokumenti ir izveidoti no atmiņas vienībām, kuras sauc par entītēm, kas var saturēt parsētus un neparsētus datus. Parsēti dati sastāv no simboliem, daži no tiem veido simboliskus datus un daži veido iezīmi (markup). Iezīme kodē dokumenta atmiņas izklājuma un dokumenta loģiskās struktūras aprakstu.
XML nodrošina mehānismu, kā izmantot dokumenta atmiņas izklājumu un loģisko struktūru.
Programmas modulis, kuru sauc par XML procesoru, tiek lietots, lai lasītu XML dokumentus un nodrošinātu pieeju XML dokumenta saturam un struktūrai.
XML specifikācija (www.w3.org/TR/1998/REC-xml-19980210) apraksta, kā XML procesoram ir jālasa XML dati un kā XML procesoram ir jānodrošina informācija aplikācijai.

Dokumenti
Datu objekts ir XML dokuments, ja tas ir pareizi-noformēts, un ir definēts pēc specifikācijas. Katram XML dokumentam ir loģiskā un fiziskā struktūra. Fiziski, dokuments sastāv vienībām – entītēm. Dokuments sākas ar “saknes” elementu vai dokumenta entīti.
Dokuments sastāv no deklarācijām, elementiem, komentāriem, simboliskām norādēm un apstrādes instrukcijām, un tas viss tiek precīzi definēts (markup).

Viena no labākajām XML norāžu lapām ir http://www.startkabel.nl/k/xml


2.1.              Kāpēc XML?

Internets ļauj mums komunicēties ar ikvienu, vienalga kur. Vizuālais izskatu un lietotāja interfeisu nosaka HTML, GIF un JavaScript standarti. Šie standarti ļauj izveidot lappusi vienreiz un vairāki lietotāji to var apskatīt vairākās reizes.
Lai gan vizuālie un lietotāja interfeisu standarti ir nepieciešama lieta, ar to ir par maz, lai attēlotu un manipulētu ar datiem. Šodien nav standartu priekš inteliģentas datu meklēšanas, datu apmaiņas, adaptīvas prezentācijas un personalizācijas. Internetam jāiet tālāk pāri informācijas piekļūšanas nodrošināšanas un izskata standartiem. Internetā ir jāievieš informācijas atpazīšanas standarts, vienāds datu attēlošanas veids, lai varētu labāk veikt meklēšanu, pārvietošanu, attēlošanu un manipulēt ar informāciju. HTML nevar to nodrošināt, jo tas ir tikai formāts, kas aprakstā ka Web lapai ir jāizskatās, tas nereprezentē datu. Piemēram HTML nav:
  • nodrošina standartceļu, ja doktors sūta recepti farmaceitam,
  • atļauj medicīniskai laboratorijai publicēt statisku informāciju formātā, lai katrs saņēmējs to varētu analizēt,
  • aprakstīt elektronisku maksājumu formā, ka katrs saņēmējs var to atšifrēt un apstrādāt,
  • nodrošina standartceļu, meklējot bibliotēkās tiesu dokumentus par noteiktu tēmu.
Īsumā var teikt ka HTML nodrošina lielas datu attēlošanas iespējas, bet tas nenodrošina nekādus standartus, kā apstrādāt datus.
Datu reprezentācijas standarts palielinās Interneta iespējas, tāpat kā HTML izskata standarts to izdarīja kādu laiku atpakaļ. Datu standarts būs biznesa transakciju transportlīdzeklis, automatizēta sadarbība un datubāzu publicēšana. Medicīnas vēstures, medicīniskas receptes, maksājumu pasūtījumi tiks rakstīti šai formātā. Tas atvērs plašu pielietojumu klāstu, balstītu uz standarta reprezentāciju, pārvietojot strukturizētus datus caur Internetu tikpat viegli, kā HTML lapas var tikt pārvietotas mūsdienās.

2.2.              Kas ir XML elements?

XML ir metadatu atpazīšanas valoda, kura nodrošina strukturizētu datu formātu, tas dod iespēju labāk veikt meklēšanu uz dažādām platformām, papildus aplikācijām dod jaunu Internet bāzētu datu apskati un apstrādi.
XML elements sastāv no sākuma taga, beigu taga un datiem starp šiem tagiem.  Sākuma tags un beigu tags apraksta, kāda veida dati atrodas starp šiem tagiem. Piemēram sekojošs XML elements ir direktors ar vērtību: Jānis Ozoliņš
Jānis Ozoliņš

2.2.1.1.1.  Atribūti
Elements var saturēt vienu vai vairākus atribūtus, atribūts ir vārds-vērtība, kas atdalīts ar vienādības zīmi (=)
Latvija
Šai piemērā elements ir “PILSETA”, atribūts ir: KODS=”371”, atribūta vērtība ir: 317
Atribūtu vērtībām jābūt ieslēgtām apostrofos vai pēdiņās
Atribūti satur papildus informāciju par elementu (meta informāciju). Atribūti var saturēt noklusētās vērtības, elementi – nevar. Viens elements nevar saturēt divus vienādus atribūtu vārdus.

XML dokumentiem ir jābūt pareizi noformētiem, citādi tos interpretators neizpildīs.
Ir jāpieturas pie sekojošiem noteikumiem:
·         XML dokumentā var būt tikai viens root elements un tam ir jābūt unikālam.
·         Jābūt aizverošam tagam un atverošam tagam. Piem. Uldis.
·         Ja vēlaties izveidot tukšu elementu, tad ir divi varianti: vai īsāk
·         XML tagi ir reģistrjūtīgi, sekojoši tagi ir tiek uztverti kā dažādi tagi:
·         Elementi nedrīkst pārklāties, t.i. jebkuram elementam ir jābūt ieslēgtam starp sava vecāka elementu.

Pareizi:
Nepareizi:
 
 
 
 

2.2.2.  Kā izveidot elementam pakārtotus elementus


  Valdis Lapiņš
   Sīmanis Lapiņš
   Mitrofans Lapiņš

2.2.3.  XML datu izvade Alert logā (piemērs)


Uzdevums:
Uztaisīt html dokumentu, kurā tiek definēta kaut kāds klase, tās iekšienē definēti objekti,
un tiek izvadīts uz ekrāna patvaļīga objekta vērtība.

   
XML piemērs: Izvada uz ekrāna divu augļu nosaukumus – Apelsīni, Banāni

   
     
        Banāni
        Apelsīni
     
   
Uz ekrāna tiks izvadīts ziņojuma logs ar tekstu: Apelsīni, un nospiežot pogu ‘OK’, tiks izvadīts otrs ziņojuma logs ar tekstu: Banāni.

2.3.              Namespace lietošana

Kas ir namespace?
XML namespace ir iepriekš definētu vārdu kolekcija, no kuras XML dokumentā var lietot elementu vai atribūtu vārdus. XML namespace`s vārds Web`ā ir unikāls, lai izvairītos no vienādu vārdu lietošanas konflikta. Namespace definējums ir atrodams URI (Uniform Resource Number). URI tiek lietots tāpēc, ka tas definē unikālas Namespace vārdus Internetā. Namespace var definēt kā eksplicītu vai noklusētu.

Eksplicitā Namespace definēšana:
 
           xmlns:money="urn:Finance:Money">
    A Suitable Boy
    22.95
 

Noklusētā Namespace definēšana:
  A Suitable Boy
  22.95

Nākošā piemērā namespace prefiks edi tiek sasaistīts ar namespace vārdu (URI) http://ecommerce.org/schema:
 

2.4.              Ko nozīmē XML shēma?

XML shēma ir XML sintakse vai shēma, kas nosaka, pēc kura XML shēmas dokumenta XML klase tiks pārbaudīta, vai tā ir korekti aizpildīta.
XML shēma ir daudzas priekšrocības salīdzinot ar DTD (dokumenta tipu definējums),  DTD neatbalsta XML sintaksi, datu tipizēšanu, toties XML ļauj noteikt elementa tipu – integer, float, boolean, u.c.
Internet Explorer 5 ir iekļauts XML parsētājs.

 
   
      James Smith
      3.8
   
 

Sekojošā piemērā noklusētā namespace ir "x-schema:classSchema.xml".
XML parsetāja uzdevums ir pārbaudīt, vai klase ‘student’ ir pareizi uzrakstīta saskaņā ar XML shēmas "x-schema” dokumentu “classSchema.xml".

Zemāk ir dota pilna shēma. Shēma sākās ar elementu ‘Schema’, kas satur shēmas namespece deklarācijas.

xmlns="urn:schemas-microsoft-com:xml-data" – nosaka, ka šis XML dokuments ir XML shēma.
xmlns:dt="urn:schemas-microsoft-com:datatypes" – ļauj tev ievadīt elementu un atribūtu, lietojot prefiksu dt nedeklarējot ElementType un AttributeType.

  xmlns:dt="urn:schemas-microsoft-com:datatypes">
 
 
 
 
   
   
   
 
 
   
   

3.     XML piemēros

3.1.              Datu tipu lietošana XML dokumentos

Kas ir datu tips XML dokumentā?
Datu tips XML dokumentā ir tips, kas tiek piešķirts elementam. Datu tipi var tikt definēti kā elementi. XML parseris lietot datu tipa informāciju, lai pārbaudītu dokumentu.
Referāta sākumā XML elementu vērtības bija String tipa, ja izstrādātājs vēlējās apstrādāt XML dokumentu, tad viņam vajadzēja tērēt daudz laika, lai String tipa vērtības konvertētu uz nepieciešamo datu tipu.
Lietojot XML definētos datu tipus, var izmantot XML funkcijas, kas pārbauda lietotāja ievadīto datu korektumu.
Turklāt, ja ir XML elementam ir teksta vērtība, tad XML elementam ir arī tipizētā vērtība. Piemēram sekojošam XML elementam:
1970-09-30

ir vērtība “1970-0930” un tipizētā vērtība “Wed Sep 30 00:00:00 PDT 1970”

3.2.              Kā tiek piešķirtas XML elementiem vērtības?

Sekojošais XML dokuments ir uzrakstīts atbilstoši XML shēmai ‘weatherSchema.xml’:
  1970-09-30
  67.5

XML shēmas fails “weatherSchema.xml”:
 
 
 
   
   
 

Augstākminētajā shēmā elementiem tiek piešķirti datu tipi. Atribūts “xmlns” ir XML atslēgas vārds, lai definētu namespace. Deklarācija xmlns:dt="urn:schemas-microsoft-com:datatypes" piešķirt dt namespace "urn:schemas-microsoft-com:datatypes".
Shēma un datu tipa namespace`s tiek deklarētas XML shēmas sākumā, prefikss dt var tikt lietots, lai noteiktu, kādus datu tipus atribūts var saturēt.


3.3.              C++ XML DSO lietošana

DSO (Datu Avota Objekti) nodrošina atvērtu (Microsoft) arhitektūru, lai piegādātu datus Web lapai.
C++ DSO nodrošina XML dokumenta satura pārveidošanu uz HTML saturu (tas strādā tikai sākot no MS Internet Explorer 5.0 versijas)

3.3.1.  XML datu izvades piemērs

Uzdevums: Definēt darbinieku un izvadīt tā datus.
 
    Roberts
    23500
 
,
Rezultāts būs: Roberts,23500

3.3.2.  XML datu attēlošana tabulā piemērs


Uzdevums: ir dots XML dokuments ar universitāšu datiem, izvadīt šos datus tabulas veidā.

universities.xml
 
    UCSB
    Santa Barbara, CA
 
 
    University of Texas at Arlington
    Arlington, TX
 
 
    USM
    Hattiesburg, MS
  
 
    Baylor
    Waco, TX
 

universities.htm

 

 

   

   

 

NAMELOCATION


Izpildot failu universities.htm, tiek iegūts šāds rezultāts
NAME
LOCATION
UCSB
Santa Barbara, CA
University of Texas at Arlington
Arlington, TX
USM
Hattiesburg, MS
Baylor
Waco, TX

3.4.              C++ XML DSO iespēja lietot Master-Detail


Ir iespējams master-detail datus no XML dokumenta attēlot vienā tabulā.

3.4.1.  Divu saistītu tabulu datu izvades piemērs

Zemāk tiek dots piemērs, kā tēva ieraksts tiek savienots ar bērna ierakstu.
Ir dots klientu saraksts un kādas preces katrs klients ir pasūtījis.

Izpildot failu ‘pasutijumi.html’ tiek parādīts pirmais klienta pasūtījums:

Spiežot pogu “Next Order”, tiek parādīts nākošais klienta pasūtījums:



pasutijumi.html
 
   
      John Smith
      192883
   
         
      Fly Swatter   
      9.99   
     
 
   
      
      Marea Angela Castaneda     
      827145 
       
       
      Fly Paper   
      15.99   
     
   
 
ORDER NUMBER:




 

 

   

   

 

NAMEID



 

 

   

   

 

ITEMPRICE


3.5.              XML dokumenta salīdzinājums ar ER modeli

Zemāk dotajā piemērā tiek parādīts, kā divas nesaistītas ER modeļa tabulas var pierakstīt XML dokumentā

3.5.1.  Divas nesaistītas tabulas (piemērs)

ER modelis
XML dokuments
tabula: vecaki
xml dokumenta tabula: vecaki

id
vards
talrunis
1
Aigars
7363647
2
Spodra
7112345
 
 


tabula: berni
xml dokumenta tabula: berni

id
vards
10
Mihails
11
Laura
12
Sandris
 
 
 


3.5.2.  Divas saistītas tabulas (piemērs)


Zemāk dotajā piemērā tiek parādīts, kā divas saistītas ER modeļa tabulas var pierakstīt XML dokumentā
ER modelis

tabula: vecaki
xml dokumenta tabula: vecaki

id
vards
talrunis
1
Aigars
7363647
2
Spodra
7112345
 
       
       
 
 
       
 
tabula: berni

id
vards
vecaks_fk
10
Mihails
1
11
Laura
1
12
Sandris
2





3.6.              Piekļūšana XML, lietojot Dokumenta Objekta Modeli (DOM)

3.6.1.  Ievads par DOM

DOM nodrošina programmēšanas interfeisu, lai varētu apstrādāt XML dokumentus.
Dokumenta objekta modelis (DOM) ir (nāk no organizācijas W3C) XML dokumentu programmēšanas, skriptēšanas interfeisa standarta specifikācija. DOM specifikācija definē objektu kopu un interfeisus, kuri ļauj apskatīt un manipulēt ar XML dokumenta saturu. DOM ir balstīts uz XML dokumenta kokveida struktūru, un ļauj veikt sekojošus uzdevumus:
-          apskatīt XML koku,
-          iegūt informāciju par jebkādiem elementiem, atribūtiem, komentāriem, apstrādāt instrukcijas vai dokumenta tekstuālo saturu,
-          veidot jaunus elementus, atribūtus, komentārus, apstrādāt XML dokumenta instrukcijas vai tekstuālo saturu,
-          veidot pilnībā jaunu XML dokumentu

3.6.2.  XML dokumenta koks


Sekojošā piemēra tiek parādīts, kā XML dokuments tiek attēlots kokveida struktūrā
A book title
A CD title


Dotajā kokā ir šādi pieņemtie apzīmējumi:
-          XML elements ir iekļauts kvadrātiskajās iekavās:
-          XML elementa vai atribūta vērtība ir iekļauta dubultajās pēdiņās: “book”, “A book title”, “A CD title”
-          XML elementa atribūts nav iekļauts nekādos atdalītājsimbolos: Library, type, type

Lietojot DOM, var tikt piekļūt pie XML elementu vērtībām:

Rezultāts uz ekrāna
Javaskripta kods ar DOM metodi

XML dokumenta saknes elements
2 (ir divi bērni)







3.7.              Datu meklēšana XML datu salā, lietojot VisualBasic skriptu (piemērs)

Sekojošā piemērā tiek parādīts, kā ar VisualBasic skripta palīdzību, tiek nodrošināta datu meklēšana XML dokumentā:


Dotā ekrānforma izmanto divus failus:
BookSearch.htm
Books.xml
Piemērs, kā uzrakstīt skriptu, kurš demonstrē meklēšanu XML dokumentā



Book to find:    ID="txtInput"  WIDTH="20">


               
                                The Gourmet Microwave
                                72-80081-082
                                New Moon Books
                                9.95
                                Charlotte M. Cooper
                                Shelley B. Burke
                                Regina P. Murphy
               
               
                                Sushi, Anyone?
                                72-80081-024
                                New Moon Books
                                14.99
                                Charlotte M. Cooper
                                Yoshi Nagase
               


3.8.              Interbase datu bāzes datu attēlošana, lietojot PHP un XML tehnoloģiju (piemērs)


Sekojošā ekrānformā dati tiek saņemti no datu bāzes, izmantojot PHP skripta palīdzību, kurš ģenerē XML dokumentu, un XSL dokuments nodrošina saņemto datu attēlošanu un kārtošanu pēc izvēlētās kolonas


Zemāk tiek dots programmas kods, kurš realizē doto uzdevumu.
Dotajā piemērā tiek izmantots XSL dokuments, kurš dod iespēju izmantot datu kārtošanas funkciju.
show_interbase_data.php
show_sort_data.xsl
  $dbh = ibase_connect ("localhost:c:\\pvis_share\\uzdevumi\\test.gdb", "sysdba", "masterkey"); // pieslēgšanās interbase datubāzei
  $stmt= "SELECT * FROM LIETOTAJS";
  $stmt= "SELECT vards,uzvards FROM LIETOTAJS";
  $sth = ibase_query ($dbh, $stmt); // iegūstam visu lietotāju datus
?>
Interbase datu bāzes datu attēlošana,lietojot PHP un XML tehnoloģiju



Pasniedzēji  

while($ar = ibase_fetch_object($sth)){
 echo "\n\n".$ar->VARDS."\n".$ar->UZVARDS."\n";}?>



  




         

         



Vards
    class=head onclick="resort('uzvards')" width="30%">Uzvards

 
                               
                               
                               
               
               
               
 
               
               
               
                               
               
               
               
                               
               
               

Faila ‘show_interbase_data.php’ paskaidrojums:
Sākumā XML dokuments tiek aizpildīts ar datiem no datubāzes ( while cikls ).
Ja lietotājs noklikšķina uz tabulas kolonas nosaukuma tiek izsaukta funkcija resort(), kura izveido jaunu DOM objektu bez datiem, nosaka, pēc kuras kolonas dati būs jākārto, pārkopē XML datus uz šo jauno DOM objektu, un kopē jau sakārtotus datu no jaunā DOM objekta uz XML dokumentu.



4.     RĪKI ar kuriem veido XML dokumentus


4.1.              Notepad

Tā kā XML satur vienkārši tekstu, tad šo rīku var lietot.

4.2.              XML notepad

Rīks ‘XML notepad’ var ļoti vienkāršs XML dokumentu redaktors.
Ar tā palīdzību var izveidot XML dokumenta struktūru, aizpildīt datus.


Rezultātā tiks izveidots šāds XML dokuments.
Untitled.xml
   Janis
   Pecis

Šo rīku var nokopēt no adreses: http://msdn.microsoft.com/xml/NOTEPAD/intro.asp

4.3.              Visual InterDev

Ar šo rīku var taisīt Web aplikācijas, ļauj ērti rakstīt ASP kodu, HTML dokumentus, XML dokumentus, XSL failus un citus failus, kuri ir nepieciešami Web aplikācijai.

4.4.              XML Tree Viewer

Parāda XML dokumenta struktūru koka veidā.
Sīkāka informācija lapā:  http://msdn.microsoft.com/xml/demos/default.asp

4.5.              XML Validator

Pārbauda, vai XML dokuments ir pareizi noformēts.
Sīkāka informācija lapā:  http://msdn.microsoft.com/xml/demos/default.asp

4.6.              XSL Debugger

XML nenosaka to, kā tiks dati attēloti, tam kalpo XSL (Extensible Stylesheet language) dokumenti.
XSL dokumenti ir sarežģīti, tāpēc var lietot programmu ‘XSL Debugger’, lai ātrāk atklātu kļūdas XSL dokumentā.
Kreisā panelī ir XSL dokuments, kurš tiek atkļūdots


5.     Jautājumi un atbildes

5.1.              XML dokumentu pārskats

  1. Kādi ir XML pielietojumi Web aplikācijās?
Web serveris var sūtīt XML datus klientam nekā sūtot XML. Tas ļauj klientam veikt inteliģentu datu apstrādi, neizmantojot katrreiz serveri, kad datu attēlošanas ceļš tiek mainīts. Internet pārlūkprogramma var sūtīt XML datus Web serverim.
  1. Kādi ir  datu reprezentēšanas ieguvumi, ja lieto XML nevis HTML formātu?
XML dokumentiem ir saturiski tagi, kas nosaka datu patieso saturu. HTML dokumentu ir tikai pateikts kā dati tiks attēloti, bet neapraksta datu saturisko nozīmi.
  1. Definējiet trīs XML sintakses likumus, kuri nosaka, vai XML dokuments ir pareizi noformēts.
-          Dokumentam var būt tikai viens vienīgs saknes elements.
-          elementiem jābūt pareizi komplektētiem, elementi nedrīkst pārklāties savā starpā
-          katram elementam jābūt atverošam un aizverošam tagam (vai  elements var būt tukšs)
  1. Ko nozīmē XML gramatika?
XML gramatika ir elementu un atribūtu specifikācija, kuri ir atļauti XML dokumentos. Gramatika nosaka, kā šie elementi un atribūti ir izkārtoti atbilstoši viens otram.

5.2.              XML tehnoloģiju pārskats

1. Kādi ir divi stilu lapu tipi, kurus var pieslēgt XML dokumentam un kad katrs no šiem tipiem tiek lietots?
Ir divi stilu tipi:  kaskādes stilu lapas (CSS) un paplašinātā stilu valodas (XSL) stilu lapas.
Kaskādes stilu lapas definē vienkāršu formatizēšanu, kā fonti un krāsas.
XSL stilu lapas nodrošina lielākas iespējas, tādas kā kārtošana un datu filtrēšana, skriptu izpildīšana.
2. Ko nozīmē datu saistīšana (binding) un kā tā tiek lietota, lai nosūtītu XML Internet pārlūkprogrammai.
Datu saistīšana nozīmē, ka HTML elements tiek piesaistīts XML datu salas XML elementam vai atribūtam. Datu saistīšana var tik lietota, lai attēlotu HTML kontroļos XML datus.
3. Kas ir Dokumentu Objektu Modelis (DOM) un kādēļ, tas tiek izmantots ?
DOM ir programmēšanas interfeiss, kas ļauj rakstīt programmas vai skriptus, lai piekļūtu un apstrādātu XML datus. DOM ir iekļauti objekti, kuri attēlo XML dokumenta dažādu tipu mezglus. Katram objektam ir metodes un īpašības, kurās ļauj programmai apstrādāt mezglu.
4. Kāpēc ir svarīgi pārbaudīt (validate) XML dokumentus un kā notiek šī pārbaude.
Aplikācijas var apmainīties ar XML dokumentiem organizācijas iekšienē, kā arī ārpus organizācijas robežām. Kad tiek saņemts XML dokuments, tas ir jāpārbauda, vai tas atbilst sagadāmai struktūrai un gramatikai.
Pārbaude var tik veikta, lietojot Dokumentu Tipu Definīciju (DTD) vai XML shēmu.

5.3.              XML datu ģenerēšana no datubāzes

1. Kā var identificēt, ka ASP skripts tiek izpildīts servera galā?
Skripts jāiekļauj <% un %> atdalītājos. Alternatīva ir: 

Izteiksmes var tikt izvadītas uz ekrāna, lietojot sekojošu sintaksi:  <%=kaut_kāda_izteiksme %>
2. Kā var nosūtīt datus no HTML formas uz ASP.
Jādefinē HTML forma ar metodi Post un katram kontrolim jādod savs nosaukums (NAME). Katram kontrolim jābūt definētam formas taga iekšienē.
Formai jābūt “Submit” pogai. Kad poga tiek nospiesta, tad formas dati tiek nosūtīti uz formas tagā norādīto Asp lapu.
Lai piekļūtu HTML formas nosūtītiem datiem Asp lapai, jālieto ASP funkcija Request(“kontroļa_vārds”).
3. Kā var atvērt datu avotu (source) un izpildīt SQL pieprasījumu?
Ir jāizveido ADO konekcijas objekts, lietojot funkciju CreateObject un jāatvert datu avota konekcija.
Tālāk, jāizveido ADO Recordset objekts, lietojot funkciju CreateObject un lietojot Recordset metodi Open, lai izpildītu pieprasījumu. Cita alternatīva ir: netieši izveidot Recordset objektu, lietojot Connection metodi Execute.
4. Kādā veidā var pārvietoties pa ADO recordset?
ASP skriptā izsaucot metodes: MoverFirst, MoveLast, MovePrevious, MoveNext
5. Kā ASP nosūta datus pārlūkprogrammai?
ASP skriptā, lieto ciklu pa ADO recordset, lai nokļūtu uz noteiktu ierakstu. Katram ierakstam ir jāģenerē atbilstošs HTML un XML tags, lai pārlūkprogrammai redzētu šī ieraksta datus.

5.4.              XML dokumenta attēlošana lietojot XSL


1. Kā var pieslēgt XSL stilu lapu XML dokumentam?
2. Kādu sagataves likumu ir jāsatur katrai stilu lapai ?
Saknes elementa likumu.
3. Kāda ir sintakse, lai izveidotu sagataves likumu, kurš nodrošina, ka elementam atbilst elements?</span></p> <p style="margin-top:6.0pt;margin-right:8.0pt;margin-bottom:12.0pt;margin-left: 44.0pt"><b><span lang="EN-GB"><xsl:template match="book/title"></span></b></p> <p class="MsoNormal"><span lang="LV">4. Kā var rekursīvi XML dokumenta elementiem pievienot sagataves likumus?</span></p> <p style="margin-top:6.0pt;margin-right:8.0pt;margin-bottom:12.0pt;margin-left: 44.0pt"><b><span style="mso-ansi-language:LV" lang="LV">Izejas (output) sagatavē ievietot <xsl:apply-templates></span></b><span style="mso-ansi-language: LV" lang="LV"></span></p> <p class="MsoNormal"><span lang="LV">5. Kā var izvadīt elementa vērtību?</span></p> <p style="margin-top:6.0pt;margin-right:8.0pt;margin-bottom:12.0pt;margin-left: 44.0pt"><b><span style="mso-ansi-language:LV" lang="LV">Izejas sagatavē jālieto elements <xsl:value-of/></span></b><span style="mso-ansi-language: LV" lang="LV"></span></p> <p class="MsoNormal"><span lang="LV">6. Kā var mainīt XML dokumentā elementu apstrādes kārtību?</span></p> <p style="margin-top:6.0pt;margin-right:8.0pt;margin-bottom:12.0pt;margin-left: 44.0pt"><b><span style="mso-ansi-language:LV" lang="LV">Pievieno elementiem <xsl:apply-templates> vai <xls:for-each> atribūtu order-by.</span></b><span style="mso-ansi-language:LV" lang="LV"></span></p> <p class="MsoNormal"><span lang="LV"> </span></p> <h2><a name="_Toc513010869"><span lang="LV"><span style="mso-list:Ignore">5.5.<span style="font:7.0pt "Times New Roman"">              </span></span></span><span lang="LV">XML datu iekļaušana HTML`ā</span></a></h2> <ol style="margin-top:0cm" start="1" type="1"><li class="MsoNormal" style="mso-list:l49 level1 lfo47;tab-stops:list 36.0pt"><span lang="LV">Kas ir DSO?</span></li></ol> <p class="MsoNormal" style="margin-left:18.0pt"><span lang="LV">DSO (Datu Avota Objekti) nodrošina atvērtu (Microsoft) arhitektūru, lai piegādātu datus Web lapai.</span></p> <ol style="margin-top:0cm" start="2" type="1"><li class="MsoNormal" style="mso-list:l49 level1 lfo47;tab-stops:list 36.0pt"><span lang="LV">Nosauciet divas Internet Explorer 5.0 metodes, lai izveidotu XML datu salas.</span></li></ol> <p class="MsoNormal" style="margin-left:18.0pt"><span lang="LV">Viena metode ir, ka visu XML dokumentu iekļauj starp tagu <XML> un </XML>. Otra metode ir iestādot taga <XML> atribūtu SRC uz ārēju XML dokumentu.</span></p> <p class="MsoNormal" style="margin-left:18.0pt"><span lang="LV">3. Kādi mērķi ir HTML atribūtiem DATASRC un DATAFLD.</span></p> <p class="MsoNormal" style="margin-left:18.0pt"><span lang="LV">DATASRC atribūts referencējas uz XML dokumenta ID. DATAFLD atribūta vērtība referencējas uz DSO ierakstu kopas (recordset) lauka vārdu.</span></p> <p class="MsoNormal" style="margin-left:18.0pt"><span lang="LV">4. Kāpēc tagi <XML> un </XML> nav reģistrjūtīgi?</span></p> <p class="MsoNormal" style="margin-left:18.0pt"><span lang="LV">Tāpēc, ka tie ir HTML tagi.</span></p> <p class="MsoNormal" style="margin-left:18.0pt"><span lang="LV"> </span></p> <h2><a name="_Toc513010870"><span lang="LV"><span style="mso-list:Ignore">5.6.<span style="font:7.0pt "Times New Roman"">              </span></span></span><span lang="LV">XML datu apstrāde klienta galā, lietojot DOM</span></a></h2> <p class="MsoNormal" style="margin-left:18.0pt"><span lang="LV">1. Kādā veidā DOM koks var referencēties uz XML datu salu ar nosaukumu dsoOrder?</span></p> <p style="margin-top:6.0pt;margin-right:8.0pt;margin-bottom:12.0pt;margin-left: 44.0pt"><b><span style="mso-ansi-language:LV" lang="LV">Set doc = dsoOrder.XMLDocument</span></b><span style="mso-ansi-language:LV" lang="LV"></span></p> <p class="MsoNormal" style="margin-left:18.0pt"><span lang="LV">2. Kā var piekļūt saknes elementam?</span></p> <p class="MsoNormal" style="margin-left:18.0pt"><span lang="LV">Jālieto datu salas īpašība documentElement: </span></p> <p class="MsoNormal" style="margin-left:18.0pt"><b><span lang="LV">Set rootNode = dsoOrder.XMLDocument.documentElement</span></b></p> <p class="MsoNormal" style="margin-left:18.0pt"><span lang="LV">3. Kā var piekļūt XML elementam?</span></p> <p class="MsoBodyTextIndent2"><span lang="LV">Jālieto sekojošas metodes: firstChild, lastChild, nextSibling, previousSibling, childNodes(x), getElementsByTagName, selectNodes, selectSingleNode.</span></p> <p class="MsoNormal" style="margin-left:18.0pt"><span lang="LV">4. Kā var piekļūt elementa datiem?</span></p> <p class="MsoNormal" style="margin-left:18.0pt"><span lang="LV">Jātiek pie elementa mezgla Text un tad jānolasa īpašība nodeValue.</span></p> <p class="MsoNormal" style="margin-left:18.0pt"><span lang="LV">5. Kā elementi var tikt pievienoti vai izmesti no DOM koka?</span></p> <p class="MsoNormal" style="margin-left:18.0pt"><span lang="LV">Lai izveidotu elementu un tā tekstuālu mezglu, jālieto Document objekta metodes createTextNode un createElement. Tad jālieto metodes insertBefore vai appendChild, lai DOM kokam pievienotu elementu (un tā mezglu Text).</span></p> <p class="MsoNormal" style="margin-left:18.0pt"><span lang="LV">Lai izmestu vai aizvietotu elementu, tad Dokumenta objektam jāpielieto metode removeChild vai replaceChild.</span></p> <p class="MsoNormal" style="margin-left:18.0pt"><span lang="LV">6. Kādas ir priekšrocības lietojot biežāk DOM nekā XSL, lai attēlotu XML?</span></p> <p class="MsoNormal" style="margin-left:18.0pt"><span lang="LV">DOM ļauj veikt datu aprēķinus, saņemt datus no dažādiem avotiem un beigu beigās transformētos datus attēlot tā, kā tas ir nepieciešams.</span></p> <p class="MsoNormal" style="margin-left:18.0pt"><span lang="LV"> </span></p> <h2><a name="_Toc513010871"><span lang="LV"><span style="mso-list:Ignore">5.7.<span style="font:7.0pt "Times New Roman"">              </span></span></span><span lang="LV">XML datu nosūtīšana no Klienta uz Serveri</span></a></h2> <p class="MsoNormal" style="margin-left:18.0pt"><span lang="LV">1. Aprakstiet, kā izveidot XML datu paku, lai to nosūtītu uz serveri.</span></p> <p class="MsoNormal" style="margin-left:18.0pt"><span lang="LV">Jāizveido jauns DOM mezgls vai jālieto eksistējošs tukšs DOM mezgls, un tam jāpievieno visas mezglu kopijas, kuras ir nepieciešams nosūtīt uz serveri.</span></p> <p class="MsoNormal" style="margin-left:18.0pt"><span lang="LV">2. Kā jālieto XMLHTTP objekts, lai aizsūtītu datus atpakaļ uz serveri?</span></p> <p class="MsoNormal" style="margin-left:18.0pt"><span lang="LV">Jāizveido XMLHTPP objekts, tas ir jāinicializē<span style="mso-spacerun:yes">  </span>ar open metodi, nododot kā argumentus “nodošanas” metodi, aplikācijas URL, kas saņems to, ielādēšanas režīmā, un lietotāja vārds un parole priekš autorizācijas, lietojot XMLHTTP sūtīšanas (send) metodi, lai aizsūtītu XML dokumentu uz serveri.<span style="color:black"></span></span></p> <p class="MsoNormal" style="margin-left:18.0pt"><span lang="LV">3. Kā serveris piekļūst no klienta atsūtītiem XML datiem?<span style="mso-spacerun:yes">  </span></span></p> <p class="MsoNormal" style="margin-left:18.0pt"><span lang="LV">Serveris izveido XMLDOM objektu un lieto load metodi, lai ielādētu XML datus no ASPRequest objekta. </span></p> <p class="MsoNormal" style="margin-left:18.0pt"><span lang="LV">4. Kā serveris modificē gala lietotāja (back-end) datubāzi ar klienta XML datiem?</span></p> <p class="MsoNormal" style="margin-left:18.0pt"><span lang="LV">Tas atjauno datus no jaunākā ielādētā DOM mezgla, pietiekošā daudzumā, lai atļautu izveidot un inicializēt ADO Connection objektu un SQL rindas, lai atlasītu un apstrādātu datubāzi.</span></p> <p class="MsoNormal" style="margin-left:18.0pt"><span lang="LV">5. Vai var serveris nodot atbildi klientam?</span></p> <p class="MsoNormal" style="margin-left:18.0pt"><span lang="LV">Response objekts var tikt lietots, lai sūtītu HTTP atbildes ziņojumu atpakaļ klientam. Serveris var sūtīt atpakaļ teksta rindu , HTML lapu, XML dokumentu vai jebkādu to kombināciju.</span></p> <p class="MsoNormal" style="margin-left:18.0pt"><span lang="LV"> </span></p> <h2><a name="_Toc513010872"><span lang="LV"><span style="mso-list:Ignore">5.8.<span style="font:7.0pt "Times New Roman"">              </span></span></span><span lang="LV">XML datu validācija, lietojot Datu Shēmas</span></a></h2> <ol style="margin-top:0cm" start="1" type="1"><li class="MsoNormal" style="mso-list:l48 level1 lfo48;tab-stops:list 36.0pt"><span lang="LV">Vai ir kādas priekšrocības lietojot XML shēmas vietā DTD, lai definētu XML dokumenta struktūru?</span></li></ol> <p class="MsoNormal" style="margin-left:18.0pt"><span lang="LV">XML shēmas atļauj definēt atvērta satura modeli, tādejādi XML dokuments var satur papildus<span style="mso-spacerun:yes">  </span>elementus un papildus atribūtus tiem, kad ir jau definēti XML shēmā un nodrošina papildus informācija, lai paplašinātu elementa vai atribūta tipa definīciju.</span></p> <p class="MsoNormal" style="margin-left:18.0pt"><span lang="LV">2. Kā var izveidot XML shēmas dokumentu?</span></p> <p class="MsoNormal" style="margin-left:18.0pt"><span lang="LV">Definē elementu <Schema> sekojoši:</span></p> <p style="margin-top:0cm;margin-right:7.95pt;margin-bottom:0cm;margin-left: 43.95pt;margin-bottom:.0001pt"><b><span style="mso-ansi-language:LV" lang="LV"><?xml version="1.0"?></span></b><span style="mso-ansi-language: LV" lang="LV"></span></p> <p style="margin-top:0cm;margin-right:7.95pt;margin-bottom:0cm;margin-left: 43.95pt;margin-bottom:.0001pt"><b><span style="mso-ansi-language:LV" lang="LV"><Schema name="mySchema"</span></b><span style="mso-ansi-language: LV" lang="LV"></span></p> <p style="margin-top:0cm;margin-right:7.95pt;margin-bottom:0cm;margin-left: 43.95pt;margin-bottom:.0001pt"><b><span style="mso-ansi-language:LV" lang="LV">xmlns="urn:schemas-microsoft-com:xml-data"</span></b><span style="mso-ansi-language:LV" lang="LV"></span></p> <p style="margin-top:0cm;margin-right:7.95pt;margin-bottom:0cm;margin-left: 43.95pt;margin-bottom:.0001pt"><b><span style="mso-ansi-language:LV" lang="LV">xmlns:dt="urn:schemas-microsoft-com:datatypes"></span></b><span style="mso-ansi-language:LV" lang="LV"></span></p> <p style="margin-top:0cm;margin-right:7.95pt;margin-bottom:0cm;margin-left: 43.95pt;margin-bottom:.0001pt"><b><span style="mso-ansi-language:LV" lang="LV"></Schema></span></b></p> <p class="MsoNormal" style="margin-left:18.0pt"><span lang="LV">3. Kā var pieslēgt statiskam XML dokumentam XML shēmu?</span></p> <p class="MsoNormal" style="margin-left:18.0pt"><span lang="LV">Ir jādefinē xmlns atribūts, parasti XML saknes elements, sekojoši:</span></p> <p style="margin-top:6.0pt;margin-right:8.0pt;margin-bottom:12.0pt;margin-left: 44.0pt"><b><span style="mso-ansi-language:LV" lang="LV"><myElement xmlns="x-schema:http://mysite.com/myschema.xml"></span></b><span style="mso-ansi-language:LV" lang="LV"></span></p> <p class="MsoNormal" style="margin-left:18.0pt"><span lang="LV">4. Kā ir jādefinē un jālieto elementu un atribūtu tipi?</span></p> <p class="MsoNormal" style="margin-left:18.0pt"><span lang="LV">Jādefinē elementa tipu ar <ElementType>. Jādefinē instance, kur elementa tips tiek lietots ar <element>.</span></p> <p class="MsoNormal" style="margin-left:18.0pt"><span lang="LV">Jādefinē atribūts ar tipu <AttributeType>. Jādefinē instance, kur atribūta tips ir lietots ar <attribute>.</span></p> <p class="MsoNormal" style="margin-left:18.0pt"><span lang="LV">5. Kā var dinamiski pieslēgt servera XML dokumentam XML shēmu?</span></p> <p class="MsoNormal" style="margin-left:18.0pt"><span lang="LV">Jāiestāda dokumenta saknes elementam xmlns atribūts un tad jāielādē dokuments iekš DOM ar ieslēgtu validāciju. Jālieto Document objekta parseError īpašība, lai notestētu, vai ir validācijas kļūdas.</span></p> <p class="MsoNormal" style="margin-left:18.0pt"><span lang="LV"> </span></p> <h1><a name="_Toc513010873"><span lang="LV"><span style="mso-list:Ignore">6.<span style="font:7.0pt "Times New Roman"">     </span></span></span><span lang="LV">Izmantotā literatūra</span></a></h1> <p class="MsoNormal" style="margin-left:18.0pt"><span lang="LV"> </span></p> <ol style="margin-top:0cm" start="1" type="1"><li class="MsoNormal" style="mso-list:l15 level1 lfo33;tab-stops:list 36.0pt"><span lang="LV">MSDN training student workbook – “Building Web Applications”, Microsoft Developer Network.</span></li><li class="MsoNormal" style="mso-list:l15 level1 lfo33;tab-stops:list 36.0pt"><span lang="LV"><a href="http://msdn.microsoft.com/xml/tutorial">http://msdn.microsoft.com/xml/tutorial</a> - XML apmācības programma iesācējiem.</span></li><li class="MsoNormal" style="mso-list:l15 level1 lfo33;tab-stops:list 36.0pt"><span lang="LV"><a href="http://www.w3.org/">www.w3.org</a> - Web specifikāciju, vadlīniju, rīku, programmatūras portāls.</span></li><li class="MsoNormal" style="mso-list:l15 level1 lfo33;tab-stops:list 36.0pt"><span lang="LV"><a href="http://whatis.techtarget.com/">http://whatis.techtarget.com</a> - IT terminu definīciju portāls.</span></li><li class="MsoNormal" style="mso-list:l15 level1 lfo33;tab-stops:list 36.0pt"><span lang="LV"><a href="http://www.zvon.org/search.php">http://www.zvon.org/</a> - jaunāko IT terminu, tehnoloģiju, piemēru portāls.</span></li></ol> <p class="MsoNormal"><span lang="LV"> </span></p> </DIV>

Nav komentāru:

Ierakstīt komentāru