[XML-SIG] Metadata in XBEL
David Faure
david@mandrakesoft.com
Mon, 2 Apr 2001 15:18:41 +0100
On Sunday 01 April 2001 01:16, Uche Ogbuji wrote:
> > Uche Ogbuji writes:
> > > Yes. I actually implemented an off-line merge earlier, but I think a
> > > standardized merge indicator would be useful.
> >
> > To make this meaningful, do we need more discussion of what "merge"
> > means, or should this be left entirely to clients? I'm inclined to
> > think we need a good description of the expected range of application
> > and motivation, and the rest can be left to specific applications.
>
> OK. I agree as you say later that a merge can be at top level or folder
> level. In either case, I'd use the following guidelines:
>
> 1. A merge element is of the form "<merge xinclude:href='[target uri]'/>. The
> source is an XBEL file in which the merge element appears. The target is the
> XBEL file referenced by the URI in the xinclude:href attribute of the merge
> element.
>
> 2. the current folder of the source is the folder in which the relevant merge
> element appears. This can be the top-level "folder".
>
> 3. All bookmarks at the top level of the target are added to the source as if
> directly specified at the location of the merge element in the current folder.
>
> 4. If any bookmark element in the current folder of the source has an
> identical href attribute to a bookmark in the target, the bookmark in the
> target is ignored.
>
> 5. All folders at the top level of the target are added to the source as if
> directly specified at the location of the merge element (whether top-level or
> within a folder). This addition involves a recursive copying of all the
> bookmarks and sub-folders contained in the target folder.
>
> 6. If any folder in the current folder of the source has an identical title
> child element to a folder in the target, the folder in the target is merged
> into the folder in the source according to this process as if he target folder
> and the matching source folder were both top-level xbel elements.
>
> 7. The expanded bookmark file is the result of applying this process to each
> merge element in document order of the merge source. All merge elements in a
> merge target are first processed before incorporation into the merge source.
Wow, that's a very precise definition of a #include mechanism, with
all details fleshed out.
I'm fine with this specification, I think it's a simple one to implement, but
at the same time it gives the user what we want.
Thanks for this detailed spec.
--
David FAURE, david@mandrakesoft.com, faure@kde.org
http://perso.mandrakesoft.com/~david/, http://www.konqueror.org/
KDE, Making The Future of Computing Available Today