Sebastian: Aus Excel-Tabelle sauberes XML generieren???

Beitrag lesen

Um die unnötigen Infos auszublenden, sitz ich grade an einem XSL-Stylesheet, welches:

a) das Excel-XML-Spreadsheet in ein neues XML-Dokument transformiert.
b) neue XML-Elemente erzeugt, die wiederrum namentlich schon in einem XSD-Schema vorgegeben sind. (--> soweit noch problemlos)
c) die Excel-Zelleninhalte dann von den Excel-Hieroglyphen auf die neuen Elemente mappt.

--> und hier hakts. Das Problem scheint zu sein, dass ich die Spreadsheet-Elemente nicht selecten/matchen kann (, weder mit den eigentlichen templates noch for-each-schleifen)?!
Liegt das evtl. an den Namespaces aus dem Excel-Spreadsheet?

Excel-Spreadsheet:

<?xml version="1.0"?>
 <?mso-application progid="Excel.Sheet"?>
 <Workbook
  xmlns="urn:schemas-microsoft-com:office:spreadsheet"
  xmlns:o="urn:schemas-microsoft-com:office:office"
  xmlns:x="urn:schemas-microsoft-com:office:excel"
  xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet"
  xmlns:html="http://www.w3.org/TR/REC-html40">
.
.
  <Worksheet ss:Name="SheetForMatrix">
    <Table>
     <Row ss:AutoFitHeight="0" ss:Height="176.25">
        <Cell ss:StyleID="s82">
  <Data ss:Type="String">DocumentID</Data>
  <NamedCell ss:Name="DocumentID"/>
        </Cell>
.
.

die Namespaces hab ich jetzt alle mal im Prolog des Stylesheets angegeben. oder muss ich sie woanders hinpacken oder doch ignorieren?

------------------------

Welchen XPath-Ausdruck müsste ich dann einer for-Each-Schleife mitgeben, damit sie für jedes NamedCell-Element (welches das Label ss:Name="DocumentType" hat), den jeweils zugehörigen Wert (der aus "Data" davor) in einem neuen Element ausgibt?
mit folgendem gehts scheinbar nicht:

<xsl:for-each select="Row/Cell/NamedCell[@ss:Name='DocumentID']"
     <xsl:element name="DocumentID">
 <value-of select...
        .
        .
er kommt aber schon gar nicht soweit runter, wenn ich das in <xsl:template match="/Worksheet[@ss:Name='SheetForMatrix']/Table"> verpacken möchte...
Heisst für mich, es liegt irgendwie an dem SS, oder dem Default Namespace...

Komisch fand ich, dass da scheinbar der gleiche URI 2x vergeben ist:
 xmlns="urn:schemas-microsoft-com:office:spreadsheet"
 xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet"

Hilfe ... :)