This document is under construction.
<lists> <note>address book A</note> <item><n>Ginger</n><stud>mgm.com</stud><stud>mac.com</stud></item> <item><n>John</n></item> </lists>with the address book B
<book> <note>address book B</note> <entry>Ginger <adds><add>mgm.com</add><add>mac.com</add></adds></entry> <entry>John<adds></adds></entry> </book>where we have correspondences between
lists and book, and between item and
entry. The relation between the two bookmarks specified in ArchX is the following.
relation top = lists[note[String], (var litem)*] <-> book[note[String], (var ritem)*] where item(litem, ritem) relation item = item[n[var nm as String], (stud[var mail as String])*] <-> entry[var nm as String, adds[(add[var mail as String])*]]Suppose the e-mail address
mac.com in the address book B is deleted.
To reflect this edition, we just enclose the e-mail address with tag del as follows.
<del><add>mac.com</add></del>ArchX will automatically remove the e-mail address
mac.com in the address book A.
in the
Next, consider adding the entry for John with a e-mail address "tom.com" to the address book A. Then, we append
<ins><item>Tom</item><stud>tom.com</stud></ins>to the address book A. Then, a new entry
<entry>Tom<adds><add>tom.com</add></adds></entry>will be put next to the entry for
John in the address book B.
We may want to change the title of address book A to address book C, we edit as follows.
...<note><mod><prev>address book A</prev><cur>address book C</cur></mod></note>This edition has no effect on the address book B, since there is no element in the bookmark B that are related to the element
note in the address book B.