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