[GastForen Programmierung/Entwicklung FileMaker Daten gruppieren XML/XSLT

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Themen
Beiträge
Moderatoren
Letzter Beitrag

Daten gruppieren XML/XSLT

MarioF
Beiträge gesamt: 166

16. Feb 2017, 19:49
Beitrag # 1 von 4
Bewertung:
(8211 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Moin,
ich will über eine XSLT Daten gruppieren. Jetzt habe ich folgendes:
###
<xsl:template match="fmp:ROW">
<produkt>
<artikel><xsl:value-of select="fmp:COL[1]/fmp:DATA"/></artikel>
<bezeichnung><xsl:value-of select="fmp:COL[2]/fmp:DATA"/></bezeichnung>
<art><xsl:value-of select="fmp:COL[3]/fmp:DATA"/></art>
</produkt>
</xsl:template>
###

Jetzt habe ich versuch, alles über for-each-group laufen zu lassen:
###
<xsl:for-each-group select="fmp:COL[1]/fmp:DATA" group-adjacent="@artikel">
<group>
<artikel><xsl:value-of select="."/></artikel>
<xsl:for-each select="fmp:COL[2]/fmp:DATA">
<bezeichnung><xsl:value-of select="."/></bezeichnung>
<xsl:variable name="pos" select="position()" />
<art><xsl:value-of select="../../fmp:COL[3]/fmp:DATA[$pos]"/></art>
</xsl:for-each>
</group>
</xsl:for-each-group>
###

Leider bekomme ich in der xml-Ausgabe nur
<root>
<katalog>
<produkt/>
<produkt/>
...
</katalog>
</root>

Wie muss for-each-group aussehen, damit es klappt?
---
Viele Grüße
Mario
X

Daten gruppieren XML/XSLT

JensTeich
  
Beiträge gesamt: 584

7. Mär 2017, 11:33
Beitrag # 2 von 4
Beitrag ID: #556099
Bewertung:
(8094 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
for-each-group ist xslt 2.0 denke ich. FileMaker kann nur xslt 1.0.

Da kann man gruppieren mit der Muench Methode (https://en.wikipedia.org/wiki/XSLT/Muenchian_grouping).

LG
Jens
__
jens teich, filemaker certified developer

FileMaker Konferenz Oktober 2019 Hamburg!


als Antwort auf: [#555683]

Daten gruppieren XML/XSLT

MarioF
Beiträge gesamt: 166

8. Mär 2017, 20:03
Beitrag # 3 von 4
Beitrag ID: #556200
Bewertung:
(8050 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,
ja, Muench Methode...
Ich lasse jetzt FM erst mal außen vor. Ich habe jetzt dieses XML-Beispiel
Code
<?xml version="1.0" encoding="UTF-8" ?> 
<?xml-stylesheet type="text/xsl" href="group.xsl"?>
<FMPDSORESULT>
<ROW>
<Abschnitt>Abschnitt 1</Abschnitt>
<Titel>X-25-78</Titel>
</ROW>
<ROW>
<Abschnitt>Abschnitt 1</Abschnitt>
<Titel>X-25-80</Titel>
</ROW>
<ROW>
<Abschnitt>Abschnitt 1</Abschnitt>
<Titel>X-25-81</Titel>
</ROW>
<ROW>
<Abschnitt>Abschnitt 2</Abschnitt>
<Titel>WW-25-78</Titel>
</ROW>
<ROW>
<Abschnitt>Abschnitt 2</Abschnitt>
<Titel>WX-25-78</Titel>
</ROW>
</FMPDSORESULT>

Dazu diese XSLT
Code
<?xml version="1.0" encoding="UTF-8"?> 
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml"
version="1.0"
encoding="UTF-8"
indent="yes"/>

<xsl:template match="/">
<Root>
<Projekt>
<xsl:apply-templates select="FMPDSORESULT/ROW"/>
</Projekt>
</Root>
</xsl:template>

<xsl:key name="groupKey" match="ROW" use="Abschnitt" />

<xsl:template match="ROW">
<Abschnitt>

<xsl:for-each select="ROW[count(. | key('groupKey', Abschnitt)[1]) = 1]">
<xsl:sort select="Abschnitt" data-type="text"/>
<xsl:value-of select="Abschnitt" />
<xsl:for-each select="key('groupKey', Abschnitt)">
<xsl:sort select="Titel" />
<xsl:value-of select="Titel" />
</xsl:for-each>
</xsl:for-each>

</Abschnitt>
</xsl:template>
</xsl:stylesheet>


Ich habe mich dabei an diesem Beispiel gehalten http://www.beacontechnologies.com/...he-muenchian-method/
Trotzdem bekomme ich kein Ergebnis. Hab ich etwas übersehen?
---
Viele Grüße
Mario


als Antwort auf: [#556099]

Daten gruppieren XML/XSLT

MarioF
Beiträge gesamt: 166

9. Mär 2017, 09:20
Beitrag # 4 von 4
Beitrag ID: #556207
Bewertung:
(8008 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
So klappt es
Code
<xsl:key name="groupKey" match="ROW" use="Abschnitt" /> 

<xsl:template match="FMPDSORESULT">
<xsl:for-each select="ROW[count(. | key('groupKey', fmp:Abschnitt)[1]) = 1]">
<xsl:sort select="Abschnitt" />
<xsl:value-of select="Abschnitt" />
<xsl:for-each select="key('groupKey', Abschnitt)">
<xsl:sort select="Titel" />
<xsl:value-of select="Titel" />
</xsl:for-each>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>

---
Viele Grüße
Mario


als Antwort auf: [#556200]
Hier Klicken X
Hier Klicken

Aktuell

Veranstaltungskalender

Hier können Sie Ihre Anlässe eintragen, welche einen Zusammenhang mit den Angeboten von HilfDirSelbst.ch wie z.B. Adobe InDesign, Photoshop, Illustrator, PDF, Pitstop, Affinity, Marketing, SEO, Büro- und Rechtsthemen etc. haben. Die Einträge werden moderiert freigeschaltet. Dies wird werktags üblicherweise innert 24 Stunden erfolgen.
pdf-icon Hier eine kleine Anleitung.

Veranstaltungen
21.08.2019

Affinity Photo, Affinity Designer und Affinity Publisher

Schulungsraum von pre2media – Dammstrasse 8, 8610 Uster
Mittwoch, 21. Aug. 2019, 09.00 - 17.00 Uhr

Referat

Alle reden davon – wir zeigen ihnen kompakt was in den einzelnen ­Programmen wirklich steckt. Sind die Programme von Affinity – bereits heute – eine Alternative zu den Adobe-Programmen? Was versteht ­Affinity unter StudioLink und der vollständigen Integration der Affinity-Apps. Sie können jedes Affinity-Referat einzeln buchen. Oder alle drei Referate zusammen, bequem an einem Tag.

Mittwoch, 21. August 2019
9.00 bis 11.00 Affinity Photo Bildbearbeitung CHF 90.00
13.00 bis 15.00 Affinity Designer Grafikdesign CHF 90.00
15.00 bis 17.00 Affinity Publisher Layoutprogramm CHF 90.00
Alle drei Affinity Programme zusammen (6 Lektionen) CHF 220.00

Diese Referate werden auch noch am Fr. 13. September und am Di. 22. Oktober 2019 durchgeführt.

Ja

Organisator: pre2media gmbh, Dammstrasse 8, 8610 Uster, info@pre2media.ch, www.pre2media.ch

Kontaktinformation: Peter Jäger oder Roger Thurnherr, E-Mailinfo AT pre2media DOT ch

https://www.pre2media.ch/-1/de/kurse/affinity-referat/

Affinity-Referat bei pre2media
Veranstaltungen
22.08.2019

Impressed GmbH, Hamburg
Donnerstag, 22. Aug. 2019, 10.00 - 10.30 Uhr

Webinar

Wir stellen Ihnen in diesem kostenlosen ca. halbstündigen Webinar das neue Enfocus Switch PDF Review Modul zur Freigabe von PDF-Druckdaten vor.

Ja

Organisator: Impressed GmbH

Kontaktinformation: Detlef Grimm, E-Mailschulungen AT impressed DOT de

https://www.impressed.de/schulung.php?c=sDetail&sid=250

Enfocus Switch PDF Review Modul