3.2.2  Präzedenz der Auswertung

Match-Regeln Konzepte Match-Regeln werden gemäß ihrer Spezifität sortiert und diejenige, die auf einem Knoten in einem bestimmten Szenario am besten zutrifft, wird zur Auswertung herangezogen. Grds. werden die Regeln anhand folgender Kriterien sortiert: Konzepte Priorität

1. Importierte Template Regeln haben immer eine niedrigere Priorität als die Regeln des importierenden Stylesheets.

2. Templates mit einem höheren Priority Attribut haben Vorrang.

3. Templates ohne Priorität bekommen automatisch eine Default-Priorität. Die höchste Default-Priorität ist 0.5 .

4. Diese Default Priorität errechnet sich anhand der Bedingungen oder Wildcards, die an einen Match-Regel geknüpft sind:

  • Wenn mehrere Templates matchen, dann wird das am meisten spezifische zur Auswertung herangezogen.

  • Das am meisten spezifische Template wird anhand der Prioritäten berechnet.

  • Einfache Elementnamen (z.B. "para") haben Prio 0 .

  • Wildcards (z.B. *, @* ) haben Priorität -0.25

  • Knoten-Tests für andere Knoten (e.g. comment(), node() , etc. ) haben Priorität -0.5

  • In allen anderen Fällen ist die Prio 0.5 .

4. Beispiele:

  • para -> 0

  • h:* -> -0.25

  • * -> -0.25

  • node() -> -0.25

  • contents/para -> 0.5

  • contents/* -> 0.5

5. Mit einer Kommandozeilen-Option kann bei Saxon festgelegt werden, dass die Transformation abbricht, sobald es einen Konflikt bei der Regelauswertung Konzepte Regelauswertung gibt.