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/28 16:07]
miw
pl:miw:miw08_prolog_xml:przyklad [2019/06/27 15:50] (aktualna)
Linia 1: Linia 1:
 ===== Przykład ===== ===== Przykład =====
- +Poniżej pokazano przykład tworzenia dokumentu xml z wykorzystaniem stworzonego API. W przykładzie pokazano sposób tworzenia pliku xml otrzymanego z systemu [[pl:​miw:​miw08_prolog_xml:​plik_varda|VARDA-M_1]]
  
 ==== Tworzenie korzenia ==== ==== Tworzenie korzenia ====
Linia 8: Linia 7:
 create_root(Name,​ID_name). create_root(Name,​ID_name).
 </​code>​ </​code>​
-Po jego użyciu pojawi się nam główny element struktury prologowej stanowiący korzeń dokumentu xml.+Jako parametry podajemy kolejno: 
 +  * nazwę korzenia 
 +  * prefiks id, np. podając **cd**, zostanie stworzony **id=cd_0** gdzie **0** będzie kolejno nadawaną liczbą, startując od zera. 
 + 
 +Po użyciu ​tego predykatu ​pojawi się nam główny element struktury prologowej stanowiący korzeń dokumentu xml.
  
 Przykład: Przykład:
Linia 21: Linia 24:
 element(hml,​ [id=hml_0], []). element(hml,​ [id=hml_0], []).
 </​code>​ </​code>​
 +
 +
 +
 +
 +
  
  
Linia 35: Linia 43:
 Dzieci do istniejących rodziców dodaje się za pomocą predykatu: ​ Dzieci do istniejących rodziców dodaje się za pomocą predykatu: ​
 <code prolog> <code prolog>
-app_child(Parent,​P_id,​Child).+app_child(Parent,​P_id,​Child,​ChildIdName).
 </​code>​ </​code>​
 W predykacie tym jako argumenty podajemy kolejno: W predykacie tym jako argumenty podajemy kolejno:
Linia 41: Linia 49:
   * 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 "​_"​   * 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   * Nazwa dziecka
-Id dziecka zostanie ​nadane ​automatycznie. +  * prefix nazwy id dziecka; Podając **ala** ​zostanie ​stworzony prefik **ala_**, któremu ​automatycznie ​zostanie przydzielona kolejna liczba, np. **ala_1**
-A więc dodanie dziecka o nazwie **//​type_set//​** do rodzica **//hml//** (korzeń)+A więc dodanie dziecka o nazwie **//​type_set//** i id **//typ_s//** do rodzica **//hml//** (korzeń)
 <code prolog> <code prolog>
-?- app_child(hml,​_,​type_set).+?- app_child(hml,​_,​type_set,typ_s).
 </​code>​ </​code>​
-Powstaje następująca struktura, korzeń **//hml//** ma na liście dziecko **//​type_set//​** ​o automatycznie nadanym ​id.+Powstaje następująca struktura, korzeń **//hml//** ma na liście dziecko **//​type_set//​** ​id o podanym prefiksie i przydzielonym numerze.
 <code prolog> <code prolog>
 element(hml,​ [id=hml_0], [element(type_set,​ [id=typ_s_0],​ [])]). element(hml,​ [id=hml_0], [element(type_set,​ [id=typ_s_0],​ [])]).
Linia 52: Linia 60:
  
 W podobny sposób dodajemy dzieci: W podobny sposób dodajemy dzieci:
-  * attribute_set <code prolog> ?- app_child(hml,​_,​attribute_set). </​code>​ +  * attribute_set <code prolog> ?- app_child(hml,​_,​attribute_set,att_s). </​code>​ 
-  * property_set <code prolog> ​ ?- app_child(hml,​_,​property_set). </​code>​ +  * property_set <code prolog> ​ ?- app_child(hml,​_,​property_set,prp_s). </​code>​ 
-  * tph <code prolog> ?- app_child(hml,​_,​tph). </​code>​ +  * tph <code prolog> ?- app_child(hml,​_,tph,tph). </​code>​ 
-  * ard <code prolog> ?- app_child(hml,​_,​ard). </​code>​+  * ard <code prolog> ?- app_child(hml,​_,ard,ard). </​code>​
  
 W celu dodania za jednym razem większej ilości dzieci używamy predykatu pochodnego: W celu dodania za jednym razem większej ilości dzieci używamy predykatu pochodnego:
 <code prolog> <code prolog>
-app_child(Parent,​P_id,​Child,​How_much).+app_child(Parent,​P_id,​Child,​ChildIdName,How_much).
 </​code>​ </​code>​
  
Linia 65: Linia 73:
 Po użyciu predykatu: Po użyciu predykatu:
 <code prolog> <code prolog>
-app_child(attribute_set,​_,​att,​12).+app_child(attribute_set,​_,att,att,12).
 </​code>​ </​code>​
 zostanie dodanych dwanaście dzieci do rodzica **//​attribute_set//​**. zostanie dodanych dwanaście dzieci do rodzica **//​attribute_set//​**.
  
 Podobnie dodajemy: Podobnie dodajemy:
-  * dzieci **//​property//​** do rodzica **//​property_set//​** <code prolog> ?- app_child(property_set,​_,​property,​18)</​code>​  +  * dzieci **//​property//​** do rodzica **//​property_set//​** <code prolog> ?- app_child(property_set,​_,​property,prp,​18)</​code>​  
-  * dzieci **//​trans//​** do rodzica **//tph//** <code prolog> ?- app_child(tph,​_,​trans,​17).</​code>​  +  * dzieci **//​trans//​** do rodzica **//tph//** <code prolog> ?- app_child(tph,​_,​trans,trn,​17).</​code>​  
-  * dzieci **//dep//** do rodzica **//ard//** <code prolog> ?- ?- app_child(ard,​_,​dep,​6).</​code> ​+  * dzieci **//dep//** do rodzica **//ard//** <code prolog> ?- ?- app_child(ard,​_,dep,​dep,​6).</​code> ​
  
 Następnie pozostaje tylko dodanie odpowiednich dzieci **//​attref//​** do odpowiednich rodziców **//​property//​**. 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: 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>​+<code prolog> ?- app_child(property,​id=prp_1,​attref,att_r,​2)</​code>​
 dodane zostaną dwoje dzieci **//​attref//​** do rodzica **//​property//​** o id **//​id=prp_1//​**. dodane zostaną dwoje dzieci **//​attref//​** do rodzica **//​property//​** o id **//​id=prp_1//​**.
 +
 +:​!::​!:​UWAGA:​!::​!:​
 +
 +Kiedy podajemy **id** rodzica, do którego chcemy przypisać dziecko, podajemy pełny tekst, np. **//​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. 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.
 +
 +
 +
  
  
Linia 93: Linia 108:
   * jego id   * jego id
   * atrybut, który chcemy dodać   * atrybut, który chcemy dodać
 +
 +:​!::​!:​UWAGA:​!::​!:​
 +
 +Kiedy podajemy **id** elementu, do którego chcemy dodać atrybut, podajemy pełny tekst, np. **//​id=att_0//​**.
 +
 +Podobnie jest w przypadku podawania atrybutu. Podajemy pełny tekst zawierający znak **//"​="//​** , np. **//​name=thermostat//​**
  
 Przykładowo użycie Przykładowo użycie
pl/miw/miw08_prolog_xml/przyklad.1211983650.txt.gz · ostatnio zmienione: 2019/06/27 15:59 (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