xsl-list
[Top] [All Lists]

Re: [xsl] Problem with "value-of" tags in XSLT to be placed at desired location in Text Output

2006-05-22 13:39:44
Thank you for the suggestions.

I realised that I pasted the wrong XSLT which is not
the working version.Sorry about that 

But anyways all the points you mentioned below are
takencare and I am in process of trying more examples.

Thanks
Jyotsna



--- Jon Gorman <jonathan(_dot_)gorman(_at_)gmail(_dot_)com> wrote:

1)
These "value-of" tags in XSLT are not getting
replaced
by values in XML file at the place in wanted in
Output

They are getting replaced, but by nothing.

2)
How to get all 3 insert statements in the
output(My
current output is stuck after first insert
staement ..
not going back to XML file )?

Hmmm, I think you need to learn a bit more about
xslt/xpath.

I'll comment in more detail in the section with more
detail ;).



---------
XSLT File:-
-------
<?xml version="1.0" encoding="UTF-8"?>

<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
xmlns:xs="http://www.w3.org/2001/XMLSchema";
xmlns:fn="http://www.w3.org/2005/xpath-functions";
xmlns:xdt="http://www.w3.org/2005/xpath-datatypes";

        <xsl:output method="text" indent="yes"/>
         <xsl:template match="domain-name/server">

^^^ ok, first issue.  So you match server nodes that
have a parent of
domain-name.  I don't see anything like that in the
input element.  I
see a domain-name that is a sibling of a server
element, but not as a
parent.  In fact, I'm not sure why you're getting
any output besides
the text values of the nodes.  Are you sure the xslt
that you posted
is giving the output you described?

   insert into server (



'oracleAppVersion',java-version,java-vendor,java-vm-version,java-vm-vendor,java-vm-name,os-arch,os-name,os-version
) values (
    <xsl:value-of
select="/comp/weblogic-version"/>,

Remember like in Unix path names, in XPath / is a
special symbol that
indicates the start of the document and hence
indicates an absolute
path.  So it goes up to the very top of the document
and looks for the
element comp.  There is no element comp in the top
of the document.
Hence things break.

It looks like you want something like...
<xsl:template match="server" >
...
<xsl:value-of select="comp/weblogic-version" />


------------

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="file.xslt"
type="text/xslt"?>

<!--Sample XML file generated by XMLSpy v2006 sp1
U
(http://www.altova.com)-->
<inventory xmlns="http://xx";

^^^ another issue.  Your elements are in a in a
namespace.  I really
don't understand how you managed to get any output
(or anything
besides the text value of the nodes in the tree).

So you need a prefix in your xslt

ie
<xsl:stylesheet version="2.0"
 xmlns:x="http://xx";
...

and in your xpath indicate that:

<xsl:template match="x:server" >
...
<xsl:value-of select="x:comp/x:weblogic-version" />

Not to sound rude, but you're asking some pretty
basic questions.  I'd
recommend getting some good beginner material or
google for tutorials.
 Start with some very simple xml and xslt samples
until you have a
better grasp of XPath.


Jon Gorman


--~------------------------------------------------------------------
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>
--~--




__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 

--~------------------------------------------------------------------
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>
--~--