Subject: Re: [xsl] Processing Stylesheet with multiple namespaces From: Michael Daniloff <mdanilof@xxxxxxxxx> Date: Sat, 22 Sep 2007 12:48:56 -0700 (PDT) |
here it is Joe: <?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:ve="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:o="urn:schemas-microsoft- com:office:office" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:m="http://schemas.openxmlformats.org/officeDocument/2006/math" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:wp="http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing" xmlns:w10="urn:schemas-microsoft -com:office:word" xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main" xmlns:wne="http://schemas.microsoft.com/office/word/2006/wordml" exclude-result-prefixes="ve o r m v wp w10 w wne"> <xsl:template match="@*|node()"> <xsl:copy> <xsl:apply-templates select="@*|node()"/> </xsl:copy> </xsl:template> <xsl:template match="w:object"> <w:pict> <xsl:apply-templates/> <xsl:apply-templates select="w:OLEObject"/> <xsl:apply-templates select ="@o:ole"/> </w:pict> </xsl:template> <xsl:template match="w:OLEObject"/> <xsl:template match="@o:ole"/> </xsl:stylesheet> this version doesn't strip "o:ole" attribute from the element v:shape So, I came with this one that does the trick: <xsl:stylesheet> - (M.D. skipped namespaces declaration for clarity) <xsl:template match="@*|node()"> <xsl:copy> <xsl:apply-templates select="@*|node()"/> </xsl:copy> </xsl:template> <xsl:template match="w:object"> <w:pict> <xsl:apply-templates/> <xsl:apply-templates select="v:shape" mode="k"/> <xsl:apply-templates select="w:OLEObject"/> </w:pict> </xsl:template> <xsl:template match="v:shape" mode="k"> <v:shape> <xsl:attribute name="id"> <xsl:value-of select="@id"/> </xsl:attribute> <xsl:attribute name="type"> <xsl:value-of select="@type"/> </xsl:attribute> <xsl:attribute name="style"> <xsl:value-of select="@style"/> </xsl:attribute> <xsl:apply-templates/> </v:shape> </xsl:template> <xsl:template match="v:shape"/> <xsl:template match="w:OLEObject"/> </xsl:stylesheet> This stylesheet strips everything that I don't need. But, today I discovered that the source can also contain o:OLEObject element instead of w:OLEObject and this of course messes everything up. I still think that I do something incorrectly with the regard to the multiple namespaces. The one with the "o" prefix just doesn't behave the way I expect it to. Thanks, Michael ____________________________________________________________________________________ Luggage? GPS? Comic books? Check out fitting gifts for grads at Yahoo! Search http://search.yahoo.com/search?fr=oni_on_mail&p=graduation+gifts&cs=bz
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Processing Stylesheet wit, Joe Fawcett | Thread | Re: [xsl] Processing Stylesheet wit, Abel Braaksma |
[xsl] [Announcement] XProc in last , mozer | Date | Re: [xsl] Processing Stylesheet wit, Abel Braaksma |
Month |