Both sides previous revision
Poprzednia wersja
Nowa wersja
|
Poprzednia wersja
|
pl:miw:miw08_prolog_xml:prolog_api [2008/06/02 20:01] miw |
pl:miw:miw08_prolog_xml:prolog_api [2019/06/27 15:50] (aktualna) |
===== API ===== | ===== API ===== |
| |
| Plik API do pobrania tutaj: |
| {{:pl:miw:miw08_prolog_xml:xml_api.pl|plik xml_api.pl}} |
| |
| |
| |
| |
| ===== Wersja główna ===== |
===== Wersja 2 ===== | |
| |
| |
| |
</code> | </code> |
| |
| |
| |
| |
</code> | </code> |
| |
| ===== Wersja poprzednia - płaska struktura ===== |
| <code prolog> |
| delete(A, [A|B], B). |
| delete(B, [A|C], [A|D]) :- |
| delete(B, C, D). |
| |
| add(A, B, [A|B]). |
| |
| |
| make_node(Name,List) :- |
| add(element(Name, [], []), [], List), |
| X=..List, |
| assert(X), |
| write(List). |
| |
| make_node(Name, Attr, Cont, List) :- |
| add(element(Name, Attr, Cont), [], List), |
| X=..List, |
| assert(X), |
| write(List). |
| |
| add_child(Parent,Child,Nlist):- |
| element(Parent,A,C), |
| retract(element(Parent,A,C)), |
| add(element(Child,[],[]),C,L), |
| make_node(Parent,A,L,Nlist). |
| |
| add_child(Parent,Child,Ch_att,Ch_cont,Nlist):- |
| element(Parent,A,C), |
| retract(element(Parent,A,C)), |
| add(element(Child,Ch_att,Ch_cont),C,L), |
| make_node(Parent,A,L,Nlist). |
| |
| make_list(List) :- |
| bagof(A,element(A,B,C),A), |
| L=..A, |
| add(element(L,B,C),[],List), |
| write(List). |
| |
| save :- |
| tell('wiedza.pl'), |
| listing(element), |
| told. |
| |
| prolog2xml(List,File):- |
| tell(File), |
| open(File,write,S), |
| xml_write(S,List,[]), |
| told, |
| close(S). |
| |
| ---------------------------------- |
| |
| add_child(Parent,Child,Nlist):- |
| element(Parent,A,C), |
| element(Child,Chatt,Chcont), |
| retract(element(Parent,A,C)), |
| retract(element(Child,Chatt,Chcont)), |
| add(element(Child,Chatt,Chcont),C,L), |
| make_node(Parent,A,L,Nlist). |
| |
| add_child(Parent,A,Child,Chatt,Nlist):- |
| element(Parent,A,C), |
| element(Child,Chatt,Chcont), |
| retract(element(Parent,A,C)), |
| retract(element(Child,Chatt,Chcont)), |
| add(element(Child,Chatt,Chcont),C,L), |
| make_node(Parent,A,L,Nlist). |
| </code> |
| |
| |
| |
| |
| |