Mailing List Archive: 49091 messages
  • Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 

Creating .XSL files with Rebol (and my ML dialect)

 [1/1] from: AJMartin::orcon::net::nz at: 24-Dec-2003 22:50


How to create a .xsl (XML Style) file with Rebol and my ML dialect: write %STAR.xsl ML [ <?xml version="1.0"?> <!-- Created by %STAR.r --> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" xmlns:html="http://www.w3.org/TR/REC-html40"
> [
<xsl:output method="xml" encoding="iso-8859-1" /> <xsl:template match="ss:Workbook"> [ <Rebol> [ <xsl:text> "^/; Indirectly created by %STAR.r." <xsl:for-each select="ss:Worksheet/ss:Table"> [ <xsl:text> "^/[^/" <xsl:for-each select="ss:Row"> [ <xsl:text> "^-[" <xsl:for-each select="ss:Cell"> [ <xsl:apply-templates /> <xsl:if test="not(position()=last())"> [ <xsl:text> " " ] ] <xsl:text> "]^/" ] <xsl:text> "^-]^/" ] ] ] <xsl:template match="ss:Workbook/ss:Worksheet/ss:Table/ss:Row/ss:Cell/ss:Data"> [ <xsl:if test="@ss:Type='String'"> [ <xsl:text> {"} <xsl:apply-templates /> <xsl:text> {"} ] <xsl:if test="@ss:Type='Number'"> [ <xsl:apply-templates /> ] <xsl:if test="@ss:Type='DateTime'"> [ <xsl:text> "#" <xsl:apply-templates /> ] ] ] ] Which ends up creating a Rebol data file from a MS Excel .XML spreadsheet when run through my newly built C# XML Stylesheet processor! /* %"XML Transform.cs" 1/December/2003 */ using System; using System.IO; using System.Xml; using System.Xml.XPath; using System.Xml.Xsl; class XML_Transform { public static void Main (string[] args) { if (3 == args.Length) { XslTransform xt = new XslTransform (); xt.Load (args[1]); xt.Transform (args[2], args[0], null); } } } /* End. */ Now if only I had C# dialect for Rebol... :) Andrew J Martin Speaking in tongues and performing miracles. ICQ: 26227169 http://www.rebol.it/Valley/ http://valley.orcon.net.nz/ http://Valley.150m.com/