[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skriptwerkstatt XML mit javascript kumulieren und sortieren

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Print/Bildbearbeitung - Photos, Layout, Design
Themen
Beiträge
Moderatoren
Letzter Beitrag

XML mit javascript kumulieren und sortieren

waldviertler
Beiträge gesamt: 43

16. Mai 2011, 13:11
Beitrag # 1 von 3
Bewertung:
(1581 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo !

Ich bräuchte einen Denkanstoß, wie ich einen XML-Text kumulieren und eventuell sortieren könnte:

Von:
Code
<page nummer="1"> 
<article>
.
</article>
</page>
<page nummer="2">
<article>
..
</article>
</page>
<page nummer="3">
<article>
...
</article>
</page>
<page nummer="1">
<article>
....
</article>
</page>




zu


Code
<page nummer="1"> 
<article>
.
</article>
<article>
....
</article>
</page>
<page nummer="2">
<article>
..
</article>
</page>
<page nummer="3">
<article>
...
</article>
</page>


mit split?
Oder wie gehe ich so ein Problem an?

Vielen Dank
Martin
X

XML mit javascript kumulieren und sortieren

Dirk Becker
Beiträge gesamt: 193

17. Mai 2011, 22:11
Beitrag # 2 von 3
Beitrag ID: #471740
Bewertung:
(1549 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Falls das XML mit Import im Dokument landen soll, kann man dabei auch ein XSL ausführen.

XSL Kenner mögen mir verzeihen falls ich hier zu kompliziert arbeite, aber das folgende XSL ist mein erstes überhaupt, ich habe es in einer Stunde mit Hilfe des Buchs "XSL Cookbook" (etwas fehlerhaft), Nachhilfe bei Google (Stichwort Muenchian Method) und dem Oxygen Debugger (die wichtigste Hilfe!) zusammengestellt.

Dirk

Code
<?xml version="1.0" encoding="UTF-8"?> 
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<!-- Hübsch formatieren -->
<xsl:output method="xml" indent="yes"/>
<!-- Zugriff auf Seiten per Nummer Attribut -->
<xsl:key name="page-by-nummer" match="page" use="@nummer"/>
<!-- Die Wurzel der Daten -->
<xsl:template match="/*">
<xsl:copy>
<!-- jede Seitennummer einmal -->
<xsl:for-each select="page[count(. | key('page-by-nummer',@nummer)[1]) = 1]">
<!-- Page Element -->
<xsl:copy>
<!-- Page Attribute -->
<xsl:copy-of select="@*"/>
<!-- Alle Instanzen dieser Seitennummer -->
<xsl:for-each select="key('page-by-nummer',@nummer)">
<!-- Inhalt kopieren -->
<xsl:copy-of select="*"/>
</xsl:for-each>
</xsl:copy>
</xsl:for-each>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>



als Antwort auf: [#471511]

XML mit javascript kumulieren und sortieren

waldviertler
Beiträge gesamt: 43

18. Mai 2011, 00:18
Beitrag # 3 von 3
Beitrag ID: #471746
Bewertung:
(1536 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Weltklasse !!!

besten Dank
Martin


als Antwort auf: [#471740]