SWI Prolog
Plik XML po sparsowaniu w SWI Prologu za pomocą predykatu load_xml_file('therm.xml',X) jest w postaci listy, która składa się z zagnieżdżonych struktur typu element(Node_Name, [Value], [child_element]).
X = [element(hml, [], [
, element(attribute_set, [], [
, element(att, [name=Thermostat], []),
, element(att, [name=Time], []),
, element(att, [name=Temperature], []),
, element(att, [name=Date], []),
, element(att, [name=Hour], []),
, element(att, [name=season], []),
, element(att, [name=operation], []),
, element(att, [name=thermostat_settings], []),
, element(att, [name=day], []),
, element(att, [name=month], []),
, element(att, [name=today], []),
, element(att, [name=hour], []),
]),
, element(property_set, [], [
, element(property, [pid=1], [
, element(attref, [name=Thermostat], []),
]),
, element(property, [pid=2], [
, element(attref, [name=Time], []),
, element(attref, [name=Temperature], []),
]),
, element(property, [pid=3], [
, element(attref, [name=Time], []),
]),
, element(property, [pid=4], [
, element(attref, [name=Temperature], []),
]),
, element(property, [pid=5], [
, element(attref, [name=Date], []),
, element(attref, [name=Hour], []),
, element(attref, [name=season], []),
, element(attref, [name=operation], []),
]),
, element(property, [pid=6], [
, element(attref, [name=Date], []),
, element(attref, [name=Hour], []),
]),
, element(property, [pid=7], [
, element(attref, [name=season], []),
, element(attref, [name=operation], []),
]),
, element(property, [pid=8], [
, element(attref, [name=thermostat_settings], []),
]),
, element(property, [pid=9], [
, element(attref, [name=season], []),
]),
, element(property, [pid=10], [
, element(attref, [name=operation], []),
]),
, element(property, [pid=11], [
, element(attref, [name=Date], []),
]),
, element(property, [pid=12], [
, element(attref, [name=Hour], []),
]),
, element(property, [pid=13], [
, element(attref, [name=day], []),
, element(attref, [name=month], []),
, element(attref, [name=today], []),
]),
, element(property, [pid=14], [
, element(attref, [name=month], []),
]),
, element(property, [pid=15], [
, element(attref, [name=day], []),
, element(attref, [name=today], []),
]),
, element(property, [pid=16], [
, element(attref, [name=day], []),
]),
, element(property, [pid=17], [
, element(attref, [name=today], []),
]),
, element(property, [pid=18], [
, element(attref, [name=hour], []),
]),
]),
, element(tph, [], [
, element(trans, [src=1, dst=2], []),
, element(trans, [src=2, dst=3], []),
, element(trans, [src=2, dst=4], []),
, element(trans, [src=3, dst=5], []),
, element(trans, [src=5, dst=6], []),
, element(trans, [src=5, dst=7], []),
, element(trans, [src=4, dst=8], []),
, element(trans, [src=7, dst=9], []),
, element(trans, [src=7, dst=10], []),
, element(trans, [src=6, dst=11], []),
, element(trans, [src=6, dst=12], []),
, element(trans, [src=11, dst=13], []),
, element(trans, [src=13, dst=14], []),
, element(trans, [src=13, dst=15], []),
, element(trans, [src=15, dst=16], []),
, element(trans, [src=15, dst=17], []),
, element(trans, [src=12, dst=18], []),
]),
, element(ard, [], [
, element(dep, [independent=9, dependent=8], []),
, element(dep, [independent=10, dependent=8], []),
, element(dep, [independent=14, dependent=9], []),
, element(dep, [independent=16, dependent=17], []),
, element(dep, [independent=17, dependent=10], []),
, element(dep, [independent=18, dependent=10], []),
]),
])]