Skip to content

Commit 4f88fb3

Browse files
authored
Merge pull request #19 from ndw/more-refactor
Refactor all the things! Basically, a complete rewrite of the model
2 parents 60401e6 + 2c6bcc9 commit 4f88fb3

File tree

259 files changed

+10386
-8634
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

259 files changed

+10386
-8634
lines changed

build.sbt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@ import java.io.{BufferedReader, InputStreamReader}
22

33
enablePlugins(JavaAppPackaging)
44

5-
lazy val xmlCalabashVersion = "2.99.8"
6-
lazy val jafplVersion = "0.3.75"
5+
lazy val xmlCalabashVersion = "2.99.9"
6+
lazy val jafplVersion = "0.3.83"
77
lazy val saxonVersion = "10.6"
88
lazy val useSaxonEE = Option(System.getProperty("saxonEdition")).getOrElse("HE") == "EE"
99

src/main/resources/com.xmlcalabash.library.xpl

Lines changed: 28 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,6 @@
33
xmlns:xs="http://www.w3.org/2001/XMLSchema"
44
version="3.0">
55

6-
<p:function name="p:system-property"/>
7-
<p:function name="p:document-properties"/>
8-
<p:function name="cx:cwd"/>
9-
106
<p:declare-step type="p:add-attribute">
117
<p:input port="source" content-types="application/xml"/>
128
<p:output port="result" content-types="application/xml"/>
@@ -152,7 +148,7 @@
152148
<p:option name="value" required="true" as="xs:string"/>
153149
<p:option name="algorithm" required="true" as="xs:QName"/>
154150
<p:option name="match" as="xs:string" select="'/*/node()'" cx:as="XSLTSelectionPattern"/>
155-
<p:option name="version" as="xs:string"/>
151+
<p:option name="version" as="xs:string?"/>
156152
</p:declare-step>
157153

158154
<p:declare-step type="p:http-request">
@@ -178,7 +174,7 @@
178174
<p:input port="insertion" sequence="true" content-types="application/xml text/* */*+xml"/>
179175
<p:output port="result" content-types="application/xml"/>
180176
<p:option name="match" select="'/*'" as="xs:string" cx:as="XSLTSelectionPattern"/>
181-
<p:option name="position" as="xs:token"
177+
<p:option name="position"
182178
values="('first-child','last-child','before','after')" select="'after'"/>
183179
</p:declare-step>
184180

@@ -191,7 +187,7 @@
191187
<p:declare-step type="p:json-merge">
192188
<p:input port="source" sequence="true" content-types="any"/>
193189
<p:output port="result" content-types="application/json"/>
194-
<p:option name="duplicates" as="xs:token"
190+
<p:option name="duplicates"
195191
values="('reject', 'use-first', 'use-last', 'use-any', 'combine')" select="'use-first'"/>
196192
<p:option name="key" as="xs:string" select="'concat(''_'',$p:index)'"/><!-- XPathExpression -->
197193
</p:declare-step>
@@ -209,7 +205,7 @@
209205
<p:output port="result" sequence="true" content-types="*/*"/>
210206
<p:option name="href" required="true" as="xs:anyURI"/>
211207
<p:option name="parameters" as="map(xs:QName,item()*)?"/>
212-
<p:option name="content-type" as="xs:string"/>
208+
<p:option name="content-type" as="xs:string?"/>
213209
<p:option name="document-properties" as="map(xs:QName,item()*)?"/>
214210
</p:declare-step>
215211

@@ -222,9 +218,9 @@
222218
<p:declare-step type="p:namespace-rename">
223219
<p:input port="source" content-types="xml html"/>
224220
<p:output port="result" content-types="xml html"/>
225-
<p:option name="from" as="xs:anyURI"/>
226-
<p:option name="to" as="xs:anyURI"/>
227-
<p:option name="apply-to" as="xs:token" select="'all'"
221+
<p:option name="from" as="xs:anyURI?"/>
222+
<p:option name="to" as="xs:anyURI?"/>
223+
<p:option name="apply-to" select="'all'"
228224
values="('all','elements','attributes')"/>
229225
</p:declare-step>
230226

