Różnice

Różnice między wybraną wersją a wersją aktualną.

Odnośnik do tego porównania

Both sides previous revision Poprzednia wersja
Nowa wersja
Poprzednia wersja
pl:miw:miw08_prolog_xml:przyklad [2008/05/25 23:43]
miw
pl:miw:miw08_prolog_xml:przyklad [2008/06/02 19:58]
miw
Linia 1: Linia 1:
-===== Przykład ===== 
  
- 
-==== Tworzenie korzenia ==== 
-Korzen dokumentu xml tworzymy wykorzystując predykat: 
-<code prolog> 
-create_root(hml). 
-</​code>​ 
-Po jego użyciu pojawi się nam główny element struktury prologowej stanowiący korzeń dokumentu xml. 
-<code prolog> 
-3 ?- listing(element). 
- 
-:- dynamic element/3. 
- 
-element(hml,​ [id=hml_0], []). 
-</​code>​ 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
-==== Dodawanie dzieci ==== 
-Dzieci do istniejących rodziców dodaje się za pomocą predykatu: ​ 
-<code prolog> 
-app_child(Parent,​P_id,​Child). 
-</​code>​ 
-W predykacie tym jako argumenty podajemy kolejno: 
-  * Nazwę rodzica 
-  * Id rodzica - jeśli istnieje wiele elementów o tej samej nazwie, podajemy id rodzica, jeśli nie jest ważne do którego rodzica chcemy dodać dziecko wpisujemy "​_"​ 
-  * Nazwa dziecka 
-Id dziecka zostanie nadane automatycznie. 
-A więc dodanie dziecka o nazwie **//​type_set//​** do rodzica **//hml//** (korzeń) 
-<code prolog> 
-4 ?- app_child(hml,​_,​type_set). 
-</​code>​ 
-Powstaje następująca struktura, korzeń **//hml//** ma na liście dziecko **//​type_set//​** o automatycznie nadanym id. 
-<code prolog> 
-element(hml,​ [id=hml_0], [element(type_set,​ [id=typ_s_0],​ [])]). 
-</​code>​ 
- 
-W podobny sposób dodajemy dzieci: 
-  * attribute_set <code prolog> ?- app_child(hml,​_,​attribute_set). </​code>​ 
-  * property_set <code prolog> ​ ?- app_child(hml,​_,​property_set). </​code>​ 
-  * tph <code prolog> ?- app_child(hml,​_,​tph). </​code>​ 
-  * ard <code prolog> ?- app_child(hml,​_,​ard). </​code>​ 
- 
-W celu dodania za jednym razem większej ilości dzieci używamy predykatu pochodnego: 
-<code prolog> 
-app_child(Parent,​P_id,​Child,​How_much). 
-</​code>​ 
- 
-Jest to przydatne np, podczas dodawania dzieci **//att//** do rodzica **//​attribute_set//​**. 
-Po użyciu predykatu: 
-<code prolog> 
-app_child(attribute_set,​_,​att,​12). 
-</​code>​ 
-zostanie dodanych dwanaście dzieci do rodzica **//​attribute_set//​**. 
- 
-Podobnie dodajemy: 
-  * dzieci **//​property//​** do rodzica **//​property_set//​** <code prolog> ?- app_child(property_set,​_,​property,​18)</​code> ​ 
-  * dzieci **//​trans//​** do rodzica **//tph//** <code prolog> ?- app_child(tph,​_,​trans,​17).</​code> ​ 
-  * dzieci **//dep//** do rodzica **//ard//** <code prolog> ?- ?- app_child(ard,​_,​dep,​6).</​code> ​ 
- 
-Następnie pozostaje tylko dodanie odpowiednich dzieci **//​attref//​** do odpowiednich rodziców **//​property//​**. 
-Tu ponownie wykorzystujemy wyżej wymieniany predykat, ale już z podaniem ID rodzica. Przykładowo,​ po wpisaniu: 
-<code prolog> ?- app_child(property,​id=prp_1,​attref,​2)</​code>​ 
-dodane zostaną dwoje dzieci **//​attref//​** do rodzica **//​property//​** o id **//​id=prp_1//​**. 
- 
-W ten sposób stworzono cały szkielet dokumentu xml o zadanym korzeniu oraz zadanych dzieciach. Każdy element posiada własne, unikalne id. Powstały szkielet bez atrybutów znajduje się [[pl:​miw:​miw08_prolog_xml:​przyklad:​p1|tutaj]]. Ostatnią rzeczą będzie dodawanie odpowiednich atrybutów. 
- 
- 
-==== Dodawanie atrybutów ==== 
-Atrybuty do wybranego elementu dodaje się przy użyciu predykatu, 
-<code prolog> 
-add_attribute(Parent,​P_id,​Attr). 
-</​code>​ 
-gdzie jako argumentu podajemy kolejno: 
-  * nazwę elementu, do którego chcemy dodać atrybut 
-  * jego id 
-  * atrybut, który chcemy dodać 
- 
-==== Tworzenie pliku xml ==== 
pl/miw/miw08_prolog_xml/przyklad.txt · ostatnio zmienione: 2019/06/27 15:50 (edycja zewnętrzna)
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0