Announcement

Collapse
No announcement yet.

Anfängerproblem mit XML Struktur

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Anfängerproblem mit XML Struktur

    Hallo,

    Ich bin Anfänger und habe folgendes Problem mit einer XSLT Transformation.

    meine XML:
    Code:
    <?xml version="1.0" encoding="UTF-8"?>
    <?xml-stylesheet type="text/xsl" href="xsldazu.xslt"?>
    <rfc:CATALOG">
    	<IS_HEAD>
    		<MANDT>100</MANDT>
    		<CATBEZ>VB_0150_01_90_ST2009</CATBEZ>
    	</IS_HEAD>
    	<IT_CAT_CATECOCK/>
    	<IT_CAT_MATCOCK>
    		<item>
    			<MATNR>1009</MATNR>
    			<MAKTX>Beschreibung</MAKTX>
                             <PRDHA>0000-00-00</PRDHA>
    			<CRETIM>00:00:00</CRETIM>
    		</item>
    	</IT_CAT_MATCOCK>
    </rfc:CATALOG>
    meine XSL:

    <?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xslutput method="html" version="1.0" encoding="ISO-8859-1" indent="yes"/>

    <xsl:template match="IT_CAT_MATCOCK">
    <html>
    <head>
    <title>test</title>
    </head>
    <body>
    <xsl:apply-templates select="IT_CAT_MATCOCK" />
    </body>
    </html>
    </xsl:template>

    <xsl:template match="IT_CAT_MATCOCK">
    <p>
    <xsl:apply-templates select="item/MATNR" />
    <xsl:apply-templates select="item/MAKTX" />
    <xsl:apply-templates select="item/PRDHA" />
    </p>
    </xsl:template>

    </xsl:stylesheet>
    Mein Problem ist, daß mit der XSL Datei nach der Transformation auch die Elemente aus <IS_HEAD> angezeigt werden.
    Ich will aber nur die Elemente aus <IT_CAT_MATCOCK>!

    Ich finde den Fehler einfach nicht, dachte ich wär mit Templates doch schon etwas fitter...

    Bin um jeden Tip froh - Vielen Dank für eure Hilfe!

    Peter

  • #2
    Warum ein gleichzeitiges match mit folgendem select auf IT_CAT_MATCOCK? Probiere es so (den Namensraum entsprechend aus dem XML übernehmen):
    Code:
    <?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
      xmlns:rfc="http://example.net/rfc" exclude-result-prefixes="rfc">
    
      <xsl:output method="html" version="1.0" encoding="ISO-8859-1" indent="yes"/>
    
      <xsl:template match="rfc:CATALOG">
        <html>
          <head>
            <title>test</title>
          </head>
          <body>
            <xsl:apply-templates select="IT_CAT_MATCOCK"/>
          </body>
        </html>
      </xsl:template>
    
      <xsl:template match="IT_CAT_MATCOCK">
        <p>
          <xsl:apply-templates select="item/MATNR"/>
          <xsl:apply-templates select="item/MAKTX"/>
          <xsl:apply-templates select="item/PRDHA"/>
        </p>
      </xsl:template>
    
    </xsl:stylesheet>

    Comment


    • #3
      Hallo Thomas,

      Vielen Dank für den Hinweis.
      Das
      rfc:CATALOG
      hatte mir anfangs Probleme bereitet, drum überging ich das Tag, wobei es ja eigentlich das Root-Element ist. Jetzt funktioniert es - Vielen Dank!

      Schöne Grüße,
      Peter
      Zuletzt editiert von peter420; 27.06.2009, 22:59.

      Comment

      Working...
      X