XIncluding chunks, XUpdating or XQuerying them later

Hello guys,
I need to be able to include xml chunks from several
entity xml files
into a a master one that is supposed to be shown to
users.

Those users should be able to edit the final xml
file
but when doing
so they should be actually updating the chunks.

With an example:

books.xml

<books
<book isbn=“foo” author=“bar”/

</books

bookstores.xml

<bookstores
<bookstore
<book isbn=“foo” author=“bar”/

</bookstore
</bookstores

libraries.xml

<libraries
<library
<book isbn=“foo” author=“bar”/

</library
</libraries
or <libraries

A given user updating now libraries realize the
author
for isbn “foo”
is not “bar” but “xar” so whenever he updates
libraries he should
actually be updating books.xml.

I am just trying to reuse any work already done
about
this problem. I
can use XInclude to get the books chunks into the
libraries and
bookstores files. I can use XSLT to present a pretty
form to the user
and then whenever the user hits submit for a change
I
can use XUpdate (Or if I decide let us say to host my xml files in an
eXist Native Database I could use its enhancement to XQuery)
if I maintain somewhere the XInclude rules just to
know what to update
but too much custom code for something that maybe is
already
integrated or easy to accomplish using Tamino/SoftwareAG solutions.

Generation of the GUI to edit should be done using a
W3C schema.

Could anyone point me to a good direction here?

And just to be clear I am after an XML Editor that manages XML Normalization and meet the following requirements:

1)Allows insertion/selection of specific elements from external xml
files if those elements meet the the schema restrictions for the
allowed in the current document node. Example: If I am editing an xml
file that includes a schema where child1 is accepted then child1could
be build from scratch or imported from an external xml file where
nodes are of type child1. Of course the inclusion of the external node
makes sense to be done using XInclude but if there is nother way I am
open to it.

2)If a new node of type child1 was created it should be inserted in
the current document as a mean of an inclusion or any other technique
that allows the file that hosts the child1 unique nodes to be updated
with the insertion of the new node created. The new node cannot be
inserted if the id is present already in the external xml file.

3)If an existing node was imported as part of the current changes or
as part of an old change/inclussion and the user edits that node
within the context of the current file the external xml child1 node
should be updated.

4)When saving the hub/file that includes all the chunks, child1 and
every other inclussion/reference using any other external file should
be updated in that external file. The hub file should be saved
specifying of course the correct inclussions.

As you see my usecase deals with normalization. XML allows to be
descriptive but definetely we do not want that feature to stop
normalization from working. If “offers” are part of several
“applications” we want a unique list of offers to be able to reuse
them, otherwise we have a risk of creating twice the same offer and by
error one of them could have a different price point for example.

Any help highly appeciated. Thanks to you all,