Skip to content

Commit

Permalink
Merge branch 'refs/heads/master' into saxon94
Browse files Browse the repository at this point in the history
Conflicts:
	lib/saxon9he.jar
  • Loading branch information
ndw committed Sep 14, 2012
2 parents 46b60a2 + 0f978d3 commit a51f0d7
Show file tree
Hide file tree
Showing 10 changed files with 13,264 additions and 7 deletions.
18 changes: 18 additions & 0 deletions lib/switch.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
#!/bin/bash

# Dumb little utility script for switching back and forth between
# Saxon 9.3 and Saxon 9.4. I keep both sets of jars in this directory
# with names that end in .93 and .94

if [ "$1" = "93" ]; then
echo "Switching to Saxon 9.3"
cp saxon9ee.93 saxon9ee.jar
cp saxon9he.93 saxon9he.jar
else if [ "$1" = "94" ]; then
echo "Switching to Saxon 9.4"
cp saxon9ee.94 saxon9ee.jar
cp saxon9he.94 saxon9he.jar
else
echo "Unknown saxon version: $1"
fi
fi
Binary file modified lib/xmlresolver.jar
Binary file not shown.
176 changes: 176 additions & 0 deletions resources/loaders/xpc1.ebnf
Original file line number Diff line number Diff line change
@@ -0,0 +1,176 @@
/* EBNF for XProc Compact Syntax (flavor 1), process with http://www.bottlecaps.de/rex/ */
document ::= xpcMarker namespace* ( declareStep | pipeline | library ) EOF

xpcMarker ::= 'xproc' version

version ::= '1.0'

namespace ::= ('namespace' prefix '=' quotedstr)
| ('default' 'namespace' '=' quotedstr)

prefix ::= NCName

declareStep ::= 'declare-step' stepName? withExtra? pipelineBody

stepName ::= 'named' quotedstr

withExtra ::= 'with' attr (',' attr)*

attr ::= QName '=' (QName | quotedstr)

pipelineBody ::= '{'
( input | output | option | log | serialization )*
( declareStep | pipeline | imports )*
subpipeline?
'}'

input ::= 'input' quotedstr withExtra? ( '{' binding* '}' )?

output ::= 'output' quotedstr withExtra? ( '{' binding* '}' )?

option ::= 'required' 'option' QName withExtra?
| 'option' QName withExtra?

log ::= 'log' quotedstr 'to' quotedstr

serialization ::= 'serialization' quotedstr withExtra?

imports ::= 'import' quotedstr

variable ::= 'variable' QName '=' quotedstr variableBody?

variableBody ::= '{' ( binding | namespaces )* '}'

namespaces ::= 'namespaces' withExtra? nsBody?

nsBody ::= '{' namespace '}'

binding ::= ( comment | pi )*
( emptyBinding | documentBinding | dataBinding | pipeBinding | inlineBinding )

emptyBinding ::= 'empty' withExtra?
documentBinding ::= 'document' quotedstr withExtra?
dataBinding ::= 'data' quotedstr withExtra?
pipeBinding ::= quotedstr 'on' quotedstr withExtra?
inlineBinding ::= 'inline' withExtra? inlineXML

inlineXML ::= '<![XML[' Char* ']]>'

subpipeline ::= ( variable | documentation | pipeinfo | forEachStep | viewportStep
| chooseStep | tryStep | groupStep | atomicStep | comment | pi )+

documentation ::= 'documentation' withExtra? '{' inlineXML '}'

pipeinfo ::= 'pipeinfo' withExtra? '{' inlineXML '}'

named ::= 'named' quotedstr

forEachStep ::= 'for-each' named? withExtra? forEachBody

forEachBody ::= '{' ( iterationSource | output | log )* subpipeline '}'

iterationSource ::= 'iteration-source' withExtra? ( '{' binding* '}' )?

viewportStep ::= 'viewport' named? withExtra? viewportBody

viewportBody ::= '{' ( viewportSource | output | log )* subpipeline '}'

viewportSource ::= 'viewport-source' withExtra? ( '{' binding* '}' )?

chooseStep ::= 'choose' named? withExtra? chooseBody

chooseBody ::= '{' xpathContext? variable* whenStep* otherwiseStep? '}'

xpathContext ::= 'xpath-context' withExtra? ( '{' binding* '}' )?

whenStep ::= 'when' quotedstr withExtra? whenBody

whenBody ::= ( xpathContext | output | log )* subpipeline

otherwiseStep ::= 'otherwise' withExtra? otherwiseBody

otherwiseBody ::= ( output | log )* subpipeline

tryStep ::= 'try' named? withExtra? tryBody

tryBody ::= '{' variable* groupStep catchStep '}'

groupStep ::= 'group' named? withExtra? groupBody

groupBody ::= '{' ( output | log )* subpipeline '}'

catchStep ::= 'catch' named? withExtra? catchBody

catchBody ::= '{' ( output | log )* subpipeline '}'

