Einzelnen Beitrag anzeigen
  #1 (permalink)  
Alt 13.08.2013, 20:47
mace mace ist offline
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 13.08.2013
Beiträge: 1
mace befindet sich auf einem aufstrebenden Ast
Standard XSLT - Tabellen Elemente vergleichen und gruppieren

Hallo Leute,

ich stehe vor einem Problem. Ich habe ein Xml Dokument das ich immer neu generieren lasse. Nun sind da Daten von einem System, in dem Räume gebucht werden. Ich lasse schon bevor ich die Xml erstellen lasse die Daten nach Datum und Uhrzeiten sortieren.

Anhand der Attribute Datum, Von, Bis und Gebucht_Von erkenne ich welcher Raum mit welchem kommuniziert hat, da diese Identisch sind. Meistens 2 bis 3 untereinander stehende (siehe Bild).

diese zusammengehörenden also wo die Felder wie in der Tabelle zu sehen gleich sind, möchte ich in einer <td> haben (siehe roten Rahmen im Anhang Jpeg). Aber in XSLT 1.0 und so das die jeweiligen Dupliakte auch ausgeblendet werden. Alles halt um eine gute Übersicht zu bekommen. Es soll für User möglich sein mit einem Blick zu sehen wer, welche Räume, zu welcher Zeit gebucht hat.

Ist das möglich. Ich habe gesehen, dass es in XSLT 1.9 nicht möglich ist Variablen zu überschreiben...


Also ich danke schonmal im Voraus. Ich bin hier an meine Grenzen gestoßen..

Code:
<?xml version="1.0"?>
<?xml-stylesheet type='text/xsl' href= 'testxsl.xsl'?>
<Objects>
  <Object>
    <Property Name="Datum">01.08.2013</Property>
    <Property Name="Von">04:00:00</Property>
    <Property Name="Bis">06:00:00</Property>
    <Property Name="Raum">Raum Köln</Property>
    <Property Name="Gebucht_Von">MusterMann 1</Property>
  </Object>
  <Object>
    <Property Name="Datum">01.08.2013</Property>
    <Property Name="Von">04:00:00</Property>
    <Property Name="Bis">06:00:00</Property>
    <Property Name="Raum">Raum Aachen</Property>
    <Property Name="Gebucht_Von">MusterMann 1</Property>
  </Object>
  <Object>
    <Property Name="Datum">01.08.2013</Property>
    <Property Name="Von">08:00:00</Property>
    <Property Name="Bis">12:00:00</Property>
    <Property Name="Raum">Düsseldorf </Property>
    <Property Name="Gebucht_Von">MusterMann 1</Property>
  </Object>
  <Object>
    <Property Name="Datum">01.08.2013</Property>
    <Property Name="Von">08:00:00</Property>
    <Property Name="Bis">12:00:00</Property>
    <Property Name="Raum">Zürich</Property>
    <Property Name="Gebucht_Von">MasterMann 2 </Property>
  </Object>
  <Object>
    <Property Name="Datum">01.08.2013</Property>
    <Property Name="Von">08:30:00</Property>
    <Property Name="Bis">11:00:00</Property>
    <Property Name="Raum">Köln</Property>
    <Property Name="Gebucht_Von">MusterMann 2</Property>
  </Object>
......
Code:
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html"
encoding="iso-8859-1" indent="yes"/>

<xsl:key name="Row" match="Objects/Object" 
           use="generate-id()"/>




<xsl:template match="/">
<TABLE border="6pt" align="center" > 

<colgroup>
<col width="150"/>
<col width="100" />
  <col width="100" />
   <col width="200"/>
	<col width="500"/>
  </colgroup>

<TR STYLE="font-size:16pt; background-color:#E4FEFF; color:051956; font-family:Times New Roman',Times,serif">
<span />
<TD><u><i>Datum</i></u></TD> 
<TD><u><i>Von</i></u></TD> 
<TD><u><i>Bis</i></u></TD> 
<TD><u><i>Raum</i></u></TD> 
<TD><u><i>Gebucht von</i></u></TD> 



</TR> 

<xsl:apply-templates/> 

</TABLE> 

</xsl:template>
 
  
<xsl:template match="Objects">

<xsl:for-each select="Object"> 

<TR STYLE="font-size:13pt;  background-color:#E4FEFF;color:051956; font-family:ARIAL">

<TD>
<xsl:value-of select="Property[1]/text()"/> <!-- Hier wird der Inhalt von dem Element "Datum" eingesetzt -->
</TD>

<TD>
<xsl:value-of select="Property[2]/text()"/> <!-- Hier wird der Inhalt von dem Element "Von" eingesetzt -->
</TD>

<TD>
<xsl:value-of select="Property[3]/text()"/> <!-- Hier wird der Inhalt von dem Element "Bis" eingesetzt -->
</TD>

<TD>
<xsl:value-of select="Property[4]/text()"/> <!-- Raum -->
</TD>

<TD>
<xsl:value-of select="Property[5]/text()"/> <!-- gebucht von -->
</TD>





</TR>

</xsl:for-each> 

 <xsl:apply-templates select="key('Row', generate-id())"/>
</xsl:template>


 
</xsl:stylesheet>
Angehängte Grafiken
Dateityp: jpg Bsp.jpg (74,6 KB, 4x aufgerufen)

Geändert von mace (13.08.2013 um 22:32 Uhr)
Mit Zitat antworten
Sponsored Links