Re: [xsl] Namespace conflicts processing Word documents

Subject: Re: [xsl] Namespace conflicts processing Word documents
From: "G. Ken Holman" <gkholman@xxxxxxxxxxxxxxxxxxxx>
Date: Mon, 06 Oct 2008 12:30:51 -0400
At 2008-10-06 16:52 +0100, Peter Flynn wrote:
Syntactically, yes. Semantically, a paragraph is a paragraph is a paragraph (unless it's a heading, or a list item -- but those are just qualified paragraphs in Word :-)
...
Right, so I can have two otherwise identical stylesheets, one declaring the WordML w: namespace and the other declaring the OOXML w: namespace, with both using the identical
<xsl:template match="w:p[w:pPr[w:pStyle[@w:val='Heading1']]]">
<h1><xsl:apply-templates/></h1>
</xsl:template>
but I can't have a shell stylesheet for each namespace which both import/include the template code from a common (shared) file, because (a) namespaces don't get inherited into imports/includes, and (b) the common file will necessarily lack any namespace declaration for w: and will therefore not be well-formed.


OK. So long as I wasn't missing a trick there.

Well, if they are going to be so very identical, use XSLT 2.0 and the following:


   <xsl:template match="*:p[*:pPr[*:pStyle[@*:val='Heading1']]]">
     <h1><xsl:apply-templates/></h1>
   </xsl:template>

... and take the risk that a <p> is a <p> is a <p>.

I hope this helps.

. . . . . . . . . . . . Ken


-- Upcoming XSLT/XSL-FO hands-on courses: Wellington, NZ 2009-01 Training tools: Comprehensive interactive XSLT/XPath 1.0/2.0 video Video sample lesson: http://www.youtube.com/watch?v=PrNjJCh7Ppg Video course overview: http://www.youtube.com/watch?v=VTiodiij6gE G. Ken Holman mailto:gkholman@xxxxxxxxxxxxxxxxxxxx Crane Softwrights Ltd. http://www.CraneSoftwrights.com/s/ Male Cancer Awareness Nov'07 http://www.CraneSoftwrights.com/s/bc Legal business disclaimers: http://www.CraneSoftwrights.com/legal

Current Thread