Subject: Mixed content: selecting current context w/out child From: "John E. Simpson" <simpson@xxxxxxxxxxx> Date: Sat, 13 Mar 1999 10:50:48 -0500 |
This has got to be a fairly elementary question.... What's the proper select expression to retrieve *only* the PCDATA portion of a mixed-content element, *not* the contents of its children? Here's a content model: <!ELEMENT name (#PCDATA | role)* > Given the following XML: <name>Candace Hilligoss<role>Mary Henry</role></name> What XSL would produce the following HTML? <tr> <td>Candace Hilligoss</td> <td>Mary Henry</td> </tr> I've tried what feels like 47 or so different incrementally-different solutions, such as this: <xsl:for-each select="name"> <tr> <td><xsl:value-of select="."/></td> <td><xsl:value-of select="./role"/></td> </tr> </xsl:for-each> In all cases, the first select deposits the contents of not just the <name> tag's PCDATA ("Candace Hilligoss"), but also its <role> child ("Mary Henry", in the first <td> cell. (The second one, no problem; however, the <role> child itself has no children, so this may be an illusory "solution.") I suspect I've just been obsessing about this too much and am overlooking the obvious. Thanks for help, per usual, JES P.S. One thing that using XSL is teaching me is the importance of avoiding mixed content models wherever possible. The next version of my DTD will eliminate most of them. For now, though, I'm stuck with the content model I've got. ========================================================== John E. Simpson | The secret of eternal youth simpson@xxxxxxxxxxx | is arrested development. http://www.flixml.org | -- Alice Roosevelt Longworth XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: Microsoft Patent [was: License?, Grant Steinfeld | Thread | Re: Mixed content: selecting curren, John E. Simpson |
Re: License???, Dieter Maurer | Date | Re: Mixed content: selecting curren, John E. Simpson |
Month |