Holge r: Was bedeutet die Fehlermeldung?

Hallo,

ich moechte bei einem stylesheet, das xslt1.0 definiert hat, einen xslt2.0 fähigen parser (saxon8) anwenden. Mit saxon6.5 läuft der parser durch . bei saxon8 bringgt es mir im Oxygen Editor den Fehler:

"start(0) + length(37) > size(34)"

Keine weiteren Informationen dazu. Weiss überhauptnicht, was das sein koennte. Jemand einen tipp?

Gruß, H.

  1. Hallo,

    ich kenne werder Saxon, noch Oxygen.

    "start(0) + length(37) > size(34)"

    Fuer mich klingt das wie eine String-Operation (zB subst), welche auf eine
    Positionen verweist, die ausserhalb der Gueltigkeit liegt.
    Sprich, der String ist zu kurz, um auf Character 37 zuzugreifen.

    Aber ohne Zeilenangabe oder weiterer Logs ist das natuerlich schwierig
    zu sagen resp. zu loesen..

    Gruesse
    Chriss

  2. Hi Holge r!

    "start(0) + length(37) > size(34)"
    Jemand einen tipp?

    Ins blaue: kann es sein, dass du im Schema angegeben hast, dass irgend ein Element nur 34 Zeichen lang sein darf, es nun aber im xml 37 Zeichen lang ist?

    Ohne Code ist das aber alles nur rumgerate...

    Grüsse,
    Richard

    1. Hm, erst mal Danke, das dürfte mich auf die richtige Spur gebracht haben. Die Meldung war ja auch für mich ein Scchuss ins Blaue, da ich mir nicht unbedingt daraus schlüssig einen Fehler interpretieren konnte. Aber es scheint in der Tat, dass ein entsprechendes DTD plus mod validierung durch Berechung betreibt. Nur stellt sich dann für mich die Frage, warum Validieren xslt1.0 anders als xslt2.0? Den einzigen erklärlichen Grund kann ich mir nru dadurch geben, dass entweder in saxon 6.5 ein bug ist oder aber bestimmt werte anders eingelsen bzw. interpretiert werden. Auf jeden Fall gehen ich mal der Schemaspur auf den Grund, nur mühsam alles abzuklappern.