Re: [xsl] Copying XML tags into XSL variable - Urgent

Subject: Re: [xsl] Copying XML tags into XSL variable - Urgent
From: Wendell Piez <wapiez@xxxxxxxxxxxxxxxx>
Date: Wed, 25 Sep 2002 15:45:04 -0400
Vignesh,

The XSLT Way would not be to copy XML tags and text. XSLT has no notion of "tags"; tags in an XSLT stylesheet are merely representations of nodes in a tree structure of nodes such as elements and attributes.

In XSLT the approved way would be simply something like

<xsl:variable name="modification">
  <xsl:copy-of select="modify-attr[@attr-name='ROLE']/add-value"/>
</xsl:variable>

Which assigns a *copy* of the nodes to the value of the variable. The data structure goes by the name "result tree fragment".

But since you're not telling us why you need to do this or what the variable is for, it's not really possible to say whether it's sufficient to your needs.

Regards,
Wendell

At 02:38 PM 9/25/2002, you wrote:

Hi All

We have a XML file as the input , which would look like this,

<nds dtdversion="1.0" ndsversion="8.5" xmlns:jdbc="urn:dirxml:jdbc">
        <source>
                <product jdbc:build="20020215_1810"
jdbc:instance="JDBCdriver" version="1.5">DirXML Driver for
JDBC</product>
                <contact>Novell, Inc.</contact>
        </source>
        <input>
                <modify class-name="VIEW_INTMEDTAB"
event-id="modify:PK_ID=staff7,table=VIEW_INTMEDTAB,schema=OUHKDIRXML"
src-dn="PK_ID=staff7,table=VIEW_INTMEDTAB,schema=OUHKDIRXML">
                        <association
state="associated">PK_ID=staff7,table=VIEW_INTMEDTAB,schema=OUHKDIRXML</association>

                        <modify-attr attr-name="TYPEOFPOST">
                                <remove-all-values/>
                        </modify-attr>
                        <modify-attr attr-name="TYPEOFPOST">
                                <add-value>
                                        <value
type="string">Perm</value>
                                </add-value>
                        </modify-attr>
                        <modify-attr attr-name="LOGINNAME1">
                                <remove-all-values/>
                        </modify-attr>
                        <modify-attr attr-name="LOGINNAME1">
                                <add-value>
                                        <value
type="string">staff7</value>
                                </add-value>
                        </modify-attr>
                        <modify-attr attr-name="ROLE">
                                <remove-all-values/>
                        </modify-attr>
                       <modify-attr attr-name="ROLE">
                                <add-value>
                                        <value type="string">ole</value>

                                </add-value>
                                <add-value>
                                        <value
type="string">staffportal</value>
                                </add-value>
                        </modify-attr>
                        <modify-attr attr-name="OUTYPE">
                                <remove-all-values/>
                        </modify-attr>
                        <modify-attr attr-name="OUTYPE">
                                <add-value>
                                        <value
type="string">staff</value>
                                </add-value>
                        </modify-attr>
                        <modify-attr attr-name="INTPASSWORD">
                                <remove-all-values/>
                        </modify-attr>
                </modify>
        </input>
</nds>

>From the above XML i want to copy the following text
                "<modify-attr attr-name="ROLE">
                                <add-value>
                                        <value type="string">ole</value>

                                </add-value>
                                <add-value>
                                        <value
type="string">staffportal</value>
                                </add-value>
                        </modify-attr> "
into a variable in XSL. I want the whole thing to be stored as a
text(not only the parsed values, but all the tags too) in the variable.

I have tried the following using <xsl:apply-templates>.
<xsl::apply-templates
select="modify-attr[@attr-name='ROLE']/add-value"/>

But it doesnt copy the whole text, instead copies only the first
value("ole" in the above modify-attr).

Any pointers of how to do this, would be greatly appreciated.

Thanks and Regards
Vignesh

--
Early bird gets the worm ... Big Incentive !!


XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list


======================================================================
Wendell Piez                            mailto:wapiez@xxxxxxxxxxxxxxxx
Mulberry Technologies, Inc.                http://www.mulberrytech.com
17 West Jefferson Street                    Direct Phone: 301/315-9635
Suite 207                                          Phone: 301/315-9631
Rockville, MD  20850                                 Fax: 301/315-8285
----------------------------------------------------------------------
  Mulberry Technologies: A Consultancy Specializing in SGML and XML
======================================================================


XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list



Current Thread