Features: webaccess

p:document 002

Tests p:document with a relative uri in @href: Base uri of p:document to be used.

Test is expected to pass.

The pipeline

<p:declare-step xmlns:p="http://www.w3.org/ns/xproc"
                xmlns:t="http://xproc.org/ns/testsuite/3.0" version="3.0">
   <p:output port="result"/>
   <p:identity>
      <p:with-input>
         <p:document href="learning.html"
                     xml:base="http://xproc.org/"/>
      </p:with-input>
   </p:identity>
</p:declare-step>

Result

<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:t="http://xproc.org/ns/testsuite/3.0">
   <head>
      <meta content="text/html; charset=utf-8"
            http-equiv="Content-Type"/>
      <meta content="ie=edge"
            http-equiv="x-ua-compatible"/>
      <meta content="width=device-width, initial-scale=1"
            name="viewport"/>
      <link href="css/tufte.css" rel="stylesheet"/>
      <link href="css/xproc.css" rel="stylesheet"/>
      <link href="https://use.typekit.net/zgg8zqr.css"
            rel="stylesheet"/>
      <script crossorigin="anonymous"
              integrity="sha256-BJeo0qm959uMBGb65z40ejJYGSgR7REI4+CW1fNKwOg="
              src="https://code.jquery.com/jquery-3.4.0.min.js"/>
      <script src="js/mdecl.js"/>
      <link href="img/favicon.gif" rel="icon"/>
      <title>XProc - Learning</title>
   </head>
   <body>
      <main>
         <header>
            <nav class="sidebar">
               <img alt="[Logo]" id="mainlogo"
                    src="img/logo.png"/>
               <ul>
                  <li>
                     <a href="index.html">Home</a>
                  </li>
                  <li>
                     <a href="introduction.html">Introduction</a>
                  </li>
                  <li>
                     <a href="specifications.html">Specification</a>
                  </li>
                  <li>
                     <a href="processors.html">Processors</a>
                  </li>
                  <li>
                     <a href="learning.html">Learning</a>
                  </li>
                  <li>
                     <a href="test-suite.html">Test suite</a>
                  </li>
                  <li>
                     <a href="https://dashboard.xproc.org/">Dashboard</a>
                  </li>
               </ul>
            </nav>
            <nav class="inline">
               <ul>
                  <li>
                     <a href="index.html">Home</a>
                  </li>
                  <li>
                     <a href="introduction.html">Introduction</a>
                  </li>
                  <li>
                     <a href="specifications.html">Specification</a>
                  </li>
                  <li>
                     <a href="processors.html">Processors</a>
                  </li>
                  <li>
                     <a href="learning.html">Learning</a>
                  </li>
                  <li>
                     <a href="test-suite.html">Test suite</a>
                  </li>
                  <li>
                     <a href="https://dashboard.xproc.org/">Dashboard</a>
                  </li>
               </ul>
            </nav>
         </header>
         <article>
            <h1>XProc - Learning</h1>
            <p>We have collected as many learning materials as possible about XProc. This is all about version 3.0 (and also usable for 3.1).</p>
            <h2>Book</h2>
            <a href="https://xmlpress.net/publications/xproc-3-0/">
               <img src="img/book-front-page-2.png"
                    width="15%"/>
            </a>
            <p>The <em>XProc 3.0 Programmer Reference</em> by Erik Siegel is available for sale <a href="https://xmlpress.net/publications/xproc-3-0/">here</a>.</p>
            <p>
               <a href="https://xprocref.org/index.html">XProcRef</a> is an accompanying support website with user/programmer oriented reference information about the built-in steps.</p>
            <h2>XProc 101</h2>
            <p>Introductory learning materials about XProc:</p>
            <ul>
               <li>Articles:
<ul>
                     <li>
                        <a href="https://www.xml.com/articles/2019/11/05/introduction-xproc-30/">An Introduction to XProc 3.0</a> (Erik Siegel on <a href="https://www.xml.com/">xml.com</a>)</li>
                     <li>
                        <a href="https://www.xml.com/articles/2020/01/23/xproc-30-connecting-steps-using-ports/">XProc 3.0 - Connecting steps using ports</a> (Erik Siegel on <a href="https://www.xml.com/">xml.com</a>)</li>
                  </ul>
               </li>
               <li>Tutorials:
<ul>
                     <li>
                        <a href="https://xporc.net/xproc-tutorial/">XProc 3.0 Tutorial</a> (Martin Kraetke on <a href="https://xporc.net">xporc.net</a>)</li>
                  </ul>
               </li>
               <li>Conference proceedings:
