xsl-list
[Top] [All Lists]

Re: Answers to review questions in "Beginning XSLT": Chapter 10

2003-03-21 02:06:14
Hi Lars,

2. What format can the values of ID attributes take?

Answer:
They have to be XML Names, which means they must start with a
letter, underscore, or colon, and contain only "alphanumeric"
characters (which include '.' | '-' | '_' | ':' plus other similar
punctuation in Unicode). In particular, no spaces are allowed.

There are a couple of things here. You say "plus other similar
punctuation in Unicode". Actually, XML names can only include the
punctuation characters you list: '.', '-', '_' and ':'. The ':'
character should not be used in IDs nowadays because the Namespaces in
XML Rec. stated that you should use NCNames instead of full XML Names.
NCNames (non-colonised names) can't contain a colon.

4. What three types of arguments can the id() function take and what
   does it return from each?

Answer:
id() can take a string containing a single ID, in which case it returns
the element that has that ID.
id() can take a string containing multiple IDs separated by space, in
which case it returns a node set consisting of the elements that have
those IDs.
id() can take a node set, in which case id() returns a node set
consisting of the elements whose IDs are the values of nodes in the
argument node set.

Yes, and if the nodes have values that are space-separated IDs, then
those get used.

7. Construct a stylesheet that groups <Film> elements by their <Year>
   children and by their rating attributes.

Answer:

That looks good (I assume it worked!). Another challenge is a
stylesheet that will group first by Year and then (within that) by
rating. [I think that's what I meant by the question, but I admit that
it's not worded clearly.]

Cheers,

Jeni

---
Jeni Tennison
http://www.jenitennison.com/


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list



<Prev in Thread] Current Thread [Next in Thread>