[xsl] Nodes have the same level

Subject: [xsl] Nodes have the same level
From: aaron apigo <aaronjose_apigo2001@xxxxxxxxx>
Date: Tue, 30 Aug 2005 23:44:39 -0700 (PDT)
Hi,
   I have this XML input 

<text:p text:style-name="P41">
<text:bookmark-start text:name="bib1"/>
<text:span text:style-name="T4">
<text:user-field-get text:name="ce:bib-reference">ITEM
ID :
</text:user-field-get>
</text:span>
<text:span text:style-name="T4">
<text:user-field-get
text:name="[1]">[1]</text:user-field-get>
</text:span>
</text:p>
<text:p text:style-name="P42">
<text:user-field-get
text:name="sb:reference">BB</text:user-field-get>
</text:p>
<text:p text:style-name="P43">
<text:user-field-get
text:name="sb:contribution">CONTRIBUTION
</text:user-field-get>
</text:p>
<text:p text:style-name="P40">
<text:user-field-get text:name="sb:author">Author
:</text:user-field-get>
<text:span text:style-name="T1">
<text:user-field-get text:name="ce:given-name">fnm
</text:user-field-get>
</text:span>
<text:span text:style-name="T1">R.F.</text:span>
<text:span text:style-name="T1">
<text:user-field-get text:name="ce:surname">snm
</text:user-field-get>
</text:span>
<text:span text:style-name="T1">Ziolo</text:span>
</text:p>
<text:p text:style-name="P40">
<text:user-field-get text:name="sb:author">Author
:</text:user-field-get>
<text:span text:style-name="T1">
<text:user-field-get text:name="ce:given-name">
fnm</text:user-field-get>
</text:span>
<text:span text:style-name="T1">E.P.</text:span>
<text:span text:style-name="T1">
<text:user-field-get text:name="ce:surname">
snm</text:user-field-get>
</text:span>
<text:span text:style-name="T1">Giannelis</text:span>
</text:p>
<text:p text:style-name="P43">
<text:user-field-get
text:name="sb:issue">ISSUE</text:user-field-get>
</text:p>
<text:p text:style-name="P43">
<text:user-field-get
text:name="sb:series">SERIES</text:user-field-get>
</text:p>
<text:p text:style-name="P40">
<text:user-field-get text:name="sb:title">Title
:</text:user-field-get>
Science</text:p>
<text:p text:style-name="P40">
<text:user-field-get text:name="sb:volume-nr">Vol nr
:</text:user-field-get>257</text:p>
<text:p text:style-name="P40">
<text:user-field-get text:name="sb:date">Date
:</text:user-field-get>1992</text:p>
<text:p text:style-name="P43">
<text:user-field-get text:name="sb:pages">Pages
:</text:user-field-get>
</text:p>
<text:p text:style-name="P40">
<text:user-field-get
text:name="sb:first-page">First-Page
:</text:user-field-get>219
<text:bookmark-end text:name="bib1"/>
</text:p>
<text:p text:style-name="P41"/>
<text:p text:style-name="P41">
<text:bookmark-start text:name="bib2"/>
<text:span text:style-name="T4">
<text:user-field-get text:name="ce:bib-reference">ITEM
ID
:</text:user-field-get>
</text:span>
<text:span text:style-name="T4">
<text:user-field-get
text:name="[2]">[2]</text:user-field-get>
</text:span>
</text:p>
<text:p text:style-name="P42">
<text:user-field-get
text:name="sb:reference">BB</text:user-field-get>
</text:p>
<text:p text:style-name="P43">
<text:user-field-get text:name="sb:contribution">
CONTRIBUTION</text:user-field-get>
</text:p>
<text:p text:style-name="P40">
<text:user-field-get text:name="sb:author">Author
:</text:user-field-get>
<text:span text:style-name="T1">
<text:user-field-get text:name="ce:given-name">
fnm</text:user-field-get>
</text:span>
<text:span text:style-name="T1">D.</text:span>
<text:span text:style-name="T1">
<text:user-field-get text:name="ce:surname">
snm</text:user-field-get>
</text:span>
<text:span text:style-name="T1">Wirtz</text:span>
</text:p>
<text:p text:style-name="P40">
<text:user-field-get text:name="sb:author">Author
:</text:user-field-get>
<text:span text:style-name="T1">
<text:user-field-get text:name="ce:given-name">
fnm</text:user-field-get>
</text:span>
<text:span text:style-name="T1">M.</text:span>
<text:span text:style-name="T1">
<text:user-field-get text:name="ce:surname">
snm</text:user-field-get>
</text:span>
<text:span text:style-name="T1">Fermigier</text:span>
</text:p>
<text:p text:style-name="P43">
<text:user-field-get
text:name="sb:issue">ISSUE</text:user-field-get>
</text:p>
<text:p text:style-name="P43">
<text:user-field-get
text:name="sb:series">SERIES</text:user-field-get>
</text:p>
<text:p text:style-name="P40">
<text:user-field-get text:name="sb:title">Title
:</text:user-field-get>
Phys. Rev. Lett</text:p>
<text:p text:style-name="P40">
<text:user-field-get text:name="sb:volume-nr">Vol nr
:</text:user-field-get>72</text:p>
<text:p text:style-name="P40">
<text:user-field-get text:name="sb:date">Date
:</text:user-field-get>1994</text:p>
<text:p text:style-name="P43">
<text:user-field-get text:name="sb:pages">Pages
:</text:user-field-get>
</text:p>
<text:p text:style-name="P40">
<text:user-field-get
text:name="sb:first-page">First-Page
:</text:user-field-get>2294<text:bookmark-end
text:name="bib2"/>
</text:p>

and I want it to transform like this

<ce:bib-reference id="bib1">
<ce:label>[1]</ce:label>  
<sb:reference>  
<sb:contribution>
<sb:authors>  
<sb:author>
<ce:given-name>R.F.</ce:given-name>
<ce:surname>Ziolo</ce:surname>
</sb:author>  
<sb:author>
<ce:given-name>E.P.</ce:given-name>
<ce:surname>Giannelis</ce:surname></sb:author>  
</sb:authors>
 </sb:contribution>
<sb:host>
<sb:issue>  
 <sb:series>  

<sb:title><sb:maintitle>Science</sb:maintitle></sb:title>
 
 <sb:volume-nr>257</sb:volume-nr>  
 </sb:series>
 <sb:date>1992</sb:date>
</sb:issue>  
<sb:pages> 
<sb:first-page>219</sb:first-page></sb:pages>
</sb:host>
</sb:reference>
 </ce:bib-reference> 
 
<ce:bib-reference id="bib2">
<ce:label>[2]</ce:label>  
<sb:reference>  
<sb:contribution>
<sb:authors>  
<sb:author>
<ce:given-name>D.</ce:given-name>
<ce:surname>Wirtz</ce:surname>
</sb:author>  
<sb:author>
<ce:given-name>M.</ce:given-name>
<ce:surname>Fermigier</ce:surname>
</sb:author>  
</sb:authors>
</sb:contribution>
<sb:host>
<sb:issue>  
<sb:series>  
<sb:title><sb:maintitle>Phys. Rev.
Lett</sb:maintitle></sb:title>  
<sb:volume-nr>72</sb:volume-nr>  
</sb:series>
<sb:date>1994</sb:date>
</sb:issue>  
<sb:pages> 
<sb:first-page>2294</sb:first-page></sb:pages>
</sb:host>
</sb:reference>
</ce:bib-reference>

Could this possible?

It's very difficult for me to transform this XML
because the nodes have the same level (text:p), I
cannot used the <xsl:for-each> or maybe my stylesheet
was wrong.
Can somebody help me with this or any idea how can I
transform it?

regards.

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

Current Thread