<ul>
                     <li>
                        <a href="https://www.balisage.net/Proceedings/vol23/html/Walsh02/BalisageVol23-Walsh02.html">XProc 3.0</a> (Norman Tovey-Walsh and Achim Berndzen at <a href="https://www.balisage.net/">Balisage</a> 2019)</li>
                  </ul>
               </li>
               <li>Recorded conference talks:
<ul>
                     <li>
                        <a href="https://www.youtube.com/watch?v=P5fnBnJhUGA">Introduction to XProc 3.0</a> (Erik Siegel at <a href="https://declarative.amsterdam/">Declarative Amsterdam</a> 2021)</li>
                     <li>
                        <a href="https://youtu.be/Q42bhIbSYLk">XProc 3.0: Ready or Not</a> (Norman Tovey-Walsh at <a href="https://www.xmlprague.cz/">XML Prague</a> 2020)</li>
                  </ul>
               </li>
               <li>Webinars:
<ul>
                     <li>
                        <a href="https://youtu.be/g_ockOvU57U">XProc 3.0 101 - Part 1</a> (Erik Siegel at <a href="https://markupuk.org/">Markup UK</a> 2020)</li>
                     <li>
                        <a href="https://youtu.be/q0JSy07O2_I">XProc 3.0 101 - Part 2</a> (Erik Siegel at <a href="https://markupuk.org/">Markup UK</a> 2020)</li>
                  </ul>
               </li>
            </ul>
            <h2>XProc Advanced</h2>
            <p>Information about the more advanced usage of XProc:</p>
            <ul>
               <li>Articles:
<ul>
                     <li>
                        <a href="https://www.xml.com/articles/2020/11/16/xproc-30-strategies-merging-documents/">XProc 3.0 - Strategies for merging documents</a> (Erik Siegel on <a href="https://www.xml.com/">xml.com</a>)</li>
                  </ul>
               </li>
               <li>Conference proceedings
<ul>
                     <li>
                        <a href="https://markupuk.org/2018/Markup-UK-2018-proceedings.pdf">Non-XML workflows with XProc 3.0</a> (Achim Berndzen at <a href="https://markupuk.org/">Markup UK</a> 2018)</li>
                  </ul>
               </li>
               <li>Webinars:
<ul>
                     <li>
                        <a href="https://youtu.be/9Cbs8H4Gl3o">Working with JSON in XProc 3.0</a> (Achim Berndzen at <a href="https://markupuk.org/">Markup UK</a> 2020)</li>
                     <li>
                        <a href="https://youtu.be/6yvO4GOue6k">Dealing with ZIP Documents in XProc 3.0</a> (Erik Siegel at <a href="https://markupuk.org/">Markup UK</a> 2020)</li>
                     <li>
                        <a href="https://youtu.be/xwR8sH8vc8Q">Text Documents in XProc 3.0</a> (Achim Berndzen at <a href="https://markupuk.org/">Markup UK</a> 2020)</li>
                  </ul>
               </li>
            </ul>
            <h2>XProc History</h2>
            <p>Materials from XProc (3.0) illustrious history:</p>
            <ul>
               <li>Recorded conference talks:
<ul>
                     <li>
                        <a href="https://youtu.be/O51aE311BKU">Excellent XProc 3.0</a> (Erik Siegel at <a href="https://www.xmlprague.cz/">XML Prague</a> 2019)</li>
                     <li>
                        <a href="https://youtu.be/flej2PNT7yY">XProc 3.0</a> (Achim Berndzen, Gerrit Imsieke and Norman Tovey-Walsh at <a href="https://www.xmlprague.cz/">XML Prague</a> 2018)</li>
                     <li>
                        <a href="https://youtu.be/75Tk4zHOSxw">The state of XProc 3.0</a> (Norman Tovey-Walsh at <a href="https://www.xmlprague.cz/">XML Prague</a> 2017)</li>
                  </ul>
               </li>
            </ul>
         </article>
         <footer>
            <div class="iblock">Published 30 May 2025</div>
         </footer>
      </main>
   </body>
</html>

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 uri="http://www.w3.org/1999/xhtml"
         prefix="html"/>
   <s:pattern>
      <s:rule context="/">
         <s:assert test="html:html/html:head/html:title='XProc - Learning'">Element hmtl/head/title is not 'XProc - Learning'.</s:assert>
      </s:rule>
   </s:pattern>
</s:schema>

Revision history

19 Sep 2024, Achim Berndzen
Changed expected document title due to change of website.
10 Jun 2021, Achim Berndzen
Added attribute 'queryBinding' to schematron's schema.
11 Jun 2020, Achim Berndzen
Changed test as a consequence of removing of xproc.org/about.html.
31 Aug 2019, Achim Berndzen
Change target for http-request to xproc.org.
03 Apr 2018, Achim Berndzen
Some new tests.