xsl-list
[Top] [All Lists]

Re: [xsl] Namespace conflicts processing Word documents

2008-10-06 12:31:20
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[(_at_)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[(_at_)*: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(_at_)CraneSoftwrights(_dot_)com
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


--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--