1. Dashboard
  2. Forum
    1. Unerledigte Themen
  3. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team-Mitglieder
    4. Trophäen
    5. Mitgliedersuche
  4. Tutorial Bereich
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Lexikon
  • Erweiterte Suche
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

xml + xslt Problem

  • alexj
  • 4. Juli 2005 um 20:06
  • Unerledigt
  • alexj
    4
    alexj
    Mitglied
    Punkte
    125
    Beiträge
    17
    • 4. Juli 2005 um 20:06
    • #1

    Also ich habe ein xml-Dokument das ich in mittels xslt in ein anderes xml-Dokument transformieren muss.
    Und dabei habe ich folgendes Problem

    original-xml:
    <publication>
    <titel>123</titel>
    <author>Müller</author>
    <author>Maier</author>
    <author>xxxx</author>
    ....
    </publication>

    Transformiertes xml-Dokument:
    <Publikation>
    <Titel>123</Titel>
    <Autor>Müller Maier xxx</Autor>
    ....
    </Publikation>

    Also wie fasse ich die verschiedenen <authors> zusammen?

    danke, alex

  • mas
    9
    mas
    Mitglied
    Reaktionen
    1
    Punkte
    751
    Beiträge
    143
    • 5. Juli 2005 um 11:44
    • #2

    servus, hab bis jetzt noch nicht wirklich viel mit XML/XSLT gemacht, aber so ganz spontan würde ich das mal so machen:

    Code
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    	<xsl:template match="/">
    		<Publikation>
    			<xsl:apply-templates select="//titel"/>
    			<Autor>
    				<xsl:apply-templates select="//author">
    					<xsl:sort order="ascending" select="."/>
    				</xsl:apply-templates>
    			</Autor>
    		</Publikation>
    	</xsl:template>
    
    
    	<xsl:template match="titel">
    		<Titel>
    			<xsl:value-of select="."/>
    		</Titel>
    	</xsl:template>
    
    
    	<xsl:template match="author">
    		<xsl:value-of select="."/>
    		<xsl:text> </xsl:text>
    	</xsl:template>
    </xsl:stylesheet>
    Alles anzeigen

    geht aber sicher noch um einiges eleganter (vor allem bleibt bei dieser version nach dem letzten Author noch ein Leerzeichen) - in dieser Version werden die Autoren auch gleich noch sortiert
    aja, schau Dir doch mal <xsl:for-each ... > an

    mfg
    mas

  • mas
    9
    mas
    Mitglied
    Reaktionen
    1
    Punkte
    751
    Beiträge
    143
    • 5. Juli 2005 um 11:55
    • #3

    ok, so müsste es jetzt passen:

    Code
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    	<xsl:template match="/">
    		<Publikation>
    			<Titel>
    				<xsl:apply-templates select="//titel"/>
    			</Titel>
    			<Autor>
    				<xsl:apply-templates select="//author">
    					<xsl:sort order="ascending" select="."/>
    				</xsl:apply-templates>
    			</Autor>
    		</Publikation>
    	</xsl:template>
    
    
    	<xsl:template match="titel">
    		<xsl:value-of select="."/>
    	</xsl:template>
    
    	<xsl:template match="author">
    		<xsl:value-of select="."/>
    		<xsl:if test="not (position()=last())">
    			<xsl:text>,</xsl:text>
    		</xsl:if>
    	</xsl:template>
    </xsl:stylesheet>
    Alles anzeigen
  • H2O
    6
    H2O
    Mitglied
    Punkte
    375
    Beiträge
    74
    • 5. Juli 2005 um 13:35
    • #4

    vielleicht hilft dir diese seite.

    lg
    H2O

    Blub

  • alexj
    4
    alexj
    Mitglied
    Punkte
    125
    Beiträge
    17
    • 5. Juli 2005 um 20:45
    • #5

    Danke für die rasche Hilfe!

    alex

  • Maximilian Rupp 27. Dezember 2024 um 12:06

    Hat das Thema aus dem Forum Programmieren nach Entwicklung verschoben.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!

Benutzerkonto erstellen Anmelden

Benutzer online in diesem Thema

  • 1 Besucher

Rechtliches

Impressum

Datenschutzerklärung