Project

Profile

Help

Bug #3221

closed

p.genPos pattern not implemented in Saxon-JS

Added by John Lumley over 7 years ago. Updated over 7 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
-
Sprint/Milestone:
-
Start date:
2017-05-13
Due date:
% Done:

100%

Estimated time:
Applies to JS Branch:
1.0
Fix Committed on JS Branch:
1.0
Fixed in JS Release:
SEF Generated with:
Platforms:
Company:
-
Contact person:
-
Additional contact persons:
-

Description

For the match pattern:

P/C[position() != 1]

Saxon-EE allocates a GeneralPositionPattern and generates the SEF instructions:

  <p.withUpper role="match" axis="parent" upFirst="true">
     <p.genPos type="C">
      <vc op="ne" comp="CAVC">
       <fn name="position"/>
       <int val="1"/>
      </vc>
     </p.genPos>
     <p.nodeTest test="P" jsTest="..."/>
    </p.withUpper>

Unfortunately Saxon-JS currently doesn't support the p.genPos pattern instruction.

(When the pattern doesn't involve an upper component, e.g. C[position() != 1] optimisation avoids p.genPos and uses p.genNode with either tail() or remove() calls)

Please register to edit this issue

Also available in: Atom PDF Tracking page