Subject: [xsl] Code Structure Question From: "Michael A. Thompson" <mathomp@xxxxxxxxxxxxxx> Date: Tue, 18 Feb 2003 14:56:48 -0500 |
<xsl:output indent="yes" method="xml" /> <!-- process the AAA tag --> <xsl:template match="AAA"> <ADAD> <xsl:apply-templates select="DDD"/> </ADAD> </xsl:template> <!-- AAA tag --> <xsl:template match="DDD"> <WWW value="{./@title}"> <!-- get COMM data --> <xsl:apply-templates select="COMM"/>
<!-- process all BBB tags to produce a list --> <xsl:call-template name="doBBB"/>
<!-- now process each entity in the list --> <xsl:call-template name="doBody"/>
</WWW> </xsl:template> <xsl:template match="COMM"> <ZZZ> <XXX> <xsl:value-of select="."/> </XXX> </ZZZ> </xsl:template> <xsl:template name="doBBB"> <YYY> <xsl:for-each select="BBB"> <xsl:element name="UUU" use-attribute-sets="id-class"/> </xsl:for-each> </YYY> </xsl:template> <!--Attribute lists --> <xsl:attribute-set name="id-class"> <xsl:attribute name="id"> <xsl:value-of select="./@ident"/> </xsl:attribute> <xsl:attribute name="class"> <!-- store type --> <xsl:variable name="type" select="./III/HHH"/> <!-- test type --> <xsl:if test="starts-with($type, 'M')"> <!-- if true output text --> <xsl:text>C_A_M</xsl:text> </xsl:if> </xsl:attribute> </xsl:attribute-set> <!-- process body, problem is that I need to still process BBB data --> <xsl:template name="doBody"> <xsl:variable name="type" select="../III/HHH"/> <!-- this will determine how we should process the list elements --> <xsl:if test="starts-with($type, 'M')"> <!-- here, if true run this routine --> <!-- <xsl:call-template name="doIT"/> --> <xsl:text>Found M</xsl:text> </xsl:if> <!-- Other conditions will continue here --> </xsl:template>
</xsl:stylesheet> ========================================= XML file: <?xml version="1.0" encoding="UTF-8"?> <AAA> <DDD ident="db_1" title="Temporary"> <COMM>This is a Test</COMM> <BBB ident="x_1" title="title 1 text here"> <CCC> <EEE> <FFF>text here 1</FFF> </EEE> <JJJ ident="x_1"> <LLL> <MMM ident="x_1_A1"> <EEE> <FFF>Sub text A1 here</FFF> </EEE> </MMM> <MMM ident="x_1_A2"> <EEE> <FFF>Sub Text A2 here</FFF> </EEE> </MMM> </LLL> </JJJ> </CCC> <III> <HHH>M text here</HHH> <GGG title="M C"> <STS> <AFA>x_1_A1</AFA> </STS> </GGG> <GGG title="M I C"> <STS> <AFA>x_1_A2</AFA> </STS> </GGG> </III> <NNN ident="x_1_C"> <EEE> <FFF>C text here</FFF> </EEE> </NNN> <NNN ident="x_1_IC"> <EEE> <FFF>I C text here</FFF> </EEE> </NNN> </BBB> <BBB ident="x_2" title="title 2 here"> <CCC> <EEE> <FFF>text 2 here</FFF> </EEE> <JJJ ident="x_2"> <LLL> <MMM ident="x_2_A1"> <EEE> <FFF>sub text A1 here</FFF> </EEE> </MMM> <MMM ident="X_2_A2"> <EEE> <FFF>Sub Text A2 here</FFF> </EEE> </MMM> <MMM ident="x_2_A3"> <EEE> <FFF>Sub Text A3 here</FFF> </EEE> </MMM> <MMM ident="x_2_A4"> <EEE> <FFF>SubText A4 here</FFF> </EEE> </MMM> <MMM ident="x_2_A5"> <EEE> <FFF>SubText A5 here</FFF> </EEE> </MMM> </LLL> </JJJ> </CCC> <III> <HHH>M text here</HHH> <GGG title="M I C"> <STS> <AFA>x_2_A1</AFA> </STS> </GGG> <GGG title="M C"> <STS> <AFA>x_2_A2</AFA> </STS> </GGG> <GGG title="M I C"> <STS> <AFA>x_2_A3</AFA> </STS> </GGG> <GGG title="M I C"> <STS> <AFA>x_2_A4</AFA> </STS> </GGG> <GGG title="M C"> <STS> <AFA>x_2_A5</AFA> </STS> </GGG> </III> <NNN ident="x_2_C"> <EEE> <FFF>C text here</FFF> </EEE> </NNN> <NNN ident="x_2_C"> <EEE> <FFF>C text here</FFF> </EEE> </NNN> <NNN ident="x_2_IC"> <EEE> <FFF>Text here</FFF> </EEE> </NNN> </BBB> </DDD> </AAA>
========================================= Output format xml file: <?xml version="1.0" encoding="UTF-8"?> <ADAD> <WWW value="Temporary"/> <ZZZ> <XXX>title 1 text here</XXX> </ZZZ> <YYY> <UUU class="C_A_M" id="x_1"/> <UUU class="C_A_M" id="x_2"/> </YYY> <C_A_M id="x_1"> <SSS> <XXX>text here 1</XXX> <TTT> <VVV value="true"/> <OOO value="true"/> </TTT> </SSS> <QQQ id="x_1_A1" position="1"> <XXX>Sub text A1 here</XXX> </QQQ> <QQQ id="x_1_A2" position="2"> <XXX>Sub Text A2 here</XXX> </QQQ> <RRR> <VVV>C text here</VVV> <ABAB>I C text here</ABAB> <ACAC id="x_1_A1"/> </RRR> </C_A_M> <C_A_M> <SSS> <XXX>text 2 here</XXX> <TTT> <VVV value="true"/> <OOO value="true"/> </TTT> </SSS> <QQQ id="x_2_A1" position="1"> <XXX>Sub text A1 here</XXX> </QQQ> <QQQ id="x_2_A2" position="2"> <XXX>Sub Text A2 here</XXX> </QQQ> <QQQ id="x_2_A3" position="3"> <XXX>Sub text A3 here</XXX> </QQQ> <QQQ id="x_2_A4" position="4"> <XXX>Sub Text A4 here</XXX> </QQQ> <QQQ id="x_2_A5" position="5"> <XXX>Sub Text A4 here</XXX> </QQQ> <RRR> <VVV>C text here C text here</VVV> <ABAB>I C text here</ABAB> <ACAC answer_id="x_2_A1"/> </RRR> </C_A_M> </ADAD>
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] Selecting from a node-set, Martinez, Brian | Thread | [xsl] Comma seperated parameter val, Karl Stubsjoen |
RE: xslt core and intuition was RE:, B. Tommie Usdin | Date | Re: [xsl] Re: How can I translate a, Chris Loschen |
Month |