atomicStep ::= ( 'add-xml-base' | 'add-attribute' | 'compare' | 'count' | 'delete'
| 'directory-list' | 'error' | 'escape-markup' | 'exec' | 'filter'
| 'hash' | 'http-request' | 'identity' | 'insert' | 'label-elements'
| 'load' | 'make-absolute-uris' | 'namespace-rename' | 'pack'
| 'parameters' | 'rename' | 'replace' | 'set-attributes' | 'sink'
| 'split-sequence' | 'store' | 'string-replace' | 'unescape-markup'
| 'unwrap' | 'uuid' | 'validate-with-relax-ng'
| 'validate-with-schematron' | 'validate-with-xml-schema'
| 'wrap' | 'wrap-sequence' | 'www-form-urldecode' | 'www-form-urlencode'
| 'xinclude' | 'xquery' | 'xslt' | 'xsl-formatter' )
named? withExtra? atomicStepBody?
| CName named? withExtra? atomicStepBody?

atomicStepBody ::= '{' ( input | withOption | withParam | log )* '}'

withOption ::= 'with-option' QName '=' quotedstr withExtra? withOptionBody?

withOptionBody ::= '{' ( binding | namespaces )* '}'

withParam ::= 'with-param' QName '=' quotedstr withExtra? withParamBody?

withParamBody ::= '{' ( binding | namespaces )* '}'

pipeline ::= 'pipeline' named? withExtra? pipelineBody

library ::= 'library' withExtra? libraryBody

libraryBody ::= '{' ( imports | declareStep | pipeline )* '}'

<?TOKENS?>

EOF ::= $

comment ::= '<!--' ( ( Char - '-' ) | '-' ( Char - '-' ) )* '-->'
pi ::= '<?' pitarget ( S ( [^?] | '?'+ [^?>] )* '?'* )? '?>' /* ws: explicit */
pitarget ::= NCName
S ::= ( #x0020 | #x0009 | #x000D | #x000A )+ /* ws: definition */

quotedstr ::= '"' ( [^"] )* '"'
| "'" ( [^'] )* "'"
NameStartChar
::= [A-Z]
| '_'
| [a-z]
| [#x00C0-#x00D6]
| [#x00D8-#x00F6]
| [#x00F8-#x02FF]
| [#x0370-#x037D]
| [#x037F-#x1FFF]
| [#x200C-#x200D]
| [#x2070-#x218F]
| [#x2C00-#x2FEF]
| [#x3001-#xD7FF]
| [#xF900-#xFDCF]
| [#xFDF0-#xFFFD]
NameChar ::= NameStartChar
| '-'
| '.'
| [0-9]
| #x00B7
| [#x0300-#x036F]
| [#x203F-#x2040]
NCName ::= NameStartChar NameChar*
CName ::= (NCName ':' NCName)
QName ::= NCName | CName

Char ::= [#x0021-#xD7FF]
| [#xE000-#xFFFD]
| [#x10000-#x10FFFF]
File renamed without changes.
19 changes: 13 additions & 6 deletions resources/loaders/xpc1.xqy
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
xquery version "1.0" encoding "UTF-8";

(: This file was generated on Wed Feb 15, 2012 21:38 by REx v5.12
(: This file was generated on Wed Jul 4, 2012 12:27 (UTC-05) by REx v5.16
which is Copyright (c) 1979-2012 by Gunther Rademacher <[email protected]> :)
(: REx command line: xpc.ebnf -smaller -xquery -tree :)
(: REx command line: xpc.ebnf -xquery -tree -smaller :)

(: Lightly edited by [email protected] to make it a main module. :)

Expand Down Expand Up @@ -803,8 +803,11 @@ declare function p:error-message($input as xs:string, $error as element(error))
(
"syntax error, found ", $p:TOKEN[$error/@o + 1], "&#10;",
"while expecting ", $p:TOKEN[$error/@x + 1], "&#10;",
"after scanning ", string($error/@e - $begin), " characters at line ",
string($line), ", column ", string($column), "&#10;",
if ($error/@e = $begin) then
""
else
concat("after successfully scanning ", string($error/@e - $begin), " characters "),
"at line ", string($line), ", column ", string($column), "&#10;",
"...", substring($input, $begin, 32), "..."
)
else
Expand All @@ -818,8 +821,11 @@ declare function p:error-message($input as xs:string, $error as element(error))
string-join($expected, ", "),
"]"[exists($expected[2])],
"&#10;",
"after scanning ", string($error/@e - $begin), " characters at line ",
string($line), ", column ", string($column), "&#10;",
if ($error/@e = $begin) then
""
else
concat("after successfully scanning ", string($error/@e - $begin), " characters "),
"at line ", string($line), ", column ", string($column), "&#10;",
"...", substring($input, $begin, 32), "..."
)
};
Expand Down Expand Up @@ -3956,3 +3962,4 @@ declare function p:parse-document($s as xs:string) as item()*
};

p:parse-document(string(.))

Loading

0 comments on commit a51f0d7

Please sign in to comment.