Port=schema:
<grammar xmlns="http://relaxng.org/ns/structure/1.0"> <start> <ref name="doc"/> </start> <define name="doc"> <element name="doc"> <optional> <ref name="title"/> </optional> <zeroOrMore> <ref name="p"/> </zeroOrMore> </element> </define> <define name="title"> <element name="title"> <text/> </element> </define> <define name="p"> <element name="p"> <text/> </element> </define> </grammar>
Port=source:
<doc> <title>Title</title> <p>Some paragraph.</p> </doc>
<p:pipeline name="pipeline" xmlns:p="http://www.w3.org/2007/03/xproc"> <p:input port="source"/> <p:input port="schema"/> <p:output port="result"/> <p:validate-relax-ng> <p:input port="source"> <p:pipe step="pipeline" port="source"/> </p:input> <p:input port="schema"> <p:pipe step="pipeline" port="schema"/> </p:input> </p:validate-relax-ng> </p:pipeline>
Port=result:
<doc> <title>Title</title> <p>Some paragraph.</p> </doc>