p:wrap-sequence 012 (AB)

Tests sequence result in group-adjacent is correctly evaluated in p:wrap-sequence

Test ab-wrap-sequence-012.xml is expected to pass.

The pipeline


<p:declare-step xmlns:p="http://www.w3.org/ns/xproc" name="pipeline" version="3.0">
   <p:input port="source"/>
   <p:output port="result"/>
   <p:identity name="pr">
      <p:with-input>
         <p:pipe step="pipeline" port="source"/>
         <p:pipe step="pipeline" port="source"/>
         <p:pipe step="pipeline" port="source"/>
         <p:pipe step="pipeline" port="source"/>
      </p:with-input>
   </p:identity>
   <p:wrap-sequence name="splitseq" wrapper="sequence" group-adjacent="(5, position())"/>
   <p:wrap-sequence wrapper="result"/>
</p:declare-step>
MorganaXProc passing XML Calabash failing

Inputs

port = source


<doc/>

Schematron validation


<s:schema xmlns="http://www.w3.org/1999/xhtml" xmlns:s="http://purl.oclc.org/dsdl/schematron" queryBinding="xslt2">
   <s:pattern>
      <s:rule context="/">
         <s:assert test="result">Root element is not 'result'.</s:assert>
         <s:assert test="count(result/child::node())=4">Root element should have four children.</s:assert>
         <s:assert test="count(result/sequence)=4">Root element should have four child elements named 'sequence'.</s:assert>
         <s:assert test="count(result/sequence[1]/child::node())=1">First sequence child should have one child.</s:assert>
         <s:assert test="count(result/sequence[2]/child::node())=1">Second sequence child should have one child.</s:assert>
         <s:assert test="count(result/sequence[3]/child::node())=1">Third sequence child should have one child.</s:assert>
         <s:assert test="count(result/sequence[4]/child::node())=1">Fourth sequence child should have one child.</s:assert>
         <s:assert test="result/sequence[1]/doc">First sequence child should have 'doc' child.</s:assert>
         <s:assert test="result/sequence[2]/doc">Second sequence child should have 'doc' child.</s:assert>
         <s:assert test="result/sequence[3]/doc">Third sequence child should have 'doc' child.</s:assert>
         <s:assert test="result/sequence[4]/doc">Fourth sequence child should have 'doc' child.</s:assert>
      </s:rule>
   </s:pattern>
</s:schema>

Revision history

16 Oct 2021, Norman Walsh

Remove spurious whitespace from input document.

10 Jun 2021, Achim Berndzen

Added attribute 'queryBinding' to schematron's schema.

02 Jun 2019, Achim Berndzen

Tests for p:wrap-sequence (Partly ported from 1.0)