Lists Home |
Date Index |
"Rodriguez, Sergio" <firstname.lastname@example.org> writes:
> 1) As far as I know the ID attributes have a scope of uniqueness within a
> document instance, that is, these are unique in the whole document. Is
> there a mechanism, probably an extension of XML, where I can define the
> scope of ID attributes whitin a document fragment using a scheme language?
W3C XML Schema  provides the key/unique/keyref mechanism, which
includes scoping of the sort you require.
> (I know that this I can't achieve it using a DTD, right?) e.g. the
> following example would be valid...
> <element-one id-attribute="ALUX" /> <!-- use the same ID -->
> <element-two id-attribute="TIKAL" />
> <element-three id-attribute="ALUX" /> <!-- use the same ID -->
That's presumably an over-simplified exampl -- what you can certainly
<element-one key-attribute="ALUX" /> <!-- use the same ID -->
<element-two key-attribute="TIKAL" />
<element-three key-attribute="ALUX" /> <!-- use the same ID -->
> 2) The use of XML namespace in ID attributes: if I define two namespaces
> within a document, and those namespace include some attributes where their
> names are the same and they are ID attributes too... then I could have the
> same ID values which would be semantically different, right? and thus, they
> would be different ID values (I hope I have expressed it right). Example:
> <root xmlns:a="some-URI" xmlns:b="another-URI">
> <element-one a:id-attribute="ALUX" />
> <element-two a:id-attribute="TIKAL" />
> <element-three b:id-attribute="ALUX" /> <!-- this would be a different ID
> value, because it belongs to another namespace. Is this correct? -->
No. IDs are not in namespaces. All IDs, whatever their attribute
name, must be unique.
Note W3C XML Schema doesn't change ID/IDREF -- it provides a new
alternative which is more flexible and more powerful.
Henry S. Thompson, HCRC Language Technology Group, University of Edinburgh
Half-time member of W3C Team
2 Buccleuch Place, Edinburgh EH8 9LW, SCOTLAND -- (44) 131 650-4440
Fax: (44) 131 650-4587, e-mail: email@example.com
[mail really from me _always_ has this .sig -- mail without it is forged spam]