Formal erklären kann ich mir das schon, da Browser im DOM die tagName-Eigenschaft gern in Großschreibung wandeln. Allerdings sollte das der Node-Compiler auch signalisieren und nicht erst die Browser-Konsole Fehler werfen. #SaxonJS
Zu #SaxonJS:
<xsl:template match="select[@id eq 'funktion']" mode="ixsl:onchange">
<xsl:result-document href="#ergebnis" method="ixsl:replace-content">
<xsl:variable name="curopt" select="." as="element(select)"/>
<!-- … -->
</xsl:result-document>
</xsl:template>
Klappt problemlos bei der Kompilation mit Saxon-EE. Das Kompilat von Node.js läuft nicht richtig. Es wird angemeckert, dass SELECT übergeben wird. Mit element() funktioniert es. Ebenso bei input-Elementen. Seltsam.
Studierendenzahlen 2022/23 von Destatis in meiner #SaxonJS-Anwendung aktualisiert. https://datenverdrahten.de/xslt3/saxon-js/studis/
Weltidee: Ich könnte also beide .sef.json-Varianten auf den Webserver legen und auf das expiry-Datum der einen Datei prüfen und ggf. die andere ausliefern. Dann bricht zumindest nicht die Anwendung, wenn die Lizenz nicht / noch nicht erneuert wurde. Was für ein Stunt. #SaxonJS
Also größere und etwas trägere Kompilate sind der Preis der freien Version. #SaxonJS https://npm.io/package/xslt3
Insgesamt ist das IXSL-Event-Handling für meine #SaxonJS-Matheanwendung praktikabel gelöst. https://datenverdrahten.de/xslt3/saxon-js/funktionen/
Mit ixsl:set-property sind Formularfelder zugänglich. Bei SVG-Attributen wie points ist dagegen ixsl:set-attribute erwartungsgemäß wirksam. Soweit gut zu wissen, aber eigentlich sollte dieses Verhalten vereinheitlicht werden. JS erlaubt ja object.setAttribute("name", "value") und object.property. #SaxonJS
Beim Programmieren mit #SaxonJS ist es noch immer etwas irritierend, wann ixsl:set-attribute zündet oder ixsl:set-property nötig ist. Für Style-Eigenschaften ist letztere Zuweisung neben ixsl:set-style zielführend. Bei Formularfeldern funktioniert aber ixsl:set-attribute nicht.
Mit der Simpson-Regel numerisch zu integrieren, ist kein Problem. Habe ich ganz früh in BASIC, später in JS programmiert.
Für #XSLT mit #SaxonJS lief mein Ansatz über xsl:call-template bereits bei n=3000 in zu viele Rekursionen. Dann an einer Funktion getüftelt. Klappt soweit. ✅
https://datenverdrahten.de/xslt3/saxon-js/funktionen/
#SaxonJS-Projekt »SVG-Funktionsplotter« erweitert: Extrempunkte und Nullstellen darstellbar (wobei diese aus den zahlreich berechneten Punkten abgeleitet werden und gelegentlich nicht gut genug getroffen werden). https://datenverdrahten.de/xslt3/saxon-js/funktionen/
Wenn man #XSLT nach #SaxonJS kompiliert, dann vermeidet die Option -ns:##html5 die Ausgabe von Namespaces an jedem einzelnen #SVG- und #MathML-Element nicht. https://saxonica.plan.io/issues/5974
Ich steuere nachträglich im DOM über .innerHTML und replace() dagegen. 📈 https://datenverdrahten.de/xslt3/saxon-js/funktionen/
#mathml #svg #html5 #saxonjs #xslt
Eigene JS-Funktion unter #SaxonJS zeitverzögert starten.
Klappt:
ixsl:call(ixsl:window(), 'myfunc', [])"/>
+
function myfunc()
{
window.setTimeout(function()
{
// ...
}, 100);
}
Ist es in dieser Art möglich?
ixsl:call(ixsl:window(), 'setTimeout', ['myfunc', 100])
Kleines Projekt zur Darstellung von Funktionen mit #SVG, #MathML und #SaxonJS gebastelt. https://datenverdrahten.de/xslt3/saxon-js/funktionen/
Gestern beim #JSON-Kurs auch das frühere #tekom-Beispiel zu #SaxonJS »Parkhäuser München« gezeigt.
Lief aber nicht mehr, weil die JSON-URL 01/23 geändert wurde und das kompilierte #XSLT-Stylesheet abgelaufen war. Nun wieder alive: https://datenverdrahten.de/xslt3/saxon-js/parkhaeuser/
So... you haven't seen my #GenerativeArt interludes in some little while. I've been busy with my quixotic quest to run some my art code under #SaxonJS, which meant porting from #XQuery to #XSL, which meant making some tools to do that because I am that kind of lazy, which meant figuring out how to do Saxon Java extension functions, but! Mirabile Dictu, it works. It all works... except... I have some odd performance issues that only happen in SaxonJS that I'm having narrowing down. Disappointing.
#generativeart #saxonjs #xquery #xsl