[Home] [By Thread] [By Date] [Recent Entries]


Paul Prescod <paul@p...> writes:

> "Henry S. Thompson" wrote:
> > 
> >...
> > > Can someone extend it:
> > >
> > > <!ELEMENT a' ((b,c)+,c,b)>
> > 
> > Yes.
> > 
> > > If so, that could really confuse most element-triggered processing
> > > specifications.
> > 
> > Not sure what you mean.  This is a difficult case to start with (it's
> > DT/DD under another name, a well-known pain for XPath).  But if I
> > tackle it in the usual way, i.e. by recursion over the nodelist
> > picking of b+c pairs, it will work just fine, i.e. stop after the b+c
> > pairs run out, ignoring the new material.
> 
> Given the content model:
> 
> <!ELEMENT a (b, c)>

presume you still mean (b, c)+
> 
> Here's the usual way to handle it:
> 
> <xsl:template match="a">
>  <dl><xsl:apply-templates/></dl>
> </xsl:template>
> 
> <xsl:template match="b">
>  <dt><xsl:apply-templates/></dt>
> </xsl:template>
> 
> <xsl:template match="c">
>  <dt><xsl:apply-templates/></dt>
> </xsl:template>

Presume you mean <dd>...</dd>

> This is guaranteed to produce valid XHTML given the original content
> model. But the following extension will trick it into producing invalid
> XHTML:
> 
> <!ELEMENT a' ((b,c)+,c,b)>

Um, no, the content model for dl in XHTML is (dt|dd)*, which will
cover what your rules produce, and what they produce will look OK
too.  If your stylesheet were more along the lines I suggested,
i.e. designed to add the structure which HTML doesn't provide, the
behaviour will be as I said.

ht
-- 
  Henry S. Thompson, HCRC Language Technology Group, University of Edinburgh
          W3C Fellow 1999--2002, 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@c...
		     URL: http://www.ltg.ed.ac.uk/~ht/
 [mail really from me _always_ has this .sig -- mail without it is forged spam]

Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member