To jest stara wersja strony!


Przykład

Tworzenie korzenia

Korzen dokumentu xml tworzymy wykorzystując predykat:

create_root(hml).

Po jego użyciu pojawi się nam główny element struktury prologowej stanowiący korzeń dokumentu xml.

3 ?- listing(element).
 
:- dynamic element/3.
 
element(hml, [id=hml_0], []).

Dodawanie dzieci

Dzieci do istniejących rodziców dodaje się za pomocą predykatu:

app_child(Parent,P_id,Child).

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ń)

4 ?- app_child(hml,_,type_set).

Powstaje następująca struktura, korzeń hml ma na liście dziecko type_set o automatycznie nadanym id.

element(hml, [id=hml_0], [element(type_set, [id=typ_s_0], [])]).

W podobny sposób dodajemy dzieci:

  • attribute_set
     ?- app_child(hml,_,attribute_set). 
  • property_set
      ?- app_child(hml,_,property_set). 
  • tph
     ?- app_child(hml,_,tph). 
  • ard
     ?- app_child(hml,_,ard). 

W celu dodania za jednym razem większej ilości dzieci używamy predykatu pochodnego:

app_child(Parent,P_id,Child,How_much).

Jest to przydatne np, podczas dodawania dzieci att do rodzica attribute_set. Po użyciu predykatu:

app_child(attribute_set,_,att,12).

zostanie dodanych dwanaście dzieci do rodzica attribute_set.

Podobnie dodajemy:

  • dzieci property do rodzica property_set
     ?- app_child(property_set,_,property,18)
  • dzieci trans do rodzica tph
     ?- app_child(tph,_,trans,17).
  • dzieci dep do rodzica ard
     ?- ?- app_child(ard,_,dep,6).

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:

 ?- app_child(property,id=prp_1,attref,2)

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. Ostatnią rzeczą będzie dodawanie odpowiednich argumentów.

Dodawanie atrybutów

Tworzenie pliku xml

pl/miw/miw08_prolog_xml/przyklad.1211750705.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