|
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: Re: Newbie question--applying templates, selecting
> The file below, adjusted per your recommendations, worked!! :) Thank you so > much. > > <?xml version="1.0" encoding="UTF-8"?> > <xsl:stylesheet > xmlns:xsl="http://www.w3.org/1999/XSL/Transform" > xmlns:xhtml="http://www.w3.org/1999/xhtml" > version="1.0"> > <xsl:output method="xml" encoding="UTF-8"/> > <xsl:template match="*|@*|text()|comment()"> > <xsl:copy> > <xsl:apply-templates > select="*|@*|text()|comment()"/> > </xsl:copy> > </xsl:template> > <xsl:template match="xhtml:div[@class='mgronly']"/> > </xsl:stylesheet> > > May I ask one more question that will hopefully help me understand more > about XSL? I understand now why the xhtml namespace is necessary. But I > don't understand why adding the second template worked. If the first one > says "copy everything," the second one must somehow override or modify the > first. But syntactically, I don't see how that is accomplished. xsl:copy does not make a deep copy, it only copies the current node. The xsl:apply-templates element with the xsl:copy recursively processes any descendants. The second template is more specific, and therefore, has a higher default priority, so it is chosen rather than the first one, if it matches the current node. For more info, see: http://www.w3.org/TR/xslt#conflict Is there some reason you're not just using the expression "node() | @*", instead of "*|@*|text()|comment()"? Are you excluding processing instructions on purpose? Dave XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|

Cart








