xsl-list
[Top] [All Lists]

RE: How can I placed end tags?

2005-08-12 01:21:57
Firstly, you don't create tags in XSLT, you create element nodes in a tree.
This is a very important distinction.

If you don't know the name of the element you want to create at compile
time, use xsl:element: for example

<xsl:element name="{(_at_)text:name}">
  . . .
</xsl:element> 

Your data is extremely peculiar, because it has things like "ce:author" and
"/ce:author" as the values of attribute nodes, in other words it contains
markup within the data. You may therefore be better off generating text
output rather than XML output, something like this:

<xsl:output method="text">
<xsl:template match="text:user-field-get">
  &lt;<xsl:value-of select="."/>&gt;
</xsl:template>

However, I would go back to the application architecture. Why is anyone
generating this weird XML in the first place?

Michael Kay
http://www.saxonica.com/


-----Original Message-----
From: aaron apigo [mailto:aaronjose_apigo2001(_at_)yahoo(_dot_)com] 
Sent: 12 August 2005 07:29
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] How can I placed end tags?

Hi All,

Can anyone help me to transform this XML,

<text:p>
<text:user-field-get
text:name="ce:author">au</text:user-field-get>
<text:span>
<text:user-field-get
text:name="ce:given-name">fnm</text:user-field-get>
</text:span>
<text:span>Jun</text:span>
<text:span>
<text:user-field-get
text:name="ce:surname">snm</text:user-field-get>
</text:span>
<text:span>Wang
</text:span>
<text:span>
<text:user-field-get
text:name="ce:e-address">ead</text:user-field-get>
</text:span>
<text:span>jwang(_at_)ustc(_dot_)edu</text:span>
<text:span>
<text:user-field-get
text:name="/ce:e-address">/ead</text:user-field-get>
</text:span>
<text:user-field-get
text:name="/ce:author">/au</text:user-field-get>
</text:p>

to

<ce:author>
<ce:given-name>Jun</ce:given-name>
<ce:surname>Wang</ce:surname>
<ce:e-address>jwang(_at_)ustc(_dot_)edu</ce:e-address>
</ce:author>

is it possible?

well as you can see, I used the attribute of
<text:user-field-get text:name="____"> as the name of
my tags. In my XSLT, I cannot get the data e.g., 

<ce:author>
<ce:given-name>
<ce:surname>
<ce:e-address></ce:e-address>

and since I cannot get the data, I cannot also
generate the end tags.

Please help.

regards.

aaron




              
____________________________________________________
Start your day with Yahoo! - make it your home page 
http://www.yahoo.com/r/hs 
 

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





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