Consider two people working on the same task, separate from each other. The task involves the naming of things. What is to prevent the use of the same name by both people?

Nothing - therefore if there are duplicate names does this matter?

If the tasks are never to be considered together, then it is probably OK. If the tasks are to be considered separately, then how are the duplicate names to be distinguished?

One of the two people could rename all of his names, so as to avoid a conflict of names - this may be rather cumbersome. Alternatively, all the names could be given a unique prefix in the sense that all names contained within a certain element could be assumed to have this unique prefix. All people or documents should somehow construct a unique naming prefix - hence the use of URIs. Consider the following xml document:

<?xml version="1.0"?> <topLevel namingPrefix="uniquePrefix"> <element1> </element1> <element2> </element2> </topLevel>

Specifying this unique prefix will do the trick.