p:inline 002

Test is expected to pass.

The pipeline

<p:declare-step xmlns:c="http://www.w3.org/ns/xproc-step"
                xmlns:p="http://www.w3.org/ns/xproc"
                xmlns:t="http://xproc.org/ns/testsuite/3.0" name="main" version="3.0">
   <p:output port="result" sequence="true"/>
   <p:identity name="inline">
      <p:with-input port="source">
         <p:inline content-type="text/plain">Hello, world.</p:inline>
      </p:with-input>
   </p:identity>
   <p:cast-content-type content-type="application/xml"
                        name="properties">
      <p:with-input port="source"
                    select="p:document-properties(.)"/>
   </p:cast-content-type>
   <p:wrap-sequence wrapper="c:result">
      <p:with-input port="source"
                    pipe="@properties @inline"/>
   </p:wrap-sequence>
</p:declare-step>

Result

<c:result xmlns:c="http://www.w3.org/ns/xproc-step"
          xmlns:t="http://xproc.org/ns/testsuite/3.0">
   <map xmlns="http://www.w3.org/2005/xpath-functions">
      <string key="content-type">text/plain</string>
      <string key="base-uri">file:/woodpecker/src/codeberg.org/xmlcalabash/xmlcalabash3/tests/3.0-test-suite/test-suite/tests/p-inline-002.xml</string>
   </map>Hello, world.</c:result>

Schematron checks

<s:schema xmlns="http://www.w3.org/1999/xhtml"
          xmlns:s="http://purl.oclc.org/dsdl/schematron" xmlns:t="http://xproc.org/ns/testsuite/3.0"
          queryBinding="xslt2">
   <s:ns prefix="j"
         uri="http://www.w3.org/2005/xpath-functions"/>
   <s:ns prefix="c"
         uri="http://www.w3.org/ns/xproc-step"/>
   <s:pattern>
      <s:rule context="/*">
         <s:assert test="self::c:result">The pipeline root is not c:result</s:assert>
         <s:assert test="j:map">The result does not include 'j:map'.</s:assert>
         <s:assert test="(text())[1] = 'Hello, world.'">The result does not have the required text</s:assert>
         <s:assert test="j:map/j:string[@key='content-type']/text() = 'text/plain'">
                     The content type of the result is not text/plain
               </s:assert>
      </s:rule>
   </s:pattern>
</s:schema>

Revision history

10 Jun 2021, Achim Berndzen
Added attribute 'queryBinding' to schematron's schema.
23 Nov 2019, Achim Berndzen
Changed test from p:document-properties-document() to p:document-properties().
22 Oct 2018, Norman Walsh
Fixed result document ( c:document-properties, not p:document-properties)
12 Oct 2018, Achim Berndzen
Fixing broken test (namespace removed)
07 Jul 2018, Achim Berndzen
=Adapted tests to PR #422
02 May 2018, Achim Berndzen
Change test with document-properties to map{xs:QName, item()}
03 Apr 2018, Achim Berndzen
Some new tests.
18 Feb 2018, Achim Berndzen
Reversed @pipe-substructure. (->Prague 2018)
02 Feb 2018, Achim Berndzen
added new tests
09 Oct 2017, Norman Walsh
New tests for p:inline