[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] 4000 nodes?
Dear Friends, I am trying to figure out why I am getting alot of repeating nodes. Could someone point out my error. What I am trying to get is all the C1011 nodes. 1. If C1011 not nested in C1012, then C1011 node. 2. If C1011 is nested in C1012, then TITLE and C1011. I include a C1012 node, my XSL and my Schema. Mike F. XML:=================== <SONG><SCORE><C1012><TITLE>Opening act II</TITLE> <C1011>see The farmer and the cowman</C1011></C1012></SCORE></SONG> XSL:=================== <?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output version="1.0" method="xml" indent="yes" encoding="utf-8" omit-xml-declaration="no" standalone="no" media-type="text/xml"/> <xsl:template match="/"> <xsl:for-each select="//SHOW"> <xsl:element name="C03"> <xsl:attribute name="LEVEL">collection</xsl:attribute> <xsl:apply-templates select="C1001"/> <xsl:apply-templates select="SONG"/> </xsl:element> </xsl:for-each> </xsl:template> <xsl:template match="C1011"> <xsl:apply-templates select="//C1011"/> </xsl:template> <xsl:template match="SONG"> <xsl:apply-templates select="SCORE"/> <xsl:apply-templates select="SKETCH"/> <xsl:apply-templates select="MMUSIC"/> <xsl:apply-templates select="MSCSCORE"/> </xsl:template> <xsl:template match="SCORE"> <xsl:apply-templates select="C1012"/> <xsl:apply-templates select="C1011"/> </xsl:template> <xsl:template match="SKETCH"> <xsl:apply-templates select="//C1011"/> </xsl:template> <xsl:template match="MSCSCORE"> <xsl:apply-templates select="//C1011"/> </xsl:template> <xsl:template match="MMUSIC"> <xsl:apply-templates select="//C1011"/> </xsl:template> <xsl:template match="TITLE"> </xsl:template> <xsl:template match="C1001"> <xsl:apply-templates select="//C1011"/> </xsl:template> <xsl:template match="C1011xxx"> <C1011> <xsl:copy-of select="concat(' ** ', node(), ' *in* ', ancestor::SHOW/C1001/TITLE, ' *root* ', name(/*))"/> </C1011> </xsl:template> <xsl:template match="C1012xxx"> <xsl:apply-templates select="TITLE"/> <C1011> <xsl:copy-of select="concat(ancestor::SCORE/C1012/TITLE, ' ** ', node(), ' *in* ', ancestor::SHOW/C1001/TITLE, ' *root* ', name(/*))"/> </C1011> </xsl:template> <xsl:template match="C1011"> <xsl:choose> <xsl:when test="contains(., ' [')"> </xsl:when> <xsl:otherwise> <C1011> <xsl:copy-of select="concat(node(), ' *in* ', ancestor::SHOW/C1001/TITLE, ' *root* ', name(/*))"/> </C1011> </xsl:otherwise> </xsl:choose> </xsl:template> <xsl:template match="C1012"> <xsl:for-each select="C1011"> <xsl:choose> <xsl:when test="contains(., ' [')"> </xsl:when> <xsl:otherwise> <C1011> <xsl:copy-of select="concat(ancestor::SCORE/C1012/TITLE, ' ** ', node(), ' *in* ', ancestor::SHOW/C1001/TITLE, ' *root* ', name(/*))"/> </C1011> </xsl:otherwise> </xsl:choose> </xsl:for-each> </xsl:template> </xsl:stylesheet> SCHEMA:================ <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE schema> <schema> <element name="RODGERS1" occurs="1"> <element name="SHOW" occurs="85"> <element name="C1001" occurs="85"> <element name="TITLE" occurs="86"/> <element name="UNITDATE" occurs="101"/> <element name="PERSNAME" occurs="78"/> <element name="C1011" occurs="5"/> <element name="C1007" occurs="4"> <element name="TITLE" occurs="2"/> <element name="PERSNAME" occurs="2"/> <element name="CORPNAME" occurs="1"/> </element> </element> <element name="SONG" occurs="779"> <element name="C1002" occurs="592"/> <element name="SCORE" occurs="875"> <element name="C1003" occurs="735"/> <element name="C1004" occurs="735"> <element name="DATE" occurs="1"/> <element name="EMPH" occurs="16"/> </element> <element name="C1005" occurs="735"/> <element name="C1007" occurs="234"> <element name="DATE" occurs="19"/> <element name="CORPNAME" occurs="3"/> <element name="TITLE" occurs="123"> <element name="EMPH" occurs="3"/> </element> <element name="GEOGNAME" occurs="4"/> <element name="PERSNAME" occurs="6"/> </element> <element name="C1006" occurs="299"> <element name="TITLE" occurs="2"/> <element name="PERSNAME" occurs="2"/> </element> <element name="C1012" occurs="140"> <element name="TITLE" occurs="140"/> <element name="C1011" occurs="160"/> </element> <element name="C1009" occurs="13"> <element name="HEAD" occurs="13"/> <element name="ITEM" occurs="48"> <element name="TITLE" occurs="48"/> <element name="C1007" occurs="2"> <element name="TITLE" occurs="3"/> <element name="CORPNAME" occurs="1"/> </element> </element> </element> <element name="C1011" occurs="42"/> <element name="C1010" occurs="32"> <element name="PERSNAME" occurs="32"/> </element> </element> <element name="SKETCH" occurs="67"> <element name="C1003" occurs="67"/> <element name="C1008" occurs="67"> <element name="TITLE" occurs="67"/> <element name="UNITDATE" occurs="1"/> </element> <element name="C1005" occurs="67"> <element name="PERSNAME" occurs="1"/> </element> <element name="C1009" occurs="62"> <element name="HEAD" occurs="62"/> <element name="ITEM" occurs="355"> <element name="TITLE" occurs="246"> <element name="EMPH" occurs="1"/> </element> <element name="LIST" occurs="109"> <element name="HEAD" occurs="109"/> <element name="ITEM" occurs="262"> <element name="TITLE" occurs="262"> <element name="EMPH" occurs="1"/> </element> <element name="C1007" occurs="26"> <element name="PERSNAME" occurs="1"/> <element name="TITLE" occurs="29"/> <element name="DATE" occurs="1"/> </element> <element name="C1010" occurs="1"> <element name="PERSNAME" occurs="2"/> </element> <element name="C1011" occurs="2"/> </element> </element> <element name="C1007" occurs="13"> <element name="TITLE" occurs="10"/> <element name="DATE" occurs="2"/> <element name="CORPNAME" occurs="1"/> <element name="SUBJECT" occurs="2"/> </element> <element name="C1011" occurs="2"/> </element> </element> <element name="C1007" occurs="4"> <element name="TITLE" occurs="3"/> <element name="DATE" occurs="1"/> </element> <element name="C1010" occurs="2"> <element name="PERSNAME" occurs="2"/> </element> <element name="C1006" occurs="1"/> </element> <element name="MMUSIC" occurs="15"> <element name="C1003" occurs="15"/> <element name="C1008" occurs="15"> <element name="TITLE" occurs="9"/> <element name="UNITDATE" occurs="6"/> <element name="PERSNAME" occurs="3"/> <element name="CORPNAME" occurs="3"/> <element name="GEOGNAME" occurs="1"/> </element> <element name="C1005" occurs="15"> <element name="TITLE" occurs="1"/> </element> <element name="C1009" occurs="1"> <element name="HEAD" occurs="1"/> <element name="ITEM" occurs="4"> <element name="TITLE" occurs="4"/> </element> </element> <element name="C1011" occurs="1"/> <element name="C1007" occurs="1"> <element name="TITLE" occurs="1"/> </element> </element> </element> </element> </element> </schema> __________________________________________________ Do You Yahoo!? Yahoo! Sports - live college hoops coverage http://sports.yahoo.com/ XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|