Name
p:delete — The standard p:delete step.
Synopsis
The p:delete
step deletes items specified by a selection pattern from the
source
input document and produces the resulting document,
with the deleted items removed, on the result port.
Input port | Primary | Sequence | Content types |
---|---|---|---|
source | ✔ | xml html |
Output port | Primary | Sequence | Content types |
---|---|---|---|
result | ✔ | text xml html |
Option name | Type | Required |
---|---|---|
match | XSLTSelectionPattern | ✔ |
Declaration
1 |<p:declare-step xmlns:p="http://www.w3.org/ns/xproc">
| <p:input port="source" content-types="xml html"/>
| <p:output port="result" content-types="text xml html"/>
| <p:option xmlns:e="http://www.w3.org/1999/XSL/Spec/ElementSyntax"
5 | name="match"
| required="true"
| as="xs:string"
| e:type="XSLTSelectionPattern"/>
|</p:declare-step>
Errors
Code | Description |
---|---|
err:XC0023 | It is a dynamic error (err:XC0023 ) if the
match option matches the document node. |
err:XC0062 | It is a dynamic error (err:XC0062 ) if the
match option matches a namespace node. |
Description
The p:delete
step is a
standard XProc 3.0 step.
It is also described on XProcRef.org.
Examples
Applied to the running example, this pipeline:
1 |<p:declare-step version="3.1"
| xmlns:p="http://www.w3.org/ns/xproc"
| xmlns:ex="https://xmlcalabash.com/ns/examples">
| <p:input port="source"/>
5 | <p:output port="result"/>
|
| <p:delete match="//ex:chap/@class"/>
|
|</p:declare-step>
Produces this output:
1 |<doc xmlns="https://xmlcalabash.com/ns/examples" xmlns:xi="http://www.w3.org/2001/XInclude" class="book">
| <chap former="1">
| <title>First Chapter</title>
| <p>…</p>
5 | </chap>
| <xi:include href="default-ch2.xml"/>
| <chap><title>Third Chapter</title>
| <p>…</p>
| </chap>
10 | <app><title>Appendix</title>
| <p>…</p>
| </app>
|</doc>
This listing attempts to summarize what has changed from the original input.
The change markup version is unavailable. DeltaXML is required to generate change markup.
When present, additions are shown in bold, green
;
deletions are shown in
italic, red with strike through
;
and changed elements are shown in
bold, italic orange
.
1 |<doc xmlns="https://xmlcalabash.com/ns/examples"
| xmlns:xi="http://www.w3.org/2001/XInclude"
| class="book">
| <chap former="1" class="test">
5 | <title>First Chapter</title>
| <p>…</p>
| </chap>
| <xi:include href="default-ch2.xml"/>
| <chap><title>Third Chapter</title>
10 | <p>…</p>
| </chap>
| <app><title>Appendix</title>
| <p>…</p>
| </app>
15 |</doc>
The p:delete
step can also delete elements:
1 |<p:declare-step version="3.1"
| xmlns:p="http://www.w3.org/ns/xproc"
| xmlns:ex="https://xmlcalabash.com/ns/examples">
| <p:input port="source"/>
5 | <p:output port="result"/>
|
| <p:delete match="/ex:doc/ex:chap[1]"/>
|
|</p:declare-step>
Produces this output:
1 |<doc xmlns="https://xmlcalabash.com/ns/examples" xmlns:xi="http://www.w3.org/2001/XInclude" class="book">
|
| <xi:include href="default-ch2.xml"/>
| <chap><title>Third Chapter</title>
5 | <p>…</p>
| </chap>
| <app><title>Appendix</title>
| <p>…</p>
| </app>
10 |</doc>
This listing attempts to summarize what has changed from the original input.
The change markup version is unavailable. DeltaXML is required to generate change markup.
When present, additions are shown in bold, green
;
deletions are shown in
italic, red with strike through
;
and changed elements are shown in
bold, italic orange
.
1 |<doc xmlns="https://xmlcalabash.com/ns/examples"
| xmlns:xi="http://www.w3.org/2001/XInclude"
| class="book">
| <chap former="1" class="test">
5 | <title>First Chapter</title>
| <p>…</p>
| </chap>
| <xi:include href="default-ch2.xml"/>
| <chap><title>Third Chapter</title>
10 | <p>…</p>
| </chap>
| <app><title>Appendix</title>
| <p>…</p>
| </app>
15 |</doc>