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
Nowa wersja Both sides next revision
pl:miw:miw08_prolog_xml:przyklad [2008/05/28 16:10]
miw
pl:miw:miw08_prolog_xml:przyklad [2008/06/02 00:08]
miw
Linia 1: Linia 1:
 ===== Przykład ===== ===== Przykład =====
 +
  
  
Linia 11: Linia 12:
 Jako parametry podajemy kolejno: Jako parametry podajemy kolejno:
   * nazwę korzenia   * nazwę korzenia
-  * prefiks, np. podając **cd**, zostanie stworzony **id=cd_0** gdzie **0** będzie kolejno nadawaną liczbą, startując od zera.+  * 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. Po użyciu tego predykatu pojawi się nam główny element struktury prologowej stanowiący korzeń dokumentu xml.
Linia 26: Linia 27:
 element(hml,​ [id=hml_0], []). element(hml,​ [id=hml_0], []).
 </​code>​ </​code>​
 +
 +
 +
 +
 +
  
  
Linia 40: Linia 46:
 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 46: Linia 52:
   * 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 57: Linia 63:
  
 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 70: Linia 76:
 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 98: Linia 111:
   * 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.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