[
Lists Home |
Date Index |
Thread Index
]
Paul Prescod <paul@prescod.net> 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@cogsci.ed.ac.uk
URL: http://www.ltg.ed.ac.uk/~ht/
[mail really from me _always_ has this .sig -- mail without it is forged spam]
|