@@ -328,9 +324,9 @@
328324
<p:declare-step type="p:text-join">
329325
<p:input port="source" sequence="true" content-types="text"/>
330326
<p:output port="result" sequence="false" content-types="text"/>
331-
<p:option name="separator" required="false" as="xs:string"/>
332-
<p:option name="prefix" required="false" as="xs:string"/>
333-
<p:option name="suffix" required="false" as="xs:string"/>
327+
<p:option name="separator" required="false" as="xs:string?"/>
328+
<p:option name="prefix" required="false" as="xs:string?"/>
329+
<p:option name="suffix" required="false" as="xs:string?"/>
334330
<p:option name="override-content-type" required="false" as="xs:string?"/>
335331
</p:declare-step>
336332

@@ -339,7 +335,7 @@
339335
<p:output port="result" primary="true" sequence="false" content-types="text"/>
340336
<p:option name="pattern" required="true" as="xs:string"/>
341337
<p:option name="replacement" required="true" as="xs:string"/>
342-
<p:option name="flags" required="false" as="xs:string"/>
338+
<p:option name="flags" required="false" as="xs:string?"/>
343339
</p:declare-step>
344340

345341
<p:declare-step type="p:text-sort">
@@ -429,8 +425,8 @@
429425
<p:option name="use-location-hints" select="false()" as="xs:boolean"/>
430426
<p:option name="try-namespaces" select="false()" as="xs:boolean"/>
431427
<p:option name="assert-valid" select="true()" as="xs:boolean"/>
432-
<p:option name="mode" select="'strict'" as="xs:token" cx:as="strict|lax"/>
433-
<p:option name="version" as="xs:string"/>
428+
<p:option name="mode" select="'strict'" values="('strict', 'lax')"/>
429+
<p:option name="version" as="xs:string?"/>
434430
</p:declare-step>
435431

436432
<p:declare-step type="p:wrap">
@@ -445,7 +441,7 @@
445441
<p:input port="source" content-types="application/xml */*+xml text/*" sequence="true"/>
446442
<p:output port="result" sequence="true" content-types="application/xml"/>
447443
<p:option name="wrapper" required="true" as="xs:QName"/>
448-
<p:option name="group-adjacent" as="xs:string" cx:as="XPathExpression"/>
444+
<p:option name="group-adjacent" as="xs:string?" cx:as="XPathExpression"/>
449445
</p:declare-step>
450446

451447
<p:declare-step type="p:www-form-urldecode">
@@ -455,7 +451,7 @@
455451

456452
<p:declare-step type="p:www-form-urlencode">
457453
<p:output port="result" content-types="text/plain"/>
458-
<p:option name="parameters" required="true" as="map(xs:string,xs:untypedAtomic+)"/>
454+
<p:option name="parameters" required="true" as="map(xs:string,xs:anyAtomicType+)"/>
459455
</p:declare-step>
460456

461457
<p:declare-step type="p:xinclude">
@@ -536,11 +532,19 @@
536532
</p:declare-step>
537533

538534
<p:declare-step type="cx:document-loader">
535+
<p:output port="result" sequence="true"/>
536+
</p:declare-step>
537+
538+
<p:declare-step type="cx:document-loader-vt">
539539
<p:input port="source" sequence="true"/>
540540
<p:output port="result" sequence="true"/>
541541
</p:declare-step>
542542

543543
<p:declare-step type="cx:inline-loader">
544+
<p:output port="result" sequence="true"/>
545+
</p:declare-step>
546+
547+
<p:declare-step type="cx:inline-loader-vt">
544548
<p:input port="source" sequence="true"/>
545549
<p:output port="result" sequence="true"/>
546550
</p:declare-step>
@@ -549,4 +553,9 @@
549553
<p:output port="result" sequence="true"/>
550554
</p:declare-step>
551555

