| 
 
Subject: Re: [xsl] using keys as cross-reference From: "G. Ken Holman" <gkholman@xxxxxxxxxxxxxxxxxxxx> Date: Sun, 20 Jan 2002 14:33:04 -0500  | 
I am interested to implement cross-reference using keys (suggested by Jeni as well as documented in the XSLT Programmer Reference 2nd Ed. on p.501-3). My situation is I have more readable headers in Excel (i.e. *Organization Unique ID)that needs to be translated into DTD attribute names (i.e. OrganizationCode). I intend to put the name-value mapping in a separate XML, which I want to use keys to retrieve the translation.
Are there other more effective solutions?
t:\ftemp>type xlate.xml <?xml version="1.0" encoding="utf-8"?> <categories> <category ref="OrganizationCode">Organization Unique ID</category> <category ref="OrganizationName">Organization Name</category> </categories> t:\ftemp>type xiaocun.xml <?xml version="1.0" encoding="utf-8"?> <items> <item OrganizationCode='123'/> <item OrganizationName='ABC Corporation'/> <item OrganizationCode='234'/> </items> t:\ftemp>type xiaocun.xsl <?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="/">
  <results>
    <xsl:for-each select="//item">
      <result>
        <xsl:variable name="attr" select="name(@*)"/>
        <xsl:for-each select="$headings">
          <xsl:value-of select="key('headings',$attr)"/>
        </xsl:for-each>
        <xsl:text>: </xsl:text>
        <xsl:value-of select="@*"/>
      </result>
    </xsl:for-each>
  </results>
</xsl:template>t:\ftemp>saxon xiaocun.xml xiaocun.xsl <?xml version="1.0" encoding="utf-8"?> <results> <result>Organization Unique ID: 123</result> <result>Organization Name: ABC Corporation</result> <result>Organization Unique ID: 234</result> </results> t:\ftemp>rem Done!
-- Upcoming: 3-days XSLT/XPath and/or 2-days XSLFO - Feb 18-22, 2002
G. Ken Holman mailto:gkholman@xxxxxxxxxxxxxxxxxxxx Crane Softwrights Ltd. http://www.CraneSoftwrights.com/s/ Box 266, Kars, Ontario CANADA K0A-2E0 +1(613)489-0999 (Fax:-0995) ISBN 0-13-065196-6 Definitive XSLT & XPath ISBN 1-894049-08-X Practical Transformation Using XSLT and XPath ISBN 1-894049-07-1 Practical Formatting Using XSLFO XSL/XML/DSSSL/SGML/OmniMark services, books(electronic, printed), articles, training(instructor-live,Internet-live,web/CD,licensed) Next public training: 02-02-11,12,14,15,18,21,03-04,05,06,08,11, - 04-08,09,10,12,05-14,15,06-04,07
| Current Thread | 
|---|
  | 
| <- Previous | Index | Next -> | 
|---|---|---|
| [xsl] using keys as cross-reference, Xiaocun Xu | Thread | [xsl] XPath function after grouping, Michael Bauerfeld | 
| Re: [xsl] collapsing consecutive el, Saverio Perugini | Date | Re: [xsl] collapsing consecutive el, G. Ken Holman | 
| Month |