Tobias Denner: XML mit XSL umwandeln

Beitrag lesen

OK.. Ich komme trotzdem nicht weiter. Hier meine XML:

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

<?xml version="1.0" encoding="iso-8859-1" ?>

  • <BMECAT version="1.2" xmlns="http://www.bmecat.org/bmecat/1.2/bmecat_new_catalog">
  • <HEADER>
      <GENERATOR_INFO>Created by LxBMECAT 1.0</GENERATOR_INFO>
  • <CATALOG>
      <LANGUAGE>DEU</LANGUAGE>
      <CATALOG_ID />
      <CATALOG_VERSION>1.0</CATALOG_VERSION>
      <CURRENCY>EUR</CURRENCY>
  • <DATETIME type="generation_date">
      <TIME>20:24:46</TIME>
      <DATE>2006-09-15</DATE>
      </DATETIME>
      </CATALOG>
  • <SUPPLIER>
      <SUPPLIER_NAME>Lexware faktura+auftrag</SUPPLIER_NAME>
      </SUPPLIER>
      </HEADER>
  • <T_NEW_CATALOG>
  • <CATALOG_GROUP_SYSTEM>
  • <CATALOG_STRUCTURE type="root">
      <GROUP_ID>1</GROUP_ID>
      <GROUP_NAME>Produktgruppen</GROUP_NAME>
      <PARENT_ID>0</PARENT_ID>
      <GROUP_DESCRIPTION />
      </CATALOG_STRUCTURE>
  • <CATALOG_STRUCTURE type="leaf">
      <GROUP_ID>6</GROUP_ID>
      <GROUP_NAME>Brother Tinte</GROUP_NAME>
      <PARENT_ID>1</PARENT_ID>
      </CATALOG_STRUCTURE>
      </CATALOG_GROUP_SYSTEM>
  • <ARTICLE>
      <SUPPLIER_AID>18</SUPPLIER_AID>
      <MIME_INFO />
  • <ARTICLE_ORDER_DETAILS>
      <ORDER_UNIT>C62</ORDER_UNIT>
      </ARTICLE_ORDER_DETAILS>
  • <ARTICLE_DETAILS>
      <DESCRIPTION_SHORT>Brother: Kompatible Patrone LC-900 BK</DESCRIPTION_SHORT>
      <DESCRIPTION_LONG>TEXT</DESCRIPTION_LONG>
      </ARTICLE_DETAILS>
  • <ARTICLE_FEATURES>
  • <FEATURE>
      <FNAME>Gewicht</FNAME>
      <FVALUE>1.000000</FVALUE>
      </FEATURE>
  • <FEATURE>
      <FNAME>artikelnr</FNAME>
      <FVALUE>test csv</FVALUE>
      </FEATURE>
  • <FEATURE>
      <FNAME>beschreibung</FNAME>
      </FEATURE>
      </ARTICLE_FEATURES>
  • <ARTICLE_PRICE_DETAILS>
  • <ARTICLE_PRICE type="net_list">
      <PRICE_AMOUNT>2.69</PRICE_AMOUNT>
      <TAX>0.1600</TAX>
      </ARTICLE_PRICE>
      </ARTICLE_PRICE_DETAILS>
  • <USER_DEFINED_EXTENSIONS>
      <UDX.ARBITRARY_DATA>3;2.69</UDX.ARBITRARY_DATA>
      </USER_DEFINED_EXTENSIONS>
      </ARTICLE>
  • <ARTICLE_TO_CATALOGGROUP_MAP>
      <ART_ID>18</ART_ID>
      <CATALOG_GROUP_ID>6</CATALOG_GROUP_ID>
      </ARTICLE_TO_CATALOGGROUP_MAP>
      </T_NEW_CATALOG>
      </BMECAT>

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

Hier meine XLS mit zwei Beispielen:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text"/>
<xsl:template match="/">
<xsl:apply-templates select="T_NEW_CATALOG"/>
</xsl:template>
<xsl:template match="T_NEW_CATALOG">
<xsl:value-of select="ARTICLE/ARTICLE_FEATURES/FEATURE[FNAME = 'artikelnr']/FVALUE"/>;
<xsl:value-of select="ARTICLE/ARTICLE_DETAILS/DESCRIPTION_LONG"/>;
xsl:text
</xsl:text>
</xsl:template>
</xsl:stylesheet>

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

Das Resultat ist eine leere CSV. Der Fehler müsste im template select und template match liegen. Aber ich finde Ihn nicht.