Dino: Colspan Wert aus XML auslesen

Hallo Community,

ich bin neu hier und bevor ich mit meine Frage anfange, will ich gerne sagen, dass ich mich hier umgesehen und "gegooglet" habe und trotzdem nichts gefunden habe. Daher versuch ich es mal hier :)

Zuerst die 2 Codes XML und XSL

XML:

  
	<WORDS>  
		<Name>A</Name>  
		<WN>1</WN>  
		<MS>15</MS>  
		<LNG>2</LNG>  
	</WORDS>  
	<WORDS>  
		<Name>B</Name>  
		<WN>2</WN>  
		<MS>7</MS>  
		<LNG>2</LNG>  
	</WORDS>  
	<WORDS>  
		<Name>C</Name>  
		<WN>1</WN>  
		<MS>15</MS>  
		<LNG>1</LNG>  
	</WORDS>  

XSLT Code:

  
<xsl:template match="/">  
<html>  
 <head>  
   <title>TEST</title>  
 </head>  
<body>  
<h1>  
 <center>TEST</center>  
</h1>  
							  
<table border="1" bgcolor="yellow">  
  
<xsl:apply-templates select="//my:WORDS"/>  
  
</table>  
<table border="1" bgcolor="yellow">  
<colgroup width="50" span="99"></colgroup>  
  
<thead align="center">  
  
<td>  
 <strong>Word</strong>  
</td>  
  
<td>  
 <strong>1</strong>  
</td>  
  
<td>  
 <strong>2</strong>  
</td>  
					  
<td>  
 <strong>3</strong>  
</td>  
  
<td>  
 <strong>4</strong>  
</td>  
  
<td>  
 <strong>5</strong>  
</td>  
  
<td>  
 <strong>6</strong>  
</td>  
  
<tr>  
 <td>1</td>  
 <td bgcolor="#FF00FF" COLSPAN="2">A</td>  
 <td bgcolor="#009900" COLSPAN="2">B</td>  
 <td bgcolor="#009936" COLSPAN="2">C</td>  
</tr>  
  
</thead>  
</table>  
</body>  
</html>  
</xsl:template>  
</xsl:stylesheet>  

Die Frage ist, wie ich COLSPAN="X">A</td, X auf XML beziehe (LNG Werte)....und zwar so, dass er sich die Zahl immer automatisch holt ohne dass ich es immer Manuel tippen muss :), A B C usw. bleiben FIX aber die Zahlen ändern sich immer. Daher wäre es super wenn ich es hinbekomme würde, dass die Zahlen bei COLSPAN immer automatisch von XML Daten (Hier von LNG) herausgefischt werden ohne dass ich es immer Tippen muss. Am Ende hab ich 50 Werte und die immer von Hand Tippen dauert zu lang. Ich habe es auch per Variable versucht aber hab dann gelesen, dass es eig. keine Variable ist Nachdem Motto: Variable=X, X=LNG, COLSPAN="X"....hat aber nicht geklappt *g*.

Ich möchte auch dazusagen, dass ich nie Programmiert habe (ausser mal bissl VBA...), daher seid mir nicht böse, wenn ich erwas falsch programmiert habe oder etwas kaotisch dargestellt ist.

Hoffe Ihr könnt mir weiterhelfen, wäre euch sehr dankbar!! :)

Gruß,

Dino

  1. Hallo Dino,

    ich bin neu hier und bevor ich mit meine Frage anfange, will ich gerne sagen, dass ich mich hier umgesehen und "gegooglet" habe und trotzdem nichts gefunden habe.

    Es gibt genügend Ressourcen zu XML und XSLT, <http://de.selfhtml.org/xml/darstellung/index.htm@title=SELFHTML bietet sich an>.

    Die Frage ist, wie ich COLSPAN="X">A</td, X auf XML beziehe (LNG Werte)....und zwar so, dass er sich die Zahl immer automatisch holt ohne dass ich es immer Manuel tippen muss ...

    <td colspan="{LNG}"><xsl:value-of select="Name"/></td>

    Grüße,
    Thomas

    1. Hallo Dino,

      ich bin neu hier und bevor ich mit meine Frage anfange, will ich gerne sagen, dass ich mich hier umgesehen und "gegooglet" habe und trotzdem nichts gefunden habe.

      Es gibt genügend Ressourcen zu XML und XSLT, <http://de.selfhtml.org/xml/darstellung/index.htm@title=SELFHTML bietet sich an>.

      Die Frage ist, wie ich COLSPAN="X">A</td, X auf XML beziehe (LNG Werte)....und zwar so, dass er sich die Zahl immer automatisch holt ohne dass ich es immer Manuel tippen muss ...

      <td colspan="{LNG}"><xsl:value-of select="Name"/></td>

      Grüße,
      Thomas

      Hallo Thomas,

      vielen Dank für deine Antwort, ich habe das jetzt so eingefügt:

        
      <xsl:apply-templates select="//my:WORDS"/>  
      </table>  
      <table border="1" bgcolor="yellow">  
      <colgroup width="50" span="99"></colgroup>  
      <thead align="center">  
      <td>  
       <strong>Word</strong>  
      </td>  
      <td>  
       <strong>1</strong>  
      </td>  
      <td>  
       <strong>2</strong>  
      </td>  
      <td>  
       <strong>3</strong>  
      </td>  
      <td>  
       <strong>4</strong>  
      </td>  
      <td>  
       <strong>5</strong>  
      </td>  
      <tr>  
      <td>1</td>  
      <td bgcolor="#FF00FF" COLSPAN="{WN}"><xsl:value-of select="Name"/></td>  
      </tr>  
      <tr>  
      <td> 2 </td>  
      </tr>  
      </thead>  
      </table>  
      </body>  
      </html>  
      </xsl:template>  
      
      

      Irgendwie funktiniert es nicht....hab ich was vergessen oder ein Denkfehler drin? WN wird nicht mit Zahl gefüllt, also die Zahl wird nicht aus XML Datei ersetzt, sondern bleibt leer.

      Gruß,

      Dino

  2. Hallo,

    ich habs hinbekommen, code lautet:

      
      
    <tr>  
    <td>1</td>  
    <td bgcolor="#FF00FF" COLSPAN="{//my:LNG}"><xsl:value-of select="//my:Name"/></td>  
    </tr>  
      
      
    
    

    Die Frage ist jetzt, wie bekomme ich es hin, dass er nächste Name auswählt und mit nächste LNG Zahl....Bei mir bleibt er immer bei der Ersten Stehen also:

      
      
    <tr>  
    <td>1</td>  
    <td bgcolor="#FF00FF" COLSPAN="{//my:LNG}"><xsl:value-of select="//my:Name"/></td>  
    <td bgcolor="#FF00FF" COLSPAN="{//my:LNG}"><xsl:value-of select="//my:Name"/></td>  
    </tr>  
      
      
    
    

    wenn ich das nehme, kommt da 2x A hin statt A und B.....kann mir einer helfen? :)

    Gruß,

    Dino