<?xml version="1.0" encoding="UTF-8"?>
<p:pipeline-library xmlns:p="http://www.w3.org/ns/xproc" name="standard-library">
   <p:declare-step type="p:add-attribute" name="add-attribute">
      <p:input port="source"/>
      <p:output port="result"/>
      <p:option name="match" required="true"/>
      <p:option name="attribute-name" required="true"/>
      <p:option name="attribute-value" required="true"/>
   </p:declare-step>
   <p:declare-step type="p:add-xml-base" name="add-xml-base">
      <p:input port="source"/>
      <p:output port="result"/>
      <p:option name="all" value="false"/>
      <p:option name="relative" value="true"/>
   </p:declare-step>
   <p:declare-step type="p:compare" name="compare">
      <p:input port="source" primary="true"/>
      <p:input port="alternate"/>
      <p:output port="result" primary="false"/>
      <p:option name="fail-if-not-equal" value="false"/>
   </p:declare-step>
   <p:declare-step type="p:count" name="count">
      <p:input port="source" sequence="true"/>
      <p:output port="result"/>
   </p:declare-step>
   <p:declare-step type="p:delete" name="delete">
      <p:input port="source"/>
      <p:output port="result"/>
      <p:option name="match" required="true"/>
   </p:declare-step>
   <p:declare-step type="p:directory-list" name="directory-list">
      <p:output port="result"/>
      <p:option name="path" value="."/>
      <p:option name="filter"/>
   </p:declare-step>
   <p:declare-step type="p:error" name="error">
      <p:option name="code" required="true"/>
      <p:option name="description" required="true"/>
   </p:declare-step>
   <p:declare-step type="p:escape-markup" name="escape-markup">
      <p:input port="source"/>
      <p:output port="result"/>
      <p:option name="cdata-section-elements"/>
      <p:option name="doctype-public"/>
      <p:option name="doctype-system"/>
      <p:option name="encoding"/>
      <p:option name="escape-uri-attributes"/>
      <p:option name="include-content-type"/>
      <p:option name="indent" value="false"/>
      <p:option name="media-type"/>
      <p:option name="method" value="xml"/>
      <p:option name="omit-xml-declaration"/>
      <p:option name="standalone"/>
      <p:option name="undeclare-prefixes"/>
      <p:option name="version" value="1.0"/>
   </p:declare-step>
   <p:declare-step type="p:http-request" name="http-request">
      <p:input port="source"/>
      <p:output port="result"/>
      <p:option name="byte-order-mark"/>
      <p:option name="cdata-section-elements"/>
      <p:option name="doctype-public"/>
      <p:option name="doctype-system"/>
      <p:option name="encoding"/>
      <p:option name="escape-uri-attributes"/>
      <p:option name="include-content-type"/>
      <p:option name="indent" value="false"/>
      <p:option name="media-type"/>
      <p:option name="method" value="xml"/>
      <p:option name="normalization-form"/>
      <p:option name="omit-xml-declaration"/>
      <p:option name="standalone"/>
      <p:option name="undeclare-prefixes"/>
   </p:declare-step>
   <p:declare-step type="p:identity" name="identity">
      <p:input port="source" sequence="true"/>
      <p:output port="result" sequence="true"/>
   </p:declare-step>
   <p:declare-step type="p:insert" name="insert">
      <p:input port="source" primary="true"/>
      <p:input port="insertion"/>
      <p:output port="result"/>
      <p:option name="match" value="/*"/>
      <p:option name="position" required="true"/>
   </p:declare-step>
   <p:declare-step type="p:label-elements" name="label-elements">
      <p:input port="source"/>
      <p:output port="result"/>
      <p:option name="attribute" value="xml:id"/>
      <p:option name="prefix" value="_"/>
      <p:option name="suffix" value=""/>
      <p:option name="select" value="*"/>
      <p:option name="scheme" value="count-elements"/>
   </p:declare-step>
   <p:declare-step type="p:load" name="load">
      <p:output port="result"/>
      <p:option name="href" required="true"/>
      <p:option name="validate"/>
   </p:declare-step>
   <p:declare-step type="p:make-absolute-uris" name="make-absolute-uris">
      <p:input port="source"/>
      <p:output port="result"/>
      <p:option name="match" required="true"/>
      <p:option name="base-uri"/>
   </p:declare-step>
   <p:declare-step type="p:namespace-rename" name="namespace-rename">
      <p:input port="source"/>
      <p:output port="result"/>
      <p:option name="from"/>
      <p:option name="to"/>
      <p:option name="elements-only"/>
   </p:declare-step>
   <p:declare-step type="p:pack" name="pack">
      <p:input port="source" sequence="true" primary="true"/>
      <p:input port="alternate" sequence="true"/>
      <p:output port="result" sequence="true"/>
      <p:option name="wrapper" required="true"/>
   </p:declare-step>
   <p:declare-step type="p:parameters" name="parameters">
      <p:input port="parameters" kind="parameter" primary="false" sequence="true"/>
      <p:output port="result" sequence="true" primary="false"/>
   </p:declare-step>
   <p:declare-step type="p:rename" name="rename">
      <p:input port="source"/>
      <p:output port="result"/>
      <p:option name="match" required="true"/>
      <p:option name="new-name" required="true"/>
   </p:declare-step>
   <p:declare-step type="p:replace" name="replace">
      <p:input port="source" primary="true"/>
      <p:input port="replacement"/>
      <p:output port="result"/>
      <p:option name="match" required="true"/>
   </p:declare-step>
   <p:declare-step type="p:set-attributes" name="set-attributes">
      <p:input port="source" primary="true"/>
      <p:input port="attributes"/>
      <p:output port="result"/>
      <p:option name="match" required="true"/>
   </p:declare-step>
   <p:declare-step type="p:sink" name="sink">
      <p:input port="source" sequence="true"/>
   </p:declare-step>
   <p:declare-step type="p:split-sequence" name="split-sequence">
      <p:input port="source" sequence="true"/>
      <p:output port="matched" sequence="true" primary="true"/>
      <p:output port="not-matched" sequence="true"/>
      <p:option name="test" required="true"/>
   </p:declare-step>
   <p:declare-step type="p:string-replace" name="string-replace">
      <p:input port="source"/>
      <p:output port="result"/>
      <p:option name="match" required="true"/>
      <p:option name="replace" required="true"/>
   </p:declare-step>
   <p:declare-step type="p:store" name="store">
      <p:input port="source"/>
      <p:output port="result" primary="false"/>
      <p:option name="href"/>
      <p:option name="byte-order-mark"/>
      <p:option name="cdata-section-elements"/>
      <p:option name="doctype-public"/>
      <p:option name="doctype-system"/>
      <p:option name="encoding"/>
      <p:option name="escape-uri-attributes"/>
      <p:option name="include-content-type"/>
      <p:option name="indent" value="false"/>
      <p:option name="media-type"/>
      <p:option name="method" value="xml"/>
      <p:option name="normalization-form"/>
      <p:option name="omit-xml-declaration"/>
      <p:option name="standalone"/>
      <p:option name="undeclare-prefixes"/>
      <p:option name="version" value="1.0"/>
   </p:declare-step>
   <p:declare-step type="p:unescape-markup" name="unescape-markup">
      <p:input port="source"/>
      <p:output port="result"/>
      <p:option name="namespace"/>
      <p:option name="content-type" value="application/xml"/>
      <p:option name="encoding"/>
      <p:option name="charset"/>
   </p:declare-step>
   <p:declare-step type="p:unwrap" name="unwrap">
      <p:input port="source"/>
      <p:output port="result"/>
      <p:option name="match" required="true"/>
   </p:declare-step>
   <p:declare-step type="p:wrap" name="wrap">
      <p:input port="source"/>
      <p:output port="result"/>
      <p:option name="wrapper" required="true"/>
      <p:option name="match" required="true"/>
      <p:option name="group-adjacent"/>
   </p:declare-step>
   <p:declare-step type="p:wrap-sequence" name="wrap-sequence">
      <p:input port="source" sequence="true"/>
      <p:output port="result" sequence="true"/>
      <p:option name="wrapper" required="true"/>
      <p:option name="group-adjacent"/>
   </p:declare-step>
   <p:declare-step type="p:xinclude" name="xinclude">
      <p:input port="source"/>
      <p:output port="result"/>
   </p:declare-step>
   <p:declare-step type="p:xslt" name="xslt">
      <p:input port="source" primary="true"/>
      <p:input port="stylesheet"/>
      <p:input port="parameters" kind="parameter" sequence="true"/>
      <p:output port="result"/>
   </p:declare-step>
   <p:declare-step type="p:validate-relax-ng" name="validate-relax-ng">
      <p:input port="source" primary="true"/>
      <p:input port="schema"/>
      <p:output port="result"/>
      <p:option name="dtd-compatibility" value="false"/>
      <p:option name="assert-valid" value="true"/>
   </p:declare-step>
   <p:declare-step type="p:validate-schematron" name="validate-schematron">
      <p:input port="source" primary="true"/>
      <p:input port="schema"/>
      <p:output port="result"/>
   </p:declare-step>
   <p:declare-step type="p:validate-xml-schema" name="validate-xml-schema">
      <p:input port="source" primary="true"/>
      <p:input port="schema" sequence="true"/>
      <p:output port="result"/>
      <p:option name="assert-valid" value="true"/>
      <p:option name="mode" value="strict"/>
   </p:declare-step>
   <p:declare-step type="p:xquery" name="xquery">
      <p:input port="source" sequence="true" primary="true"/>
      <p:input port="query"/>
      <p:input port="parameters" kind="parameter" sequence="true"/>
      <p:output port="result" sequence="true"/>
   </p:declare-step>
   <p:declare-step type="p:xslt2" name="xslt2">
      <p:input port="source" sequence="true" primary="true"/>
      <p:input port="stylesheet"/>
      <p:input port="parameters" kind="parameter" sequence="true"/>
      <p:output port="result" primary="true"/>
      <p:output port="secondary" sequence="true"/>
      <p:option name="initial-mode"/>
      <p:option name="template-name"/>
      <p:option name="allow-version-mismatch" value="true"/>
      <p:option name="output-base-uri"/>
      <p:option name="allow-collections" value="true"/>
   </p:declare-step>
   <p:declare-step type="p:xsl-formatter" name="xsl-formatter">
      <p:input port="source"/>
      <p:input port="parameters" kind="parameter" sequence="true"/>
      <p:output port="result" primary="false"/>
      <p:option name="uri" required="true"/>
      <p:option name="content-type"/>
   </p:declare-step>
</p:pipeline-library>