Subject: RE: [xsl] How does one go about extracting HTML anchors from an XML file? From: "Michael Kay" <mhkay@xxxxxxxxxxxx> Date: Mon, 17 Sep 2001 22:11:29 +0100 |
You are making life quite unnecessarily difficult for yourself. Your <xsl:choose>, <xsl:when>, <xsl:for-each>, and <xsl:call-template> calls are trying to do manually what <xsl:apply-templates> does for you automatically. Just write: <xsl:template match="href"> <a href="@link"><xsl:apply-templates/></a> </xsl:template> <xsl:template match="a[@mailto]"> <a href="mailto:{@mailto}"><xsl:apply-templates/></a> </xsl:template> <xsl:template match="p"> <p><xsl:apply-templates/></p> </xsl:template> Mike Kay > -----Original Message----- > From: owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx > [mailto:owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx]On Behalf Of Liat Jacob > Sent: 17 September 2001 20:15 > To: XSL-List@xxxxxxxxxxxxxxxxxxxxxx > Subject: [xsl] How does one go about extracting HTML anchors > from an XML > file? > > > Hello all, > > I'm trying to retrieve links and mailto anchors from an XML > file and display > them in an HTML page ('a href' and 'a mailto' respectively). > The problem I'm > running into is that I don't know how to extract these > anchors properly > while preserving the overall hierarchy of the nodes. > > Here's what my XML file looks like: > > <article> > <summary> > <p>blah blah blah blah blah blah > blah <href link='www.yahoo.com'> some link text here</href> > blah blah <a mailto="jacob_liat@xxxxxxxxxxx>some text here</a> > blah blah.</p> > <p>second paragraph with additional anchors embedded throughout > the paragraph text.</p> > </summary> > </article> > > > > The corresponding XSL file is: > > <xsl:template match="p"> > <P> > <xsl:choose> > <xsl:when test="href"> > <xsl:for-each select="href"> > <xsl:call-template name="href"> > <xsl:with-param name="word"> > <xsl:value-of select="."/></xsl:with-param> > </xsl:call-template> > </xsl:for-each> > </xsl:when> > <xsl:when test="a"> > <xsl:for-each select="a"> > <xsl:call-template name="a"> > <xsl:with-param name="addr"> > <xsl:value-of select="."/></xsl:with-param> > </xsl:call-template> > </xsl:for-each> > </xsl:when> > </xsl:choose> > </P> > <xsl:value-of select="."/> > </xsl:template> > > > <xsl:template name="href"> > <xsl:param name="word"/> > <A HREF="http://{@link}"><xsl:value-of select="$word"/></A> > </xsl:template> > > > <xsl:template name="a"> > <xsl:param name="addr"/> > <A HREF="mailto:{@mailto}"><xsl:value-of select="$addr"/></A> > </xsl:template> > > > I'd greatly appreciate if anyone has any ideas and would > kindly point me in > the right direction. > > Thanks in advance for any help, > Liat > > _________________________________________________________________ > Get your FREE download of MSN Explorer at > http://explorer.msn.com/intl.asp > > > XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list > XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] How does one go about ext, Jörg Heinicke | Thread | RE: [xsl] How does one go about ext, Hewko, Doug |
RE: [xsl] xsl text problem, Michael Kay | Date | Re: [xsl] substring manipulation to, Jörg Heinicke |
Month |