AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein XML XML-Liste nach Attribut via XSL sortieren

XML-Liste nach Attribut via XSL sortieren

Ein Thema von creehawk · begonnen am 5. Aug 2020 · letzter Beitrag vom 6. Aug 2020
Antwort Antwort
creehawk

Registriert seit: 1. Jul 2013
Ort: Hamburg
135 Beiträge
 
Delphi 10.4 Sydney
 
#1

XML-Liste nach Attribut via XSL sortieren

  Alt 5. Aug 2020, 11:53
Moin Moin.

Die letzte XML Arbeit meinerseits fand kurz nach dem 30-jährigen Krieg statt. Ich habe fast alles vergessen. Also

Meine XML (Auszug)
Code:
<?xml version="1.0" encoding="utf-8"?>
<Items>
  <Element Master="190167" Item="190711" Name="Ar56" />
  <Element Master="190167" Item="191718" Name="Aa23" />
  <Element Master="190167" Item="190687" Name="Ac93" />
  <Element Master="190167" Item="190744" Name="Aa96" />
  <Element Master="190167" Item="191610" Name="Ad23" />
  <Element Master="190167" Item="193187" Name="Af32" />
  <Element Master="190167" Item="190619" Name="Aa23" />
  <Element Master="190167" Item="190745" Name="An32" />
</Items>
Ich möchte diese Liste nach dem Attribut 'Name' via XSL sortieren. Meine XSL (und da fehlt's jetzt) :

Code:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
  <Items>
    <xsl:for-each select="Items/Element">
      <xsl:sort select="Name"/>
      <xsl:value-of select=" ?????????????????????????????????
    </xsl:for-each>
  </Items>
</xsl:template>
</xsl:stylesheet>
Was zum Henker muss für die Fragezeichen gesetzt werden? Oder alles ganz anders? Ich weiß es um's verecken nicht mehr.

creehawk

P.S. Das geht dann durch den MSXML Processor.
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.081 Beiträge
 
Delphi 10.3 Rio
 
#2

AW: Das wird jetzt peinlich.....

  Alt 5. Aug 2020, 11:57
W3Schools hilft mir bei solchen Dingen oftmals gut weiter. Dir vielleicht auch?
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
creehawk

Registriert seit: 1. Jul 2013
Ort: Hamburg
135 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: Das wird jetzt peinlich.....

  Alt 5. Aug 2020, 14:10
Nee, eben nicht. Ich habe schon dort nachgesehen und auch an anderen Stellen. Eigentlich hätte ich etwas in dieser Art geschrieben:

Code:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
  <Items>
    <xsl:for-each select="Items/Element">
      <xsl:sort select="Name"/>
      <xsl:value-of select="Element"/>
    </xsl:for-each>
  </Items>
</xsl:template>
</xsl:stylesheet>
Bringt nix. Wobei Items/Element oder / oder * oder // auch zu nicht führen. Folgender Processor Aufruf:

Code:
    Result:=True;
    XMLResult := CoDOMDocument.Create;
    XSLTStyleSheet := CoFreeThreadedDOMDocument.Create;
    XSLTStyleSheet.async := False;
    XSLTStyleSheet.load(XSLPath + 'alpha.xsl');
    XSLTTemplate := CoXSLTemplate.Create;
    XSLTTemplate.stylesheet := XSLTStyleSheet;
    XSLProcessor := XSLTTemplate.createProcessor;
    XSLProcessor.input := XSLPath + 'Items.xml';
    XSLProcessor.transform;
    XMLResult.loadXML(XSLProcessor.output);
    XMLResult.save(XSLPath + 'Result.xml');
Das habe ich übrigens aus meinem eigenen Fundus. Was ich bisher eben nicht hatte war die Sache mit Attributen OHNE das der Knoten selbst Text hat.

Irgendwas haut nicht hin.

creehawk
  Mit Zitat antworten Zitat
Daniel
(Administrator)

Registriert seit: 30. Mai 2002
Ort: Hamburg
15.480 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: XML-Liste nach Attribut via XSL sortieren

  Alt 5. Aug 2020, 15:07
Eine klar gestellte Frage ist nie peinlich - dafür ist das Forum da.
Ich habe mir lediglich erlaubt, dem Thema einen passenderen Titel zu verpassen.
Daniel R. Wolf
Admin Delphi-PRAXiS
mit Grüßen aus Hamburg
  Mit Zitat antworten Zitat
creehawk

Registriert seit: 1. Jul 2013
Ort: Hamburg
135 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: XML-Liste nach Attribut via XSL sortieren

  Alt 5. Aug 2020, 15:12
Okay, alles klar.

Grüße aus Ahrensburg.

creehawk
  Mit Zitat antworten Zitat
creehawk

Registriert seit: 1. Jul 2013
Ort: Hamburg
135 Beiträge
 
Delphi 10.4 Sydney
 
#6

AW: XML-Liste nach Attribut via XSL sortieren

  Alt 5. Aug 2020, 22:09
Tja, ich komme nicht weiter.

Wirklich niemand eine Idee?

Oder übersehe ich einen blöden Fehler?

creehawk
  Mit Zitat antworten Zitat
creehawk

Registriert seit: 1. Jul 2013
Ort: Hamburg
135 Beiträge
 
Delphi 10.4 Sydney
 
#7

AW: XML-Liste nach Attribut via XSL sortieren

  Alt 6. Aug 2020, 06:38
Moin Moin.

@Codezwerg
Ist ja wohl doch nicht so einfach.

Keine Lösung gefunden.

creehawk
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:37 Uhr.
Powered by vBulletin® Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf