Skip to content

Commit

Permalink
Merge pull request xmlcalabash#19 from ndw/more-refactor
Browse files Browse the repository at this point in the history
Refactor all the things! Basically, a complete rewrite of the model
  • Loading branch information
ndw committed Dec 11, 2021
2 parents 60401e6 + 2c6bcc9 commit 4f88fb3
Show file tree
Hide file tree
Showing 259 changed files with 10,386 additions and 8,634 deletions.
4 changes: 2 additions & 2 deletions build.sbt
Expand Up @@ -2,8 +2,8 @@ import java.io.{BufferedReader, InputStreamReader}

enablePlugins(JavaAppPackaging)

lazy val xmlCalabashVersion = "2.99.8"
lazy val jafplVersion = "0.3.75"
lazy val xmlCalabashVersion = "2.99.9"
lazy val jafplVersion = "0.3.83"
lazy val saxonVersion = "10.6"
lazy val useSaxonEE = Option(System.getProperty("saxonEdition")).getOrElse("HE") == "EE"

Expand Down
47 changes: 28 additions & 19 deletions src/main/resources/com.xmlcalabash.library.xpl
Expand Up @@ -3,10 +3,6 @@
xmlns:xs="http://www.w3.org/2001/XMLSchema"
version="3.0">

<p:function name="p:system-property"/>
<p:function name="p:document-properties"/>
<p:function name="cx:cwd"/>

<p:declare-step type="p:add-attribute">
<p:input port="source" content-types="application/xml"/>
<p:output port="result" content-types="application/xml"/>
Expand Down Expand Up @@ -152,7 +148,7 @@
<p:option name="value" required="true" as="xs:string"/>
<p:option name="algorithm" required="true" as="xs:QName"/>
<p:option name="match" as="xs:string" select="'/*/node()'" cx:as="XSLTSelectionPattern"/>
<p:option name="version" as="xs:string"/>
<p:option name="version" as="xs:string?"/>
</p:declare-step>

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

Expand All @@ -191,7 +187,7 @@
<p:declare-step type="p:json-merge">
<p:input port="source" sequence="true" content-types="any"/>
<p:output port="result" content-types="application/json"/>
<p:option name="duplicates" as="xs:token"
<p:option name="duplicates"
values="('reject', 'use-first', 'use-last', 'use-any', 'combine')" select="'use-first'"/>
<p:option name="key" as="xs:string" select="'concat(''_'',$p:index)'"/><!-- XPathExpression -->
</p:declare-step>
Expand All @@ -209,7 +205,7 @@
<p:output port="result" sequence="true" content-types="*/*"/>
<p:option name="href" required="true" as="xs:anyURI"/>
<p:option name="parameters" as="map(xs:QName,item()*)?"/>
<p:option name="content-type" as="xs:string"/>
<p:option name="content-type" as="xs:string?"/>
<p:option name="document-properties" as="map(xs:QName,item()*)?"/>
</p:declare-step>

Expand All @@ -222,9 +218,9 @@
<p:declare-step type="p:namespace-rename">
<p:input port="source" content-types="xml html"/>
<p:output port="result" content-types="xml html"/>
<p:option name="from" as="xs:anyURI"/>
<p:option name="to" as="xs:anyURI"/>
<p:option name="apply-to" as="xs:token" select="'all'"
<p:option name="from" as="xs:anyURI?"/>
<p:option name="to" as="xs:anyURI?"/>
<p:option name="apply-to" select="'all'"
values="('all','elements','attributes')"/>
</p:declare-step>

Expand Down Expand Up @@ -328,9 +324,9 @@
<p:declare-step type="p:text-join">
<p:input port="source" sequence="true" content-types="text"/>
<p:output port="result" sequence="false" content-types="text"/>
<p:option name="separator" required="false" as="xs:string"/>
<p:option name="prefix" required="false" as="xs:string"/>
<p:option name="suffix" required="false" as="xs:string"/>
<p:option name="separator" required="false" as="xs:string?"/>
<p:option name="prefix" required="false" as="xs:string?"/>
<p:option name="suffix" required="false" as="xs:string?"/>
<p:option name="override-content-type" required="false" as="xs:string?"/>
</p:declare-step>

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

