Solving the impendence mismatch between Hierarchical Data and XML
I was very impressed when I saw how Subversion handles the complexity of having data of hierarchical nature that needs to be serialized to XML. Check this out.
<?xml version="1.0" encoding="utf-8"?> <S:editor-report xmlns:S="svn:"> <S:target-revision rev="11"/> <S:open-root rev="-1"/> <S:open-directory name="tags" rev="-1"/> <S:add-directory name="tags/asd"/> <S:close-directory/> <S:close-directory/> <S:close-directory/> </S:editor-report>
And here is another one:
<?xml version="1.0" encoding="utf-8"?> <S:editor-report xmlns:S="svn:"> <S:target-revision rev="15"/> <S:open-root rev="-1"/> <S:open-directory name="trunk" rev="-1"/> <S:open-file name="trunk/a.txt" rev="-1"/> <S:apply-textdelta checksum="eabc96676e7defda414a1eed33bdfb09"> U1ZOAAAQEwETk2FzZDENCjINCjMNCjQNCjUNCjY= </S:apply-textdelta> <S:close-file checksum="c6301e5dad1330a7b9bd5491702c801b"/> <S:close-directory/> <S:close-directory/> </S:editor-report>
I was, as they say incredibly happy with this Work Time Fun.
Comments
Looks like a straightforward XML serialization of a memento chain... so it was either clever of them to think of it, or maybe just the simplest way to resuse some internal artifacts?
Comment preview