- From: Henry S. Thompson <ht@cogsci.ed.ac.uk>
- Date: 01 Sep 2001 16:00:34 +0100
- To: Guillaume Rousse <rousse@ccr.jussieu.fr>
- Cc: xmlschema-dev@w3.org
Guillaume Rousse <rousse@ccr.jussieu.fr> writes: > > 1) Are there many <foos> or only one in a given document? > Only one. > > > 2) If many, are they separate identity scopes, or one, i.e. is the > > following meant to be good or bad? > Not relevant here. > > > 3) Can <foo id='a'> appear anywhere other than inside <foos>? > With an id attribute, yes. Without, no Sorry, I phrased this badly so I'm not sure I understand your answer. Try again: 3) Does <foo> appear, with or without 'id', outside a <foos>? It appears that the answer is "yes, but only without an ID" > > Only if the answers are 'many';'bad';'yes' do you have a problem. > > > > Otherwise just use > > > > <key name="fooKey"> > > <selector xpath=".//foo"/> > > <field xpath="@id"/> > > </key> > > > > within the root element declaration if the answer to (2) is 'bad', or > > within the <foos> element declaration if the answer to (2) is 'good'. > So i guess i must either declare the key in root element with an additional > [@id] assertion, or in the <foos> element declaration. I think if I understand correctly that's right, either will work. Was my initial supposition it would make fooKey local to this element wrong ? Not sure I understand what you mean. Yes, fooKey is local to <foos>. But you've said <foo id=''> only occurs inside <foos>, so what does that matter? Note that 'local to <foos>' does not mean 'catches only immediated children of <foos>' -- the pattern './/foo' will find all <foo > at any depth. ht -- Henry S. Thompson, HCRC Language Technology Group, University of Edinburgh W3C Fellow 1999--2001, part-time member of W3C Team 2 Buccleuch Place, Edinburgh EH8 9LW, SCOTLAND -- (44) 131 650-4440 Fax: (44) 131 650-4587, e-mail: ht@cogsci.ed.ac.uk URL: http://www.ltg.ed.ac.uk/~ht/
Received on Saturday, 1 September 2001 11:00:11 UTC