<p:declare-step type="p:text-sort">
Expand Down Expand Up @@ -429,8 +425,8 @@
<p:option name="use-location-hints" select="false()" as="xs:boolean"/>
<p:option name="try-namespaces" select="false()" as="xs:boolean"/>
<p:option name="assert-valid" select="true()" as="xs:boolean"/>
<p:option name="mode" select="'strict'" as="xs:token" cx:as="strict|lax"/>
<p:option name="version" as="xs:string"/>
<p:option name="mode" select="'strict'" values="('strict', 'lax')"/>
<p:option name="version" as="xs:string?"/>
</p:declare-step>

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

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

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

<p:declare-step type="p:xinclude">
Expand Down Expand Up @@ -536,11 +532,19 @@
</p:declare-step>

<p:declare-step type="cx:document-loader">
<p:output port="result" sequence="true"/>
</p:declare-step>

<p:declare-step type="cx:document-loader-vt">
<p:input port="source" sequence="true"/>
<p:output port="result" sequence="true"/>
</p:declare-step>

<p:declare-step type="cx:inline-loader">
<p:output port="result" sequence="true"/>
</p:declare-step>

<p:declare-step type="cx:inline-loader-vt">
<p:input port="source" sequence="true"/>
<p:output port="result" sequence="true"/>
</p:declare-step>
Expand All @@ -549,4 +553,9 @@
<p:output port="result" sequence="true"/>
</p:declare-step>

<p:declare-step type="cx:value-computation">
<p:input port="source" sequence="true"/>
<p:output port="result" sequence="true"/>
</p:declare-step>

</p:library>
93 changes: 0 additions & 93 deletions src/main/resources/com.xmlcalabash.properties

This file was deleted.

95 changes: 95 additions & 0 deletions src/main/resources/com.xmlcalabash.settings
@@ -0,0 +1,95 @@
namespace http://xmlcalabash.com/ns/extensions = cx
namespace http://www.w3.org/ns/xproc = p
namespace http://exproc.org/standard/functions = exf

function exf:cwd = com.xmlcalabash.functions.Cwd
function p:document-properties = com.xmlcalabash.functions.DocumentProperties
function p:document-property = com.xmlcalabash.functions.DocumentProperty
function p:force-qname-keys = com.xmlcalabash.functions.ForceQNameKeys
function cx:step-elapsed = com.xmlcalabash.functions.InjElapsed
function cx:injectable-id = com.xmlcalabash.functions.InjId
function cx:step-name = com.xmlcalabash.functions.InjName
function cx:step-type = com.xmlcalabash.functions.InjType
function p:system-property = com.xmlcalabash.functions.SystemProperty
function p:step-available = com.xmlcalabash.functions.StepAvailable
function p:iteration-position = com.xmlcalabash.functions.IterationPosition
function p:iteration-size = com.xmlcalabash.functions.IterationSize
function p:urify = com.xmlcalabash.functions.UrifyFunction

