Apologies :). Let me clarify it a little.
The thing is the XHTML elements are not prefixed by xhtml in the data
that is made available from InfoPath. Does that mean it lies in the null
namespace?
I am not sure if that is true or not for xhtml elements inside a
container of elements that are under the my:namespace.
XML Root Element:
my:Root
These are the namespaces as available in the XML made available from
InfoPath.
XML Namespaces:
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xhtml="http://www.w3.org/1999/xhtml"
xmlns:my="http://schemas.microsoft.com/office/infopath/2003/myXSD/2004-0
8-25T18:09:45"
xmlns:xd="http://schemas.microsoft.com/office/infopath/2003"
xml:lang="en-us"
These are the XPaths for the elements under the object
my:SectionContent:
/my:Root/my:SubRoot/my:SectionContent/div
/my:Root/my:SubRoot/my:SectionContent/ul
From my calling template...
<xsl:template match="my:SectionContent">
<xsl:comment>SectionContent Starts</xsl:comment>
..... ( This is where I want to invoke the following templates )
<xsl:comment>SectionContent Ends</xsl:comment>
</xsl:template>
.... I basically want to invoke the following templates...that handle
the non-namespace prefixed xhtml elements (Another FYI - there is not a
proper XHTML structure created by InfoPath. i.e. InfoPath does not
create HTML, HEAD, TITLE, BODY, and other higher level elements. The
Blob contains HTML elements that are well-formed. They may or may not be
XHTML Schema Valid)
Do I need to prefix these templates with xhtml: ??
<xsl:template match="table">
...
</xsl:template>
<xsl:template match="colgroup">
..
</xsl:template>
<xsl:template match="col">
...
</xsl:template>
<xsl:template name="column">
...
</xsl:template>
<xsl:template match="tbody">
...
</xsl:template>
<xsl:template match="tr">
...
</xsl:template>
<xsl:template match="td|th">
...
</xsl:template>
<xsl:template match="h1|h2|h3|h4|h5|h6">
...
</xsl:template>
<xsl:template match="div">
...
</xsl:template>
<xsl:template match="p">
...
</xsl:template>
<xsl:template match="span">
...
</xsl:template>
<xsl:template match="font">
<xsl:apply-templates select="node()"/>
</xsl:template>
<xsl:template match="ul|ol">
...
</xsl:template>
<xsl:template match="li">
...
</xsl:template>
<xsl:template match="i | em">
...
</xsl:template>
<xsl:template match="b | strong">
...
</xsl:template>
Thanks,
Abhishek
____________________________________________________________
Abhishek Sanwal
HP - Houston Campus
........................................................................
....
-----Original Message-----
From: Jarno(_dot_)Elovirta(_at_)nokia(_dot_)com
[mailto:Jarno(_dot_)Elovirta(_at_)nokia(_dot_)com]
Sent: Wednesday, September 08, 2004 2:14 AM
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: RE: [xsl] invoking template for other namespace elements in
mixed namespace scenario (sample XML & XSL)
Hi,
<xsl:template match="my:SectionContent">
<xsl:comment>SectionContent Starts</xsl:comment>
<xsl:apply-templates
select="child::*[name()!=('')]"/>
"Select every child element node whose name is not an empy string". This
will match all elements, so you could might as well just use
select="*"
<xsl:comment>SectionContent Ends</xsl:comment>
</xsl:template>
Problem:
I have an element SectionContent that holds a huge blob of
XHTML. I have
manage to create templates to handle everything in that XTHML blob.
But when I want to initiate processing of the BLOB from its parent
container SectionContent I am not able to do so. I believe this has
something to do with the template select or the way I am
pointing to the
given nodes under a different namespace inside that container.
You didn't show use the templates you intend to handle the elements in
XHTML namespace. Have you prefixed the match patterns with xhtml:
prefix?
Cheers,
Jarno
--+------------------------------------------------------------------
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>
--+--