Subject: Re: [xsl] Flat file to hierarchy? From: Wendell Piez <wapiez@xxxxxxxxxxxxxxxx> Date: Mon, 10 Jun 2002 16:07:24 -0400 |
<xsl:key name="Records-by-parent" match="Record[F1='C']" use="generate-id(preceding-sibling::Record[F1='A' or F1='P'][1])"/>
<xsl:key name="Records-by-parent" match="Record[F1='A']" use="generate-id(preceding-sibling::Record[F1='P'][1])"/>
Good luck, Wendell
Hello,
I have a flat file that needs to get turned into a hierarchy based on the content of a certain element.
If the content of the element is P, a top level element should be created. If content is C, second level; A third level. Each content=P restarts the leveling process--ie, each A or C will only be a child of the immediate previous P. As and Cs can follow Ps in any order, but if As follow a C they are a child of that C until another C or P occurs. (Please see the sample data below.)
The answer must be recursion, but could anyone help show me how to generate this? In a flat file I'm not sure how to test so that As and Cs will be children only of the immediately preceding P.
Thanks in advance, Allison Denny
Sample input: <RECORDS> <RECORD> <F1>P</F1> <F2>21142</F2> <F3>19300</F3> <F4>Congressional Committees</F4> </RECORD> <RECORD> <F1>C</F1> <F2>26102</F2> <F3>19400</F3> <F4>General Accounting Office</F4> </RECORD> <RECORD> <F1>A</F1> <F2>26104</F2> <F3>19400</F3> <F4/> <F5>GAO/OIMC/OPA-00-1A</F5> <F6>26104-17.1</F6> <F7>L</F7> </RECORD> <RECORD> <F1>A</F1> <F2>26104</F2> <F3>19400</F3> <F4/> <F5>GAO/OIMC/OPA-00-1B</F5> <F6>26104-17.2</F6> <F7>L</F7> </RECORD> <RECORD> <F1>P</F1> <F2>17632</F2> <F3>18000</F3> <F4>U.S. National Alcohols Fuels Commission</F4> </RECORD> </RECORDS>
Sample output: <SUDOC-INDEX> <AGENCY-GROUP> <AGENCY-GROUP-HEAD>Congressional Committees</AGENCY-GROUP-HEAD> <AGENCY-GROUP-LEVEL-TWO> <AGENCY-LEVEL-TWO-HEAD>General Accounting Office</AGENCY-LEVEL-TWO-HEAD> <AGENCY-RPT-NO-ENTRY>
<AGENCY-RPT-NO>GAO/OIMC/OPA-00-1A</AGENCY-RPT-NO> <ACCESSION-NO-GROUP> <ISSUE-NUMBER>L</ISSUE-NUMBER>
<ACCESSION-NO>26104-17.1</ACCESSION-NO> </ACCESSION-NO-GROUP> </AGENCY-RPT-NO-ENTRY> <AGENCY-RPT-NO-ENTRY>
<AGENCY-RPT-NO>GAO/OIMC/OPA-00-1B</AGENCY-RPT-NO> <ACCESSION-NO-GROUP> <ISSUE-NUMBER>L</ISSUE-NUMBER>
<ACCESSION-NO>26104-17.2</ACCESSION-NO> </ACCESSION-NO-GROUP> </AGENCY-RPT-NO-ENTRY> </AGENCY-GROUP-LEVEL-TWO> </AGENCY-GROUP> <AGENCY-GROUP> <AGENCY-GROUP-HEAD>U.S. National Alcohols Fuels Commission</AGENCY-GROUP-HEAD> Etc... </SUDOC-INDEX>
====================================================================== Wendell Piez mailto:wapiez@xxxxxxxxxxxxxxxx Mulberry Technologies, Inc. http://www.mulberrytech.com 17 West Jefferson Street Direct Phone: 301/315-9635 Suite 207 Phone: 301/315-9631 Rockville, MD 20850 Fax: 301/315-8285 ---------------------------------------------------------------------- Mulberry Technologies: A Consultancy Specializing in SGML and XML ======================================================================
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] Flat file to hierarchy?, Denny, Allison M. (L | Thread | Re: [xsl] Flat file to hierarchy?, Denny, Allison M. (L |
[xsl] Events for text boxs, Russ Determan | Date | [xsl] ANN: update to XSLToolbox, Josh Lubell |
Month |