Subject: Re: [xsl] copy-of question From: Jeni Tennison <mail@xxxxxxxxxxxxxxxx> Date: Thu, 19 Apr 2001 08:28:25 +0100 |
Hi Franz, > Yes. The default rules gives the unmatched elements back as > unformattet text I guess. Coult You give me an example to extract > only an element out of a huge xml? Well, you can either approach it from a pull direction or a push direction. If you want to pull, then you should find an XPath that identifies the single node that you want to copy from the root node of the tree, perhaps through id() or by stepping down to it. I don't know what your XML looks like, unfortunately, so I can only say that: //TABLE will work to point at the TABLE element in your XML. There may be a much better path - this one is far from optimal because it uses the descendant-or-self:: axis, which is very inefficient. Then you should have a single template that operates very near the top of the tree (often the root node), and that copies only this one node: <xsl:template match="/"> <xsl:copy-of select="//TABLE" /> </xsl:template> The push method would involve changing the default templates. To get no output by default, you only need to change the template that matches text() nodes, making it do nothing rather than giving the value of the text. So just add the template: <xsl:template match="text()" /> to your current stylesheet. Which one is most efficient depends on the structure of your XML, the processor you're using and whether you can come up with a better XPath to access the node you're interested in. Generally I'd go for pull in this situation. I hope that helps, Jeni --- Jeni Tennison http://www.jenitennison.com/ XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] copy-of question, Franz Figl | Thread | Re: [xsl] copy-of question, Franz Figl |
Re: [xsl] Is this legal xpath usage, Jeni Tennison | Date | Re: [xsl] namespace transform issue, Jeni Tennison |
Month |