> What use-case is that?

It's a theoretical use case. Say I have a file set like that:

```xml
<d:fileset xml:base="file:/user/me/docs/">
  <d:file href="doc.xml"/>
  <d:file xml:base="file:/etc/" href="my-generic-config.cfg"/>
</d:fileset>
```
In the file set above I keep track of a static generic config file for convenience, but I don't want that path to change when I "move" the file set.

But again, I don't remember if we actually use explicit `@xml:base` in our file sets.

To summarize my point, I think the general rule should be:

 * if the explicit `@xml:base` starts with the parent's base, then we should relativize.
 * if it's something different, then keep the explicit `@xml:base` and existing `@href`

WDYT ? 
I'm OK to accept the PR as-is if you think that the use case is unlikely or that it's not worth the change. But somehow I believe that moving the fileset's base directory shouldn't also move the files that are "outside" of the base directory.