p:rename-007a (AB)

Tests new-namespace and new-prefix. If you attempt to duplicate a prefix, make sure the namespace bindings don't get mangled!

Test ab-rename-007a.xml is expected to pass.

The pipeline


<p:declare-step xmlns:p="http://www.w3.org/ns/xproc" version="3.0">
   <p:input port="source"/>
   <p:output port="result"/>
   <p:rename match="element/@attr">
      <p:with-option name="new-name" select="QName('http://bar2.com/','bar:attr')"/>
   </p:rename>
</p:declare-step>
MorganaXProc passing XML Calabash passing

Inputs

port = source


<document>
   <element xmlns:bar="http://bar.com/" bar:baz="baz" attr="value"/>
</document>

Schematron validation


<s:schema xmlns="http://www.w3.org/1999/xhtml" xmlns:s="http://purl.oclc.org/dsdl/schematron" queryBinding="xslt2">
   <s:ns uri="http://bar.com/" prefix="bar"/>
   <s:ns uri="http://bar2.com/" prefix="bar2"/>
   <s:pattern>
      <s:rule context="/">
         <s:assert test="document">The root element is not 'document'.</s:assert>
         <s:assert test="document/element">Root element does not have a child 'element'.</s:assert>
         <s:assert test="document/element/@bar:baz">Element 'element' does not have an attribute Q{http://bar.com}baz.</s:assert>
         <s:assert test="document/element/@bar2:attr">Element 'element' does not have an attribute Q{http://bar2.com}attr.</s:assert>
      </s:rule>
   </s:pattern>
</s:schema>

Revision history

10 Jun 2021, Achim Berndzen

Added attribute 'queryBinding' to schematron's schema.

28 Jun 2019, Achim Berndzen

Fix tests by removing AVT

18 May 2019, Achim Berndzen

Ported tests for p:rename