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:
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. Powstały szkielet bez atrybutów znajduje się tutaj. Ostatnią rzeczą będzie dodawanie odpowiednich atrybutów.
Dodawanie atrybutów
Atrybuty do wybranego elementu dodaje się przy użyciu predykatu,
add_attribute(Parent,P_id,Attr).
gdzie jako argumentu podajemy kolejno:
nazwę elementu, do którego chcemy dodać atrybut
jego id
atrybut, który chcemy dodać
Tworzenie pliku xml