step p:add-attribute = com.xmlcalabash.steps.AddAttribute
step p:archive = com.xmlcalabash.steps.Archive
step p:archive-manifest = com.xmlcalabash.steps.ArchiveManifest
step p:cast-content-type = com.xmlcalabash.steps.CastContentType
step p:count = com.xmlcalabash.steps.Count
step p:compress = com.xmlcalabash.steps.Compress
step p:delete = com.xmlcalabash.steps.Delete
step p:error = com.xmlcalabash.steps.Error
step p:escape-markup = com.xmlcalabash.steps.EscapeMarkup
step p:directory-list = com.xmlcalabash.steps.file.DirectoryList
step p:file-copy = com.xmlcalabash.steps.file.FileCopy
step p:file-delete = com.xmlcalabash.steps.file.FileDelete
step p:file-info = com.xmlcalabash.steps.file.FileInfo
step p:file-mkdir = com.xmlcalabash.steps.file.FileMkdir
step p:file-move = com.xmlcalabash.steps.file.FileMove
step p:file-create-tempfile = com.xmlcalabash.steps.file.FileCreateTempFile
step p:file-touch = com.xmlcalabash.steps.file.FileTouch
step p:filter = com.xmlcalabash.steps.Filter
step p:hash = com.xmlcalabash.steps.Hash
step p:http-request = com.xmlcalabash.steps.HttpRequest
step p:identity = com.xmlcalabash.steps.Identity
step p:insert = com.xmlcalabash.steps.Insert
step p:json-join = com.xmlcalabash.steps.json.Join
step p:json-merge = com.xmlcalabash.steps.json.Merge
step p:label-elements = com.xmlcalabash.steps.LabelElements
step p:load = com.xmlcalabash.steps.Load
step p:namespace-delete = com.xmlcalabash.steps.NamespaceDelete
step p:namespace-rename = com.xmlcalabash.steps.NamespaceRename
step p:os-info = com.xmlcalabash.steps.os.OsInfo
step p:os-exec = com.xmlcalabash.steps.os.OsExec
step p:pack = com.xmlcalabash.steps.Pack
step p:parameters = com.xmlcalabash.steps.Parameters
step p:rename = com.xmlcalabash.steps.Rename
step p:replace = com.xmlcalabash.steps.Replace
step p:set-attributes = com.xmlcalabash.steps.SetAttributes
step p:set-properties = com.xmlcalabash.steps.SetProperties
step p:sink = com.xmlcalabash.steps.Sink
step p:split-sequence = com.xmlcalabash.steps.SplitSequence
step p:store = com.xmlcalabash.steps.Store
step p:string-replace = com.xmlcalabash.steps.StringReplace
step p:text-count = com.xmlcalabash.steps.text.Count
step p:text-head = com.xmlcalabash.steps.text.Head
step p:text-join = com.xmlcalabash.steps.text.Join
step p:text-replace = com.xmlcalabash.steps.text.Replace
step p:text-sort = com.xmlcalabash.steps.text.Sort
step p:text-tail = com.xmlcalabash.steps.text.Tail
step p:unarchive = com.xmlcalabash.steps.Unarchive
step p:uncompress = com.xmlcalabash.steps.Uncompress
step p:unescape-markup = com.xmlcalabash.steps.UnescapeMarkup
step p:unwrap = com.xmlcalabash.steps.Unwrap
step p:www-form-urldecode = com.xmlcalabash.steps.WwwFormUrlDecode
step p:www-form-urlencode = com.xmlcalabash.steps.WwwFormUrlEncode
step p:uuid = com.xmlcalabash.steps.Uuid
step p:validate-with-relax-ng = com.xmlcalabash.steps.ValidateWithRNG
step p:validate-with-schematron = com.xmlcalabash.steps.ValidateWithSCH
step p:validate-with-xml-schema = com.xmlcalabash.steps.ValidateWithXSD
step p:wrap = com.xmlcalabash.steps.Wrap
step p:wrap-sequence = com.xmlcalabash.steps.WrapSequence
step p:xinclude = com.xmlcalabash.steps.XInclude
step p:xquery = com.xmlcalabash.steps.XQuery
step p:xslt = com.xmlcalabash.steps.Xslt
step cx:base64-decode = com.xmlcalabash.steps.B64Decode
step cx:base64-encode = com.xmlcalabash.steps.B64Encode
step cx:exception-translator = com.xmlcalabash.steps.ExceptionTranslator
step cx:javascript = com.xmlcalabash.steps.JavaScript
step cx:markdown = com.xmlcalabash.steps.Markdown
step cx:option-value = com.xmlcalabash.steps.OptionValue
step cx:property-extract = com.xmlcalabash.steps.PropertyExtract
step cx:property-merge = com.xmlcalabash.steps.PropertyMerge
step cx:content-type-checker = com.xmlcalabash.steps.internal.ContentTypeChecker
step cx:select-filter = com.xmlcalabash.steps.internal.SelectFilter
step cx:document-loader = com.xmlcalabash.steps.internal.DocumentLoader
step cx:document-loader-vt = com.xmlcalabash.steps.internal.DocumentLoader
step cx:inline-loader = com.xmlcalabash.steps.internal.InlineLoader
step cx:inline-loader-vt = com.xmlcalabash.steps.internal.InlineLoader
step cx:empty-loader = com.xmlcalabash.steps.internal.EmptyLoader
step cx:value-computation = com.xmlcalabash.steps.internal.ValueComputation

0 comments on commit 4f88fb3

Please sign in to comment.