Hallo Zusammen,
beim Ergänzen der Hilfe zum Diagram Widget ist mir aufgefallen, dass die Hilfe im Editor nicht funktioniert. Auch hat der Complex Button keine Funktion. Ich habe daraufhin etwas geforscht, Ursache ist dass Änderungen in jQuery und Unterschiede zwischen webKit und anderen Browsern dazu führen, dass das XML Parsing (mit namespaces + rekursiv) nicht korrekt funktioniert. Im Code findet sich bereits ein Hack und folgender Kommentar:
Ein guter Einstieg in die Thematik bietet diese Seite: http://stackoverflow.com/questions/8...ith-namespaces
Ich habe einiges ausprobiert, aber vieles funktioniert nicht, da im XSD namesspaces verwendet werden und gleichzeitig Suchen über mehrere Ebenen durchgeführt werden. Es gab schlussendlich zwei funktionierende Ansätze das Problem zu lösen:
1. Suche über mehrere Ebenen per Hand durchführen. Dann kann man z.B. mit jQuery filtern arbeiten.
2. jQuery xpath Plugin (https://github.com/ilinsky/jquery-xpath)
Ich habe mich für letztere Lösung entschieden, da man den Code nahezu unverändert lassen kann. Dafür braucht es aber eine zusätzliche externe Library. Bis jetzt sind aus Risiko Gründen nur die Stellen im Code gefixt, die nicht funktionieren. Es gibt noch weitere Stellen an denen der alte Hack ( fixNamespace() ) noch funktioniert. Diese müsste man zu einem späteren Zeitpunkt ebenfalls auf xpath umbauen.
netzkind Kannst du dir meinen Fix evtl. mal angucken?
Grüße,
Florian
beim Ergänzen der Hilfe zum Diagram Widget ist mir aufgefallen, dass die Hilfe im Editor nicht funktioniert. Auch hat der Complex Button keine Funktion. Ich habe daraufhin etwas geforscht, Ursache ist dass Änderungen in jQuery und Unterschiede zwischen webKit und anderen Browsern dazu führen, dass das XML Parsing (mit namespaces + rekursiv) nicht korrekt funktioniert. Im Code findet sich bereits ein Hack und folgender Kommentar:
// jquery 1.8.2 on webkit expects namespaces in selectors in some cases, and not in others.
// from my understanding, it expects none when jquery does take care of the selection.
// this goes for anything with ancestry (>-selector) and anything with defined attributes (e.g. [ref=name])
// and it is true for selectors with multiple selections, comma-separated.
// told you, it is bizarre.
// this is a test-driven result, not knowledge! prone to fail in a future version of jquery
// from my understanding, it expects none when jquery does take care of the selection.
// this goes for anything with ancestry (>-selector) and anything with defined attributes (e.g. [ref=name])
// and it is true for selectors with multiple selections, comma-separated.
// told you, it is bizarre.
// this is a test-driven result, not knowledge! prone to fail in a future version of jquery

Ich habe einiges ausprobiert, aber vieles funktioniert nicht, da im XSD namesspaces verwendet werden und gleichzeitig Suchen über mehrere Ebenen durchgeführt werden. Es gab schlussendlich zwei funktionierende Ansätze das Problem zu lösen:
1. Suche über mehrere Ebenen per Hand durchführen. Dann kann man z.B. mit jQuery filtern arbeiten.
2. jQuery xpath Plugin (https://github.com/ilinsky/jquery-xpath)
Ich habe mich für letztere Lösung entschieden, da man den Code nahezu unverändert lassen kann. Dafür braucht es aber eine zusätzliche externe Library. Bis jetzt sind aus Risiko Gründen nur die Stellen im Code gefixt, die nicht funktionieren. Es gibt noch weitere Stellen an denen der alte Hack ( fixNamespace() ) noch funktioniert. Diese müsste man zu einem späteren Zeitpunkt ebenfalls auf xpath umbauen.
netzkind Kannst du dir meinen Fix evtl. mal angucken?
Grüße,
Florian
Kommentar