556+
<p:declare-step type="cx:value-computation">
557+
<p:input port="source" sequence="true"/>
558+
<p:output port="result" sequence="true"/>
559+
</p:declare-step>
560+
552561
</p:library>

src/main/resources/com.xmlcalabash.properties

Lines changed: 0 additions & 93 deletions
This file was deleted.
Lines changed: 95 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,95 @@
1+
namespace http://xmlcalabash.com/ns/extensions = cx
2+
namespace http://www.w3.org/ns/xproc = p
3+
namespace http://exproc.org/standard/functions = exf
4+
5+
function exf:cwd = com.xmlcalabash.functions.Cwd
6+
function p:document-properties = com.xmlcalabash.functions.DocumentProperties
7+
function p:document-property = com.xmlcalabash.functions.DocumentProperty
8+
function p:force-qname-keys = com.xmlcalabash.functions.ForceQNameKeys
9+
function cx:step-elapsed = com.xmlcalabash.functions.InjElapsed
10+
function cx:injectable-id = com.xmlcalabash.functions.InjId
11+
function cx:step-name = com.xmlcalabash.functions.InjName
12+
function cx:step-type = com.xmlcalabash.functions.InjType
13+
function p:system-property = com.xmlcalabash.functions.SystemProperty
14+
function p:step-available = com.xmlcalabash.functions.StepAvailable
15+
function p:iteration-position = com.xmlcalabash.functions.IterationPosition
16+
function p:iteration-size = com.xmlcalabash.functions.IterationSize
17+
function p:urify = com.xmlcalabash.functions.UrifyFunction
18+
19+
step p:add-attribute = com.xmlcalabash.steps.AddAttribute
20+
step p:archive = com.xmlcalabash.steps.Archive
21+
step p:archive-manifest = com.xmlcalabash.steps.ArchiveManifest
22+
step p:cast-content-type = com.xmlcalabash.steps.CastContentType
23+
step p:count = com.xmlcalabash.steps.Count
24+
step p:compress = com.xmlcalabash.steps.Compress
25+
step p:delete = com.xmlcalabash.steps.Delete
26+
step p:error = com.xmlcalabash.steps.Error
27+
step p:escape-markup = com.xmlcalabash.steps.EscapeMarkup
28+
step p:directory-list = com.xmlcalabash.steps.file.DirectoryList
29+
step p:file-copy = com.xmlcalabash.steps.file.FileCopy
30+
step p:file-delete = com.xmlcalabash.steps.file.FileDelete
31+
step p:file-info = com.xmlcalabash.steps.file.FileInfo
32+
step p:file-mkdir = com.xmlcalabash.steps.file.FileMkdir
33+
step p:file-move = com.xmlcalabash.steps.file.FileMove
34+
step p:file-create-tempfile = com.xmlcalabash.steps.file.FileCreateTempFile
35+
step p:file-touch = com.xmlcalabash.steps.file.FileTouch
36+
step p:filter = com.xmlcalabash.steps.Filter
37+
step p:hash = com.xmlcalabash.steps.Hash
38+
step p:http-request = com.xmlcalabash.steps.HttpRequest
39+
step p:identity = com.xmlcalabash.steps.Identity
40+
step p:insert = com.xmlcalabash.steps.Insert
41+
step p:json-join = com.xmlcalabash.steps.json.Join
42+
step p:json-merge = com.xmlcalabash.steps.json.Merge
43+
step p:label-elements = com.xmlcalabash.steps.LabelElements
44+
step p:load = com.xmlcalabash.steps.Load
45+
step p:namespace-delete = com.xmlcalabash.steps.NamespaceDelete
46+
step p:namespace-rename = com.xmlcalabash.steps.NamespaceRename
47+
step p:os-info = com.xmlcalabash.steps.os.OsInfo
48+
step p:os-exec = com.xmlcalabash.steps.os.OsExec
49+
step p:pack = com.xmlcalabash.steps.Pack
50+
step p:parameters = com.xmlcalabash.steps.Parameters
51+
step p:rename = com.xmlcalabash.steps.Rename
52+
step p:replace = com.xmlcalabash.steps.Replace
53+
step p:set-attributes = com.xmlcalabash.steps.SetAttributes
54+
step p:set-properties = com.xmlcalabash.steps.SetProperties
55+
step p:sink = com.xmlcalabash.steps.Sink
56+
step p:split-sequence = com.xmlcalabash.steps.SplitSequence
57+
step p:store = com.xmlcalabash.steps.Store
58+
step p:string-replace = com.xmlcalabash.steps.StringReplace
59+
step p:text-count = com.xmlcalabash.steps.text.Count
60+
step p:text-head = com.xmlcalabash.steps.text.Head
61+
step p:text-join = com.xmlcalabash.steps.text.Join
62+
step p:text-replace = com.xmlcalabash.steps.text.Replace
63+
step p:text-sort = com.xmlcalabash.steps.text.Sort
64+
step p:text-tail = com.xmlcalabash.steps.text.Tail
65+
step p:unarchive = com.xmlcalabash.steps.Unarchive
66+
step p:uncompress = com.xmlcalabash.steps.Uncompress
67+
step p:unescape-markup = com.xmlcalabash.steps.UnescapeMarkup
68+
step p:unwrap = com.xmlcalabash.steps.Unwrap
69+
step p:www-form-urldecode = com.xmlcalabash.steps.WwwFormUrlDecode
70+
step p:www-form-urlencode = com.xmlcalabash.steps.WwwFormUrlEncode
71+
step p:uuid = com.xmlcalabash.steps.Uuid
72+
step p:validate-with-relax-ng = com.xmlcalabash.steps.ValidateWithRNG
73+
step p:validate-with-schematron = com.xmlcalabash.steps.ValidateWithSCH
74+
step p:validate-with-xml-schema = com.xmlcalabash.steps.ValidateWithXSD
75+
step p:wrap = com.xmlcalabash.steps.Wrap
76+
step p:wrap-sequence = com.xmlcalabash.steps.WrapSequence
77+
step p:xinclude = com.xmlcalabash.steps.XInclude
78+
step p:xquery = com.xmlcalabash.steps.XQuery
79+
step p:xslt = com.xmlcalabash.steps.Xslt
80+
step cx:base64-decode = com.xmlcalabash.steps.B64Decode
81+
step cx:base64-encode = com.xmlcalabash.steps.B64Encode
82+
step cx:exception-translator = com.xmlcalabash.steps.ExceptionTranslator
83+
step cx:javascript = com.xmlcalabash.steps.JavaScript
84+
step cx:markdown = com.xmlcalabash.steps.Markdown
85+
step cx:option-value = com.xmlcalabash.steps.OptionValue
86+
step cx:property-extract = com.xmlcalabash.steps.PropertyExtract
87+
step cx:property-merge = com.xmlcalabash.steps.PropertyMerge
88+
step cx:content-type-checker = com.xmlcalabash.steps.internal.ContentTypeChecker
89+
step cx:select-filter = com.xmlcalabash.steps.internal.SelectFilter
90+
step cx:document-loader = com.xmlcalabash.steps.internal.DocumentLoader
91+
step cx:document-loader-vt = com.xmlcalabash.steps.internal.DocumentLoader
92+
step cx:inline-loader = com.xmlcalabash.steps.internal.InlineLoader
93+
step cx:inline-loader-vt = com.xmlcalabash.steps.internal.InlineLoader
94+
step cx:empty-loader = com.xmlcalabash.steps.internal.EmptyLoader
95+
step cx:value-computation = com.xmlcalabash.steps.internal.ValueComputation

0 commit comments

Comments
 (0)