Testing dtd-id-idref-warnings: set to true, source is valid.
Test ab-validate-with-relax-ng-016.xml is expected to pass.
It requires the following features: dtd-id-ref-warning or p-validate-with-relax-ng.
<p:declare-step xmlns:p="http://www.w3.org/ns/xproc" name="pipeline" version="3.0">
<p:output port="result"/>
<p:validate-with-relax-ng dtd-id-idref-warnings="true">
<p:with-input port="source">
<doc>
<title>Title</title>
<p id="foo">Some paragraph.</p>
<p idref="foo">Some other paragraph</p>
</doc>
</p:with-input>
<p:with-input port="schema">
<p:inline content-type="text/plain" expand-text="false">
namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0"
element doc {
element title {
[ a:defaultValue="en-us" ]
attribute language { text }?,
text
}?,
element p {
attribute id { xsd:ID }?,
attribute idref { xsd:IDREF }?,
text
}*
}
</p:inline>
</p:with-input>
</p:validate-with-relax-ng>
</p:declare-step>
<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="doc">The element root is not “doc”.</s:assert>
<s:assert test="doc/title">The element root does not have a child 'title'.</s:assert>
<s:assert test="doc/p">Element root does not have child 'p'.</s:assert>
</s:rule>
</s:pattern>
</s:schema>
Added attribute 'queryBinding' to schematron's schema.
Initial publication