xsl-list
[Top] [All Lists]

RE: invoking template for other namespace elements in mixed namespace scenario (sample XML & XSL)

2004-09-08 09:00:14
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>
--+--



<Prev in Thread] Current Thread [Next in Thread>