Merge
authorabraaksm
Tue, 24 Mar 2015 19:40:30 +0100
changeset 855 9d790d8e1c6d
parent 854 378f074f4591 (current diff)
parent 851 0847e02bcf4f (diff)
child 856 820a5fabd6f1
Merge
tests/decl/override/override-001.xsl
tests/decl/override/override-002.xsl
tests/decl/override/override-003.xsl
tests/decl/override/override-004.xsl
tests/decl/override/override-005.xsl
tests/decl/override/override-006.xsl
tests/decl/override/override-007.xsl
tests/decl/override/override-008.xsl
tests/decl/override/override-009.xsl
tests/decl/override/override-010.xsl
tests/decl/override/override-011.xsl
tests/decl/override/override-012.xsl
tests/decl/override/override-013.xsl
tests/decl/override/override-014.xsl
tests/decl/override/override-015.xsl
tests/decl/override/override-016.xsl
tests/decl/override/override-017.xsl
tests/decl/override/override-018.xsl
tests/decl/override/override-101.xsl
tests/decl/override/override-102.xsl
tests/decl/override/override-103.xsl
tests/decl/override/override-104.xsl
tests/decl/override/override-105.xsl
tests/decl/override/override-106.xsl
tests/decl/override/override-107.xsl
tests/decl/override/override-201.xsl
tests/decl/override/override-202.xsl
tests/decl/override/override-203.xsl
tests/decl/override/override-301.xsl
tests/decl/override/override-302.xsl
tests/decl/override/override-303.xsl
tests/decl/override/override-304.xsl
tests/decl/override/override-305.xsl
tests/decl/override/override-901.xsl
tests/decl/override/override-902.xsl
tests/decl/override/override-903.xsl
tests/decl/override/override-904.xsl
tests/decl/override/override-905.xsl
tests/decl/override/override-906.xsl
tests/decl/override/override-base-001.xsl
tests/decl/override/override-base-101.xsl
tests/decl/override/override-base-201.xsl
tests/decl/override/override-base-301.xsl
tests/decl/override/override-base-901.xsl
tests/fn/json-to-xml/data001.json
tests/fn/json-to-xml/data005.json
tests/fn/json-to-xml/escapeText.json
tests/fn/json-to-xml/json-to-xml-A.xsl
tests/fn/json-to-xml/json-to-xml-E.xsl
tests/fn/json-to-xml/json-to-xml-typed.xsl
tests/fn/json-to-xml/schema-for-json.xsd
tests/fn/position/pos64.out
--- a/catalog.xml	Tue Mar 24 19:37:57 2015 +0100
+++ b/catalog.xml	Tue Mar 24 19:40:30 2015 +0100
@@ -227,6 +227,10 @@
       
       <test-set name="si-LRE" file="tests/strm/si-LRE/_si-lre-test-set.xml"/>
       
+      <!-- Streaming - used-defined stylesheet functions -->
+      
+      <test-set name="su-unclassified" file="tests/strm/su-unclassified/_su-unclassified-test-set.xml"/>
+      
       <!-- Streaming - expressions -->
       
       <test-set name="sx-ArithmeticExpr" file="tests/strm/sx-ArithmeticExpr/_sx-ArithmeticExpr-test-set.xml"/>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/hs_err_pid53433.log	Tue Mar 24 19:40:30 2015 +0100
@@ -0,0 +1,435 @@
+#
+# A fatal error has been detected by the Java Runtime Environment:
+#
+#  SIGSEGV (0xb) at pc=0x00000001036232b0, pid=53433, tid=20227
+#
+# JRE version: Java(TM) SE Runtime Environment (8.0_25-b17) (build 1.8.0_25-b17)
+# Java VM: Java HotSpot(TM) 64-Bit Server VM (25.25-b02 mixed mode bsd-amd64 compressed oops)
+# Problematic frame:
+# V  [libjvm.dylib+0x4232b0]  Method::checked_resolve_jmethod_id(_jmethodID*)+0xe
+#
+# Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
+#
+# If you would like to submit a bug report, please visit:
+#   http://bugreport.sun.com/bugreport/crash.jsp
+#
+
+---------------  T H R E A D  ---------------
+
+Current thread (0x00007fbdcb007000):  JavaThread "JDWP Transport Listener: dt_socket" daemon [_thread_in_vm, id=20227, stack(0x000000011b486000,0x000000011b586000)]
+
+siginfo: si_signo: 11 (SIGSEGV), si_code: 1 (SEGV_MAPERR), si_addr: 0x00000000000000a3
+
+Registers:
+RAX=0x0000000000000001, RBX=0x000000011b585a8b, RCX=0x00000001039d6c80, RDX=0x000000011b585a8b
+RSP=0x000000011b5859d0, RBP=0x000000011b5859e0, RSI=0x00007fbdcb007000, RDI=0x00000000000000a3
+R8 =0x00007fbdca64e070, R9 =0x00007fbdca645700, R10=0x000000009cdcf914, R11=0x000000005fab107d
+R12=0x00007fbdcb007000, R13=0x00000000000000a3, R14=0x00000000000000a3, R15=0x00007fbdca601bc0
+RIP=0x00000001036232b0, EFLAGS=0x0000000000010206, ERR=0x0000000000000004
+  TRAPNO=0x000000000000000e
+
+Top of Stack: (sp=0x000000011b5859d0)
+0x000000011b5859d0:   000000011b585a8b 000000011b585a8b
+0x000000011b5859e0:   000000011b585a40 000000010353526e
+0x000000011b5859f0:   00007fbdcb007000 0000000000000000
+0x000000011b585a00:   0000000000000000 0000000000000000
+0x000000011b585a10:   00007fbdcb007000 00007fbdcb007000
+0x000000011b585a20:   000000011b585a8b 000000011b585a90
+0x000000011b585a30:   00000000000000a3 000000000000001e
+0x000000011b585a40:   000000011b585a60 00000001021cf7dc
+0x000000011b585a50:   0000000000000001 000000011b585b08
+0x000000011b585a60:   000000011b585ad0 00000001021b4263
+0x000000011b585a70:   000000011b585aa0 00007fbdca649840
+0x000000011b585a80:   0000001f00000032 0000040100585b08
+0x000000011b585a90:   0000000000000000 0000000000000000
+0x000000011b585aa0:   0000000000000000 000000011b585c90
+0x000000011b585ab0:   00000001021d6eca 00007fbdca58d0d0
+0x000000011b585ac0:   000000011b585b08 00000001021e2588
+0x000000011b585ad0:   000000011b585ae0 00000001021b435c
+0x000000011b585ae0:   000000011b585d00 00000001021bd8f6
+0x000000011b585af0:   002d96f500000013 00000000000f0200
+0x000000011b585b00:   00007fbdca5aebf0 00007fbdcb824ae7
+0x000000011b585b10:   00007fbd00000879 00007fbdca63c160
+0x000000011b585b20:   00007fbd0000012c 000000011b585b58
+0x000000011b585b30:   00007fbdca63f0e0 00007f0000000000
+0x000000011b585b40:   002d96f50000000f 00007fff00006e80
+0x000000011b585b50:   000000011b585b58 bd7f00001f000000
+0x000000011b585b60:   19000000b8e864ca 43737365636f7270
+0x000000011b585b70:   746e656e6f706d6f 636e657265666552
+0x000000011b585b80:   6e4c287a00000065 61732f66732f7465
+0x000000011b585b90:   6c7974732f6e6f78 73656c7974532f65
+0x000000011b585ba0:   6b63615074656568 74656e4c3b656761
+0x000000011b585bb0:   6f7861732f66732f 692f727078652f6e
+0x000000011b585bc0:   2f7463757274736e 6e656e6f706d6f43 
+
+Instructions: (pc=0x00000001036232b0)
+0x0000000103623290:   40 48 48 85 c0 75 e0 30 c0 0f b6 c0 5d c3 31 c0
+0x00000001036232a0:   5d c3 55 48 89 e5 53 48 83 ec 08 48 85 ff 74 24
+0x00000001036232b0:   48 8b 1f 48 85 db 74 1c 48 83 fb 37 74 16 48 8b
+0x00000001036232c0:   03 48 89 df ff 50 10 84 c0 b8 00 00 00 00 48 0f 
+
+Register to memory mapping:
+
+RAX=0x0000000000000001 is an unknown value
+RBX=0x000000011b585a8b is pointing into the stack for thread: 0x00007fbdcb007000
+RCX=0x00000001039d6c80: UseMembar+0 in /Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home/jre/lib/server/libjvm.dylib at 0x0000000103200000
+RDX=0x000000011b585a8b is pointing into the stack for thread: 0x00007fbdcb007000
+RSP=0x000000011b5859d0 is pointing into the stack for thread: 0x00007fbdcb007000
+RBP=0x000000011b5859e0 is pointing into the stack for thread: 0x00007fbdcb007000
+RSI=0x00007fbdcb007000 is a thread
+RDI=0x00000000000000a3 is an unknown value
+R8 =0x00007fbdca64e070 is an unknown value
+R9 =0x00007fbdca645700 is an unknown value
+R10=0x000000009cdcf914 is an unknown value
+R11=0x000000005fab107d is an unknown value
+R12=0x00007fbdcb007000 is a thread
+R13=0x00000000000000a3 is an unknown value
+R14=0x00000000000000a3 is an unknown value
+R15=0x00007fbdca601bc0 is an unknown value
+
+
+Stack: [0x000000011b486000,0x000000011b586000],  sp=0x000000011b5859d0,  free space=1022k
+Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
+V  [libjvm.dylib+0x4232b0]  Method::checked_resolve_jmethod_id(_jmethodID*)+0xe
+V  [libjvm.dylib+0x33526e]  jvmti_IsMethodSynthetic+0xb2
+C  [libjdwp.dylib+0x207dc]  isMethodSynthetic+0x63
+C  [libjdwp.dylib+0x5263]  methods1+0x10b
+C  [libjdwp.dylib+0x535c]  methodsWithGeneric+0xe
+C  [libjdwp.dylib+0xe8f6]  debugLoop_run+0x1ce
+C  [libjdwp.dylib+0x1f716]  attachThread+0x4d
+V  [libjvm.dylib+0x3762ce]  JvmtiAgentThread::call_start_function()+0x38
+V  [libjvm.dylib+0x535ed9]  JavaThread::thread_main_inner()+0x9b
+V  [libjvm.dylib+0x53761c]  JavaThread::run()+0x1c2
+V  [libjvm.dylib+0x45d87e]  java_start(Thread*)+0xf6
+C  [libsystem_pthread.dylib+0x1899]  _pthread_body+0x8a
+C  [libsystem_pthread.dylib+0x172a]  _pthread_struct_init+0x0
+C  [libsystem_pthread.dylib+0x5fc9]  thread_start+0xd
+C  0x0000000000000000
+
+
+---------------  P R O C E S S  ---------------
+
+Java Threads: ( => current thread )
+  0x00007fbdce801000 JavaThread "Service Thread" daemon [_thread_blocked, id=23811, stack(0x000000011bb9b000,0x000000011bc9b000)]
+  0x00007fbdcb012800 JavaThread "C1 CompilerThread3" daemon [_thread_blocked, id=23299, stack(0x000000011ba98000,0x000000011bb98000)]
+  0x00007fbdca805000 JavaThread "C2 CompilerThread2" daemon [_thread_blocked, id=22787, stack(0x000000011b995000,0x000000011ba95000)]
+  0x00007fbdcd006800 JavaThread "C2 CompilerThread1" daemon [_thread_blocked, id=22275, stack(0x000000011b892000,0x000000011b992000)]
+  0x00007fbdcd860000 JavaThread "C2 CompilerThread0" daemon [_thread_blocked, id=21763, stack(0x000000011b78f000,0x000000011b88f000)]
+  0x00007fbdcd861000 JavaThread "JDWP Command Reader" daemon [_thread_in_native, id=21251, stack(0x000000011b68c000,0x000000011b78c000)]
+  0x00007fbdcb012000 JavaThread "JDWP Event Helper Thread" daemon [_thread_blocked, id=20739, stack(0x000000011b589000,0x000000011b689000)]
+=>0x00007fbdcb007000 JavaThread "JDWP Transport Listener: dt_socket" daemon [_thread_in_vm, id=20227, stack(0x000000011b486000,0x000000011b586000)]
+  0x00007fbdcc00c000 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=19715, stack(0x000000011b37c000,0x000000011b47c000)]
+  0x00007fbdcb00a000 JavaThread "Finalizer" daemon [_thread_blocked, id=14595, stack(0x000000011b12b000,0x000000011b22b000)]
+  0x00007fbdce002000 JavaThread "Reference Handler" daemon [_thread_blocked, id=14083, stack(0x000000011b028000,0x000000011b128000)]
+  0x00007fbdcd800000 JavaThread "main" [_thread_blocked, id=6403, stack(0x000000010206a000,0x000000010216a000)]
+
+Other Threads:
+  0x00007fbdcd85d800 VMThread [stack: 0x000000011af25000,0x000000011b025000] [id=13571]
+  0x00007fbdce802000 WatcherThread [stack: 0x000000011bc9e000,0x000000011bd9e000] [id=24323]
+
+VM state:not at safepoint (normal execution)
+
+VM Mutex/Monitor currently owned by a thread: None
+
+Heap:
+ PSYoungGen      total 38400K, used 20377K [0x0000000795580000, 0x0000000798000000, 0x00000007c0000000)
+  eden space 33280K, 52% used [0x0000000795580000,0x000000079666a848,0x0000000797600000)
+  from space 5120K, 59% used [0x0000000797600000,0x00000007978fbbb8,0x0000000797b00000)
+  to   space 5120K, 0% used [0x0000000797b00000,0x0000000797b00000,0x0000000798000000)
+ ParOldGen       total 87552K, used 72K [0x0000000740000000, 0x0000000745580000, 0x0000000795580000)
+  object space 87552K, 0% used [0x0000000740000000,0x0000000740012010,0x0000000745580000)
+ Metaspace       used 14761K, capacity 14890K, committed 15104K, reserved 1062912K
+  class space    used 1979K, capacity 2001K, committed 2048K, reserved 1048576K
+
+Card table byte_map: [0x00000001134ed000,0x00000001138ee000] byte_map_base: 0x000000010faed000
+
+Marking Bits: (ParMarkBitMap*) 0x0000000103a9d390
+ Begin Bits: [0x00000001143b1000, 0x00000001163b1000)
+ End Bits:   [0x00000001163b1000, 0x00000001183b1000)
+
+Polling page: 0x00000001021ae000
+
+CodeCache: size=245760Kb used=2628Kb max_used=2660Kb free=243131Kb
+ bounds [0x000000010412d000, 0x00000001043cd000, 0x000000011312d000]
+ total_blobs=939 nmethods=626 adapters=236
+ compilation: enabled
+
+Compilation events (10 events):
+Event: 60.006 Thread 0x00007fbdcb012800  696       3       net.sf.saxon.expr.MonoIterator::<init> (15 bytes)
+Event: 60.006 Thread 0x00007fbdcb012800 nmethod 696 0x0000000104340590 code [0x0000000104340700, 0x00000001043408d0]
+Event: 60.006 Thread 0x00007fbdcb012800  697       3       net.sf.saxon.expr.MonoIterator::next (25 bytes)
+Event: 60.007 Thread 0x00007fbdcb012800 nmethod 697 0x0000000104382550 code [0x00000001043826c0, 0x0000000104382908]
+Event: 60.048 Thread 0x00007fbdcb012800  698   !   3       java.util.Collections$SynchronizedMap::get (25 bytes)
+Event: 60.048 Thread 0x00007fbdcb012800 nmethod 698 0x0000000104381e50 code [0x0000000104381fe0, 0x00000001043823c8]
+Event: 60.234 Thread 0x00007fbdcb012800  699       1       net.sf.saxon.om.NamespaceBinding::getPrefix (5 bytes)
+Event: 60.234 Thread 0x00007fbdcb012800 nmethod 699 0x000000010434f510 code [0x000000010434f660, 0x000000010434f770]
+Event: 60.235 Thread 0x00007fbdcb012800  700  s    3       java.util.Vector::elementAt (48 bytes)
+Event: 60.236 Thread 0x00007fbdcb012800 nmethod 700 0x000000010434e190 code [0x000000010434e3a0, 0x000000010434ef48]
+
+GC Heap History (2 events):
+Event: 15.273 GC heap before
+{Heap before GC invocations=1 (full 0):
+ PSYoungGen      total 38400K, used 33280K [0x0000000795580000, 0x0000000798000000, 0x00000007c0000000)
+  eden space 33280K, 100% used [0x0000000795580000,0x0000000797600000,0x0000000797600000)
+  from space 5120K, 0% used [0x0000000797b00000,0x0000000797b00000,0x0000000798000000)
+  to   space 5120K, 0% used [0x0000000797600000,0x0000000797600000,0x0000000797b00000)
+ ParOldGen       total 87552K, used 0K [0x0000000740000000, 0x0000000745580000, 0x0000000795580000)
+  object space 87552K, 0% used [0x0000000740000000,0x0000000740000000,0x0000000745580000)
+ Metaspace       used 10718K, capacity 10788K, committed 10880K, reserved 1058816K
+  class space    used 1349K, capacity 1360K, committed 1408K, reserved 1048576K
+Event: 15.280 GC heap after
+Heap after GC invocations=1 (full 0):
+ PSYoungGen      total 38400K, used 3054K [0x0000000795580000, 0x0000000798000000, 0x00000007c0000000)
+  eden space 33280K, 0% used [0x0000000795580000,0x0000000795580000,0x0000000797600000)
+  from space 5120K, 59% used [0x0000000797600000,0x00000007978fbbb8,0x0000000797b00000)
+  to   space 5120K, 0% used [0x0000000797b00000,0x0000000797b00000,0x0000000798000000)
+ ParOldGen       total 87552K, used 72K [0x0000000740000000, 0x0000000745580000, 0x0000000795580000)
+  object space 87552K, 0% used [0x0000000740000000,0x0000000740012010,0x0000000745580000)
+ Metaspace       used 10718K, capacity 10788K, committed 10880K, reserved 1058816K
+  class space    used 1349K, capacity 1360K, committed 1408K, reserved 1048576K
+}
+
+Deoptimization events (5 events):
+Event: 12.940 Thread 0x00007fbdcd800000 Uncommon trap: reason=class_check action=maybe_recompile pc=0x00000001042b1728 method=sun.misc.URLClassPath.getLoader(I)Lsun/misc/URLClassPath$Loader; @ 94
+Event: 12.940 Thread 0x00007fbdcd800000 Uncommon trap: reason=class_check action=maybe_recompile pc=0x00000001042b1728 method=sun.misc.URLClassPath.getLoader(I)Lsun/misc/URLClassPath$Loader; @ 94
+Event: 12.941 Thread 0x00007fbdcd800000 Uncommon trap: reason=class_check action=maybe_recompile pc=0x00000001042b1728 method=sun.misc.URLClassPath.getLoader(I)Lsun/misc/URLClassPath$Loader; @ 94
+Event: 13.159 Thread 0x00007fbdcd800000 Uncommon trap: reason=unreached action=reinterpret pc=0x00000001042e5e74 method=java.util.HashMap.getNode(ILjava/lang/Object;)Ljava/util/HashMap$Node; @ 116
+Event: 13.165 Thread 0x00007fbdcd800000 Uncommon trap: reason=unreached action=reinterpret pc=0x00000001042dd9d0 method=java.util.HashMap.getNode(ILjava/lang/Object;)Ljava/util/HashMap$Node; @ 116
+
+Internal exceptions (10 events):
+Event: 59.793 Thread 0x00007fbdcd800000 Exception <a 'java/security/PrivilegedActionException'> (0x0000000796598580) thrown at [/HUDSON3/workspace/8-2-build-macosx-x86_64/jdk8u25/1514/hotspot/src/share/vm/prims/jvm.cpp, line 1312]
+Event: 59.811 Thread 0x00007fbdcd800000 Exception <a 'java/security/PrivilegedActionException'> (0x00000007965aa880) thrown at [/HUDSON3/workspace/8-2-build-macosx-x86_64/jdk8u25/1514/hotspot/src/share/vm/prims/jvm.cpp, line 1312]
+Event: 59.818 Thread 0x00007fbdcd800000 Exception <a 'java/security/PrivilegedActionException'> (0x00000007965b4c28) thrown at [/HUDSON3/workspace/8-2-build-macosx-x86_64/jdk8u25/1514/hotspot/src/share/vm/prims/jvm.cpp, line 1312]
+Event: 59.827 Thread 0x00007fbdcd800000 Exception <a 'java/security/PrivilegedActionException'> (0x00000007965bdbc8) thrown at [/HUDSON3/workspace/8-2-build-macosx-x86_64/jdk8u25/1514/hotspot/src/share/vm/prims/jvm.cpp, line 1312]
+Event: 59.828 Thread 0x00007fbdcd800000 Exception <a 'java/security/PrivilegedActionException'> (0x00000007965c8628) thrown at [/HUDSON3/workspace/8-2-build-macosx-x86_64/jdk8u25/1514/hotspot/src/share/vm/prims/jvm.cpp, line 1312]
+Event: 59.838 Thread 0x00007fbdcd800000 Exception <a 'java/security/PrivilegedActionException'> (0x00000007965cd630) thrown at [/HUDSON3/workspace/8-2-build-macosx-x86_64/jdk8u25/1514/hotspot/src/share/vm/prims/jvm.cpp, line 1312]
+Event: 59.875 Thread 0x00007fbdcd800000 Exception <a 'java/security/PrivilegedActionException'> (0x00000007965d3108) thrown at [/HUDSON3/workspace/8-2-build-macosx-x86_64/jdk8u25/1514/hotspot/src/share/vm/prims/jvm.cpp, line 1312]
+Event: 60.024 Thread 0x00007fbdcd800000 Exception <a 'java/security/PrivilegedActionException'> (0x00000007965daf18) thrown at [/HUDSON3/workspace/8-2-build-macosx-x86_64/jdk8u25/1514/hotspot/src/share/vm/prims/jvm.cpp, line 1312]
+Event: 60.070 Thread 0x00007fbdcd800000 Exception <a 'java/security/PrivilegedActionException'> (0x00000007965e1eb8) thrown at [/HUDSON3/workspace/8-2-build-macosx-x86_64/jdk8u25/1514/hotspot/src/share/vm/prims/jvm.cpp, line 1312]
+Event: 60.093 Thread 0x00007fbdcd800000 Exception <a 'java/security/PrivilegedActionException'> (0x00000007965e6c18) thrown at [/HUDSON3/workspace/8-2-build-macosx-x86_64/jdk8u25/1514/hotspot/src/share/vm/prims/jvm.cpp, line 1312]
+
+Events (10 events):
+Event: 4141.443 Executing VM operation: ChangeBreakpoints
+Event: 4141.444 Executing VM operation: ChangeBreakpoints done
+Event: 4141.448 Executing VM operation: ChangeBreakpoints
+Event: 4141.448 Executing VM operation: ChangeBreakpoints done
+Event: 4141.451 Executing VM operation: ChangeBreakpoints
+Event: 4141.452 Executing VM operation: ChangeBreakpoints done
+Event: 4141.457 Executing VM operation: ChangeBreakpoints
+Event: 4141.457 Executing VM operation: ChangeBreakpoints done
+Event: 4141.459 Executing VM operation: ChangeBreakpoints
+Event: 4141.459 Executing VM operation: ChangeBreakpoints done
+
+
+Dynamic libraries:
+0x0000000004ecf000 	/System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa
+0x0000000004ecf000 	/System/Library/Frameworks/Security.framework/Versions/A/Security
+0x0000000004ecf000 	/System/Library/Frameworks/ApplicationServices.framework/Versions/A/ApplicationServices
+0x0000000004ecf000 	/usr/lib/libz.1.dylib
+0x0000000004ecf000 	/usr/lib/libSystem.B.dylib
+0x0000000004ecf000 	/usr/lib/libobjc.A.dylib
+0x0000000004ecf000 	/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation
+0x0000000004ecf000 	/System/Library/Frameworks/Foundation.framework/Versions/C/Foundation
+0x0000000004ecf000 	/System/Library/Frameworks/AppKit.framework/Versions/C/AppKit
+0x0000000004ecf000 	/System/Library/Frameworks/CoreData.framework/Versions/A/CoreData
+0x0000000004ecf000 	/System/Library/PrivateFrameworks/RemoteViewServices.framework/Versions/A/RemoteViewServices
+0x0000000004ecf000 	/System/Library/Frameworks/AudioToolbox.framework/Versions/A/AudioToolbox
+0x0000000004ecf000 	/System/Library/Frameworks/AudioUnit.framework/Versions/A/AudioUnit
+0x0000000004ecf000 	/System/Library/PrivateFrameworks/DataDetectorsCore.framework/Versions/A/DataDetectorsCore
+0x0000000004ecf000 	/System/Library/PrivateFrameworks/DesktopServicesPriv.framework/Versions/A/DesktopServicesPriv
+0x0000000004ecf000 	/System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/HIToolbox
+0x0000000004ecf000 	/System/Library/Frameworks/QuartzCore.framework/Versions/A/QuartzCore
+0x0000000004ecf000 	/System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/SpeechRecognition.framework/Versions/A/SpeechRecognition
+0x0000000004ecf000 	/usr/lib/libauto.dylib
+0x0000000004ecf000 	/usr/lib/libicucore.A.dylib
+0x0000000004ecf000 	/usr/lib/libxml2.2.dylib
+0x0000000004ecf000 	/System/Library/PrivateFrameworks/CoreUI.framework/Versions/A/CoreUI
+0x0000000004ecf000 	/System/Library/Frameworks/CoreAudio.framework/Versions/A/CoreAudio
+0x0000000004ecf000 	/System/Library/Frameworks/DiskArbitration.framework/Versions/A/DiskArbitration
+0x0000000004ecf000 	/usr/lib/liblangid.dylib
+0x0000000004ecf000 	/System/Library/PrivateFrameworks/MultitouchSupport.framework/Versions/A/MultitouchSupport
+0x0000000004ecf000 	/System/Library/Frameworks/IOKit.framework/Versions/A/IOKit
+0x0000000004ecf000 	/usr/lib/libDiagnosticMessagesClient.dylib
+0x0000000004ecf000 	/System/Library/Frameworks/CoreServices.framework/Versions/A/CoreServices
+0x0000000004ecf000 	/System/Library/PrivateFrameworks/PerformanceAnalysis.framework/Versions/A/PerformanceAnalysis
+0x0000000004ecf000 	/System/Library/PrivateFrameworks/GenerationalStorage.framework/Versions/A/GenerationalStorage
+0x0000000004ecf000 	/System/Library/Frameworks/OpenGL.framework/Versions/A/OpenGL
+0x0000000004ecf000 	/System/Library/PrivateFrameworks/Sharing.framework/Versions/A/Sharing
+0x0000000004ecf000 	/System/Library/Frameworks/ImageIO.framework/Versions/A/ImageIO
+0x0000000004ecf000 	/System/Library/Frameworks/CoreText.framework/Versions/A/CoreText
+0x0000000004ecf000 	/System/Library/Frameworks/CoreGraphics.framework/Versions/A/CoreGraphics
+0x0000000004ecf000 	/System/Library/PrivateFrameworks/Backup.framework/Versions/A/Backup
+0x0000000004ecf000 	/System/Library/Frameworks/CFNetwork.framework/Versions/A/CFNetwork
+0x0000000004ecf000 	/System/Library/Frameworks/SystemConfiguration.framework/Versions/A/SystemConfiguration
+0x0000000004ecf000 	/usr/lib/libCRFSuite.dylib
+0x0000000004ecf000 	/usr/lib/libc++.1.dylib
+0x0000000004ecf000 	/usr/lib/libc++abi.dylib
+0x0000000004ecf000 	/usr/lib/system/libcache.dylib
+0x0000000004ecf000 	/usr/lib/system/libcommonCrypto.dylib
+0x0000000004ecf000 	/usr/lib/system/libcompiler_rt.dylib
+0x0000000004ecf000 	/usr/lib/system/libcopyfile.dylib
+0x0000000004ecf000 	/usr/lib/system/libcorecrypto.dylib
+0x0000000004ecf000 	/usr/lib/system/libdispatch.dylib
+0x0000000004ecf000 	/usr/lib/system/libdyld.dylib
+0x0000000004ecf000 	/usr/lib/system/libkeymgr.dylib
+0x0000000004ecf000 	/usr/lib/system/liblaunch.dylib
+0x0000000004ecf000 	/usr/lib/system/libmacho.dylib
+0x0000000004ecf000 	/usr/lib/system/libquarantine.dylib
+0x0000000004ecf000 	/usr/lib/system/libremovefile.dylib
+0x0000000004ecf000 	/usr/lib/system/libsystem_asl.dylib
+0x0000000004ecf000 	/usr/lib/system/libsystem_blocks.dylib
+0x0000000004ecf000 	/usr/lib/system/libsystem_c.dylib
+0x0000000004ecf000 	/usr/lib/system/libsystem_configuration.dylib
+0x0000000004ecf000 	/usr/lib/system/libsystem_dnssd.dylib
+0x0000000004ecf000 	/usr/lib/system/libsystem_info.dylib
+0x0000000004ecf000 	/usr/lib/system/libsystem_kernel.dylib
+0x0000000004ecf000 	/usr/lib/system/libsystem_m.dylib
+0x0000000004ecf000 	/usr/lib/system/libsystem_malloc.dylib
+0x0000000004ecf000 	/usr/lib/system/libsystem_network.dylib
+0x0000000004ecf000 	/usr/lib/system/libsystem_notify.dylib
+0x0000000004ecf000 	/usr/lib/system/libsystem_platform.dylib
+0x0000000004ecf000 	/usr/lib/system/libsystem_pthread.dylib
+0x0000000004ecf000 	/usr/lib/system/libsystem_sandbox.dylib
+0x0000000004ecf000 	/usr/lib/system/libsystem_stats.dylib
+0x0000000004ecf000 	/usr/lib/system/libunc.dylib
+0x0000000004ecf000 	/usr/lib/system/libunwind.dylib
+0x0000000004ecf000 	/usr/lib/system/libxpc.dylib
+0x0000000004ecf000 	/usr/lib/libbsm.0.dylib
+0x0000000004ecf000 	/usr/lib/libsqlite3.dylib
+0x0000000004ecf000 	/usr/lib/libxar.1.dylib
+0x0000000004ecf000 	/usr/lib/libpam.2.dylib
+0x0000000004ecf000 	/usr/lib/libOpenScriptingUtil.dylib
+0x0000000004ecf000 	/usr/lib/libbz2.1.0.dylib
+0x0000000004ecf000 	/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CarbonCore.framework/Versions/A/CarbonCore
+0x0000000004ecf000 	/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Metadata
+0x0000000004ecf000 	/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/OSServices.framework/Versions/A/OSServices
+0x0000000004ecf000 	/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/SearchKit.framework/Versions/A/SearchKit
+0x0000000004ecf000 	/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/AE.framework/Versions/A/AE
+0x0000000004ecf000 	/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/LaunchServices
+0x0000000004ecf000 	/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/DictionaryServices.framework/Versions/A/DictionaryServices
+0x0000000004ecf000 	/System/Library/Frameworks/NetFS.framework/Versions/A/NetFS
+0x0000000004ecf000 	/usr/lib/system/libkxld.dylib
+0x0000000004ecf000 	/System/Library/PrivateFrameworks/NetAuth.framework/Versions/A/NetAuth
+0x0000000004ecf000 	/System/Library/PrivateFrameworks/TCC.framework/Versions/A/TCC
+0x0000000004ecf000 	/System/Library/Frameworks/OpenDirectory.framework/Versions/A/Frameworks/CFOpenDirectory.framework/Versions/A/CFOpenDirectory
+0x0000000004ecf000 	/System/Library/Frameworks/ServiceManagement.framework/Versions/A/ServiceManagement
+0x0000000004ecf000 	/usr/lib/libxslt.1.dylib
+0x0000000004ecf000 	/System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/Ink.framework/Versions/A/Ink
+0x0000000004ecf000 	/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/ATS
+0x0000000004ecf000 	/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ColorSync.framework/Versions/A/ColorSync
+0x0000000004ecf000 	/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/HIServices.framework/Versions/A/HIServices
+0x0000000004ecf000 	/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/LangAnalysis.framework/Versions/A/LangAnalysis
+0x0000000004ecf000 	/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/PrintCore.framework/Versions/A/PrintCore
+0x0000000004ecf000 	/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/QD.framework/Versions/A/QD
+0x0000000004ecf000 	/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/SpeechSynthesis.framework/Versions/A/SpeechSynthesis
+0x0000000004ecf000 	/System/Library/Frameworks/IOSurface.framework/Versions/A/IOSurface
+0x0000000004ecf000 	/System/Library/Frameworks/Accelerate.framework/Versions/A/Accelerate
+0x0000000004ecf000 	/System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vImage.framework/Versions/A/vImage
+0x0000000004ecf000 	/System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/vecLib
+0x0000000004ecf000 	/System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libvDSP.dylib
+0x0000000004ecf000 	/System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libvMisc.dylib
+0x0000000004ecf000 	/System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libLAPACK.dylib
+0x0000000004ecf000 	/System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib
+0x0000000004ecf000 	/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/Resources/libFontParser.dylib
+0x0000000004ecf000 	/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/Resources/libFontRegistry.dylib
+0x0000000004ecf000 	/System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libJPEG.dylib
+0x0000000004ecf000 	/System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libTIFF.dylib
+0x0000000004ecf000 	/System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libPng.dylib
+0x0000000004ecf000 	/System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libGIF.dylib
+0x0000000004ecf000 	/System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libJP2.dylib
+0x0000000004ecf000 	/System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libRadiance.dylib
+0x0000000004ecf000 	/usr/lib/libcups.2.dylib
+0x0000000004ecf000 	/System/Library/Frameworks/Kerberos.framework/Versions/A/Kerberos
+0x0000000004ecf000 	/System/Library/Frameworks/GSS.framework/Versions/A/GSS
+0x0000000004ecf000 	/usr/lib/libresolv.9.dylib
+0x0000000004ecf000 	/usr/lib/libiconv.2.dylib
+0x0000000004ecf000 	/System/Library/PrivateFrameworks/Heimdal.framework/Versions/A/Heimdal
+0x0000000004ecf000 	/System/Library/PrivateFrameworks/TrustEvaluationAgent.framework/Versions/A/TrustEvaluationAgent
+0x0000000004ecf000 	/usr/lib/libheimdal-asn1.dylib
+0x0000000004ecf000 	/System/Library/Frameworks/OpenDirectory.framework/Versions/A/OpenDirectory
+0x0000000004ecf000 	/System/Library/PrivateFrameworks/CommonAuth.framework/Versions/A/CommonAuth
+0x0000000004ecf000 	/System/Library/Frameworks/SecurityFoundation.framework/Versions/A/SecurityFoundation
+0x0000000004ecf000 	/System/Library/PrivateFrameworks/Bom.framework/Versions/A/Bom
+0x0000000004ecf000 	/System/Library/Frameworks/CoreVideo.framework/Versions/A/CoreVideo
+0x0000000004ecf000 	/System/Library/Frameworks/QuartzCore.framework/Versions/A/Frameworks/CoreImage.framework/Versions/A/CoreImage
+0x0000000004ecf000 	/System/Library/Frameworks/QuartzCore.framework/Versions/A/Frameworks/ScalableUserInterface.framework/Versions/A/ScalableUserInterface
+0x0000000004ecf000 	/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGLU.dylib
+0x0000000004ecf000 	/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGFXShared.dylib
+0x0000000004ecf000 	/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib
+0x0000000004ecf000 	/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGLImage.dylib
+0x0000000004ecf000 	/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libCVMSPluginSupport.dylib
+0x0000000004ecf000 	/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libCoreVMClient.dylib
+0x0000000004ecf000 	/System/Library/PrivateFrameworks/FaceCore.framework/Versions/A/FaceCore
+0x0000000004ecf000 	/System/Library/PrivateFrameworks/CrashReporterSupport.framework/Versions/A/CrashReporterSupport
+0x0000000004ecf000 	/System/Library/Frameworks/OpenCL.framework/Versions/A/OpenCL
+0x0000000004ecf000 	/System/Library/PrivateFrameworks/AppleFSCompression.framework/Versions/A/AppleFSCompression
+0x0000000004ecf000 	/System/Library/PrivateFrameworks/Ubiquity.framework/Versions/A/Ubiquity
+0x0000000004ecf000 	/System/Library/PrivateFrameworks/IconServices.framework/Versions/A/IconServices
+0x0000000004ecf000 	/System/Library/PrivateFrameworks/ChunkingLibrary.framework/Versions/A/ChunkingLibrary
+0x0000000004ecf000 	/System/Library/PrivateFrameworks/CoreSymbolication.framework/Versions/A/CoreSymbolication
+0x0000000004ecf000 	/System/Library/PrivateFrameworks/Symbolication.framework/Versions/A/Symbolication
+0x0000000004ecf000 	/System/Library/PrivateFrameworks/DebugSymbols.framework/Versions/A/DebugSymbols
+0x0000000103200000 	/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home/jre/lib/server/libjvm.dylib
+0x0000000004ecf000 	/usr/lib/libstdc++.6.dylib
+0x000000010216c000 	/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home/jre/lib/libverify.dylib
+0x000000010217a000 	/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home/jre/lib/libjava.dylib
+0x00000001021af000 	/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home/jre/lib/libjdwp.dylib
+0x00000001021fa000 	/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home/jre/lib/libnpt.dylib
+0x0000000104124000 	/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home/jre/lib/libzip.dylib
+0x000000011b22d000 	/System/Library/Frameworks/JavaVM.framework/Frameworks/JavaRuntimeSupport.framework/JavaRuntimeSupport
+0x000000011b245000 	/System/Library/Frameworks/JavaVM.framework/Versions/A/Frameworks/JavaNativeFoundation.framework/Versions/A/JavaNativeFoundation
+0x000000011b25a000 	/System/Library/Frameworks/JavaVM.framework/Versions/A/JavaVM
+0x0000000004ecf000 	/System/Library/Frameworks/Carbon.framework/Versions/A/Carbon
+0x000000011b267000 	/System/Library/PrivateFrameworks/JavaLaunching.framework/Versions/A/JavaLaunching
+0x0000000004ecf000 	/System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/CommonPanels.framework/Versions/A/CommonPanels
+0x0000000004ecf000 	/System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/Help.framework/Versions/A/Help
+0x0000000004ecf000 	/System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/ImageCapture.framework/Versions/A/ImageCapture
+0x0000000004ecf000 	/System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/OpenScripting.framework/Versions/A/OpenScripting
+0x0000000004ecf000 	/System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/Print.framework/Versions/A/Print
+0x0000000004ecf000 	/System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/SecurityHI.framework/Versions/A/SecurityHI
+0x000000011b47e000 	/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home/jre/lib/libdt_socket.dylib
+
+VM Arguments:
+jvm_args: -agentlib:jdwp=transport=dt_socket,address=127.0.0.1:51740,suspend=y,server=n -Xmx2048m -Dfile.encoding=UTF-8 
+java_command: com.saxonica.testdriver.Xslt30TestSuiteDriver . catalog.xml -s:higher-order-functions -t:higher-order-functions-001 -export -o:/Users/mike/w3c/xslt30-test-saxon -debug -lang:XT30 -bytecode:off -streaming:std -ps:off
+java_class_path (initial): /Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home/lib/ant-javafx.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home/lib/dt.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home/lib/javafx-mx.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home/lib/jconsole.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home/lib/sa-jdi.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home/lib/tools.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home/jre/lib/charsets.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home/jre/lib/deploy.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home/jre/lib/javaws.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home/jre/lib/jce.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home/jre/lib/jfr.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home/jre/lib/jfxswt.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home/jre/lib/jsse.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home/jre/lib/management-agent.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home/jre/lib/plugin.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home/jre/lib/resources.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home/jre/lib/rt.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home/jre/lib/ext/cldrdata.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home/jre/lib/ext/dnsns.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home/jre/lib/ext/jfxrt.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home/jre/lib/ext/localedata.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home/jre/lib/ext/nashorn.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home/jre/lib/ext/sunec.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/C
+Launcher Type: SUN_STANDARD
+
+Environment Variables:
+JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_55.jdk/Contents/Home
+PATH=/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/git/bin
+SHELL=/bin/bash
+
+Signal Handlers:
+SIGSEGV: [libjvm.dylib+0x579dc7], sa_mask[0]=11111111011111110111111111111111, sa_flags=SA_ONSTACK|SA_RESTART|SA_SIGINFO
+SIGBUS: [libjvm.dylib+0x579dc7], sa_mask[0]=11111111011111110111111111111111, sa_flags=SA_RESTART|SA_SIGINFO
+SIGFPE: [libjvm.dylib+0x45b030], sa_mask[0]=11111111011111110111111111111111, sa_flags=SA_RESTART|SA_SIGINFO
+SIGPIPE: [libjvm.dylib+0x45b030], sa_mask[0]=11111111011111110111111111111111, sa_flags=SA_RESTART|SA_SIGINFO
+SIGXFSZ: [libjvm.dylib+0x45b030], sa_mask[0]=11111111011111110111111111111111, sa_flags=SA_RESTART|SA_SIGINFO
+SIGILL: [libjvm.dylib+0x45b030], sa_mask[0]=11111111011111110111111111111111, sa_flags=SA_RESTART|SA_SIGINFO
+SIGUSR1: SIG_DFL, sa_mask[0]=00000000000000000000000000000000, sa_flags=SA_RESTART
+SIGUSR2: [libjvm.dylib+0x45ab4e], sa_mask[0]=00100000000000000000000000000000, sa_flags=SA_RESTART|SA_SIGINFO
+SIGHUP: [libjvm.dylib+0x459121], sa_mask[0]=11111111011111110111111111111111, sa_flags=SA_RESTART|SA_SIGINFO
+SIGINT: [libjvm.dylib+0x459121], sa_mask[0]=11111111011111110111111111111111, sa_flags=SA_RESTART|SA_SIGINFO
+SIGTERM: [libjvm.dylib+0x459121], sa_mask[0]=11111111011111110111111111111111, sa_flags=SA_RESTART|SA_SIGINFO
+SIGQUIT: [libjvm.dylib+0x459121], sa_mask[0]=11111111011111110111111111111111, sa_flags=SA_RESTART|SA_SIGINFO
+
+
+---------------  S Y S T E M  ---------------
+
+OS:Bsduname:Darwin 13.4.0 Darwin Kernel Version 13.4.0: Sun Aug 17 19:50:11 PDT 2014; root:xnu-2422.115.4~1/RELEASE_X86_64 x86_64
+rlimit: STACK 8192k, CORE 0k, NPROC 709, NOFILE 10240, AS infinity
+load average:3.90 4.33 4.56
+
+CPU:total 8 (4 cores per cpu, 2 threads per core) family 6 model 42 stepping 7, cmov, cx8, fxsr, mmx, sse, sse2, sse3, ssse3, sse4.1, sse4.2, popcnt, avx, aes, clmul, ht, tsc, tscinvbit
+
+Memory: 4k page, physical 8388608k(70424k free)
+
+/proc/meminfo:
+
+
+vm_info: Java HotSpot(TM) 64-Bit Server VM (25.25-b02) for bsd-amd64 JRE (1.8.0_25-b17), built on Sep 17 2014 16:56:50 by "java_re" with gcc 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.11.00)
+
+time: Fri Jan 30 17:22:28 2015
+elapsed time: 4141 seconds (0d 1h 9m 1s)
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/hs_err_pid53929.log	Tue Mar 24 19:40:30 2015 +0100
@@ -0,0 +1,435 @@
+#
+# A fatal error has been detected by the Java Runtime Environment:
+#
+#  SIGSEGV (0xb) at pc=0x00000001108232b0, pid=53929, tid=20227
+#
+# JRE version: Java(TM) SE Runtime Environment (8.0_25-b17) (build 1.8.0_25-b17)
+# Java VM: Java HotSpot(TM) 64-Bit Server VM (25.25-b02 mixed mode bsd-amd64 compressed oops)
+# Problematic frame:
+# V  [libjvm.dylib+0x4232b0]  Method::checked_resolve_jmethod_id(_jmethodID*)+0xe
+#
+# Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
+#
+# If you would like to submit a bug report, please visit:
+#   http://bugreport.sun.com/bugreport/crash.jsp
+#
+
+---------------  T H R E A D  ---------------
+
+Current thread (0x00007f8e3f803000):  JavaThread "JDWP Transport Listener: dt_socket" daemon [_thread_in_vm, id=20227, stack(0x00000001286f3000,0x00000001287f3000)]
+
+siginfo: si_signo: 11 (SIGSEGV), si_code: 1 (SEGV_MAPERR), si_addr: 0x000000000000007a
+
+Registers:
+RAX=0x0000000000000001, RBX=0x00000001287f2a8b, RCX=0x0000000110bd6c80, RDX=0x00000001287f2a8b
+RSP=0x00000001287f29d0, RBP=0x00000001287f29e0, RSI=0x00007f8e3f803000, RDI=0x000000000000007a
+R8 =0x00007f8e3db0fb90, R9 =0x00007f8e3db07970, R10=0x00000000e17d7496, R11=0x0000000059a4c2f6
+R12=0x00007f8e3f803000, R13=0x000000000000007a, R14=0x000000000000007a, R15=0x00007f8e3da01590
+RIP=0x00000001108232b0, EFLAGS=0x0000000000010202, ERR=0x0000000000000004
+  TRAPNO=0x000000000000000e
+
+Top of Stack: (sp=0x00000001287f29d0)
+0x00000001287f29d0:   00000001287f2a8b 00000001287f2a8b
+0x00000001287f29e0:   00000001287f2a40 000000011073526e
+0x00000001287f29f0:   00007f8e3f803000 0000000000000000
+0x00000001287f2a00:   0000000000000000 0000000000000000
+0x00000001287f2a10:   00007f8e3f803000 00007f8e3f803000
+0x00000001287f2a20:   00000001287f2a8b 00000001287f2a90
+0x00000001287f2a30:   000000000000007a 000000000000001e
+0x00000001287f2a40:   00000001287f2a60 00000001113707dc
+0x00000001287f2a50:   0000000000000001 00000001287f2b08
+0x00000001287f2a60:   00000001287f2ad0 0000000111355263
+0x00000001287f2a70:   00000001287f2aa0 00007f8e3db0fbc0
+0x00000001287f2a80:   0000001f00000032 00000401007f2b08
+0x00000001287f2a90:   0000000000000000 0000000000000000
+0x00000001287f2aa0:   0000000000000000 00000001287f2c90
+0x00000001287f2ab0:   0000000111377eca 00007f8e3d990f20
+0x00000001287f2ac0:   00000001287f2b08 0000000111383588
+0x00000001287f2ad0:   00000001287f2ae0 000000011135535c
+0x00000001287f2ae0:   00000001287f2d00 000000011135e8f6
+0x00000001287f2af0:   002d8efb00000013 00000000000f0200
+0x00000001287f2b00:   00007f8e3d98aec0 00007f8e3f867ee7
+0x00000001287f2b10:   00007f8e00000879 00007f8e3db0f760
+0x00000001287f2b20:   00007f8e0000012c 00000001287f2b58
+0x00000001287f2b30:   00007f8e3db5cef0 0000000000000000
+0x00000001287f2b40:   002d8efb0000000f 00007fff00006e80
+0x00000001287f2b50:   00000001287f2b58 8e7f00001f000000
+0x00000001287f2b60:   10000000b0858b3d 6b63617453746567
+0x00000001287f2b70:   70614d656d617246 6e4c29282a000000
+0x00000001287f2b80:   61732f66732f7465 727078652f6e6f78
+0x00000001287f2b90:   63757274736e692f 614d746f6c532f74
+0x00000001287f2ba0:   00003b726567616e 0000010000000000
+0x00000001287f2bb0:   000088858b3d8e7f 6d79537465670f00
+0x00000001287f2bc0:   6d614e63696c6f62 4c29282300000065 
+
+Instructions: (pc=0x00000001108232b0)
+0x0000000110823290:   40 48 48 85 c0 75 e0 30 c0 0f b6 c0 5d c3 31 c0
+0x00000001108232a0:   5d c3 55 48 89 e5 53 48 83 ec 08 48 85 ff 74 24
+0x00000001108232b0:   48 8b 1f 48 85 db 74 1c 48 83 fb 37 74 16 48 8b
+0x00000001108232c0:   03 48 89 df ff 50 10 84 c0 b8 00 00 00 00 48 0f 
+
+Register to memory mapping:
+
+RAX=0x0000000000000001 is an unknown value
+RBX=0x00000001287f2a8b is pointing into the stack for thread: 0x00007f8e3f803000
+RCX=0x0000000110bd6c80: UseMembar+0 in /Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home/jre/lib/server/libjvm.dylib at 0x0000000110400000
+RDX=0x00000001287f2a8b is pointing into the stack for thread: 0x00007f8e3f803000
+RSP=0x00000001287f29d0 is pointing into the stack for thread: 0x00007f8e3f803000
+RBP=0x00000001287f29e0 is pointing into the stack for thread: 0x00007f8e3f803000
+RSI=0x00007f8e3f803000 is a thread
+RDI=0x000000000000007a is an unknown value
+R8 =0x00007f8e3db0fb90 is an unknown value
+R9 =0x00007f8e3db07970 is an unknown value
+R10=0x00000000e17d7496 is an unknown value
+R11=0x0000000059a4c2f6 is an unknown value
+R12=0x00007f8e3f803000 is a thread
+R13=0x000000000000007a is an unknown value
+R14=0x000000000000007a is an unknown value
+R15=0x00007f8e3da01590 is an unknown value
+
+
+Stack: [0x00000001286f3000,0x00000001287f3000],  sp=0x00000001287f29d0,  free space=1022k
+Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
+V  [libjvm.dylib+0x4232b0]  Method::checked_resolve_jmethod_id(_jmethodID*)+0xe
+V  [libjvm.dylib+0x33526e]  jvmti_IsMethodSynthetic+0xb2
+C  [libjdwp.dylib+0x207dc]  isMethodSynthetic+0x63
+C  [libjdwp.dylib+0x5263]  methods1+0x10b
+C  [libjdwp.dylib+0x535c]  methodsWithGeneric+0xe
+C  [libjdwp.dylib+0xe8f6]  debugLoop_run+0x1ce
+C  [libjdwp.dylib+0x1f716]  attachThread+0x4d
+V  [libjvm.dylib+0x3762ce]  JvmtiAgentThread::call_start_function()+0x38
+V  [libjvm.dylib+0x535ed9]  JavaThread::thread_main_inner()+0x9b
+V  [libjvm.dylib+0x53761c]  JavaThread::run()+0x1c2
+V  [libjvm.dylib+0x45d87e]  java_start(Thread*)+0xf6
+C  [libsystem_pthread.dylib+0x1899]  _pthread_body+0x8a
+C  [libsystem_pthread.dylib+0x172a]  _pthread_struct_init+0x0
+C  [libsystem_pthread.dylib+0x5fc9]  thread_start+0xd
+C  0x0000000000000000
+
+
+---------------  P R O C E S S  ---------------
+
+Java Threads: ( => current thread )
+  0x00007f8e3c012800 JavaThread "Service Thread" daemon [_thread_blocked, id=23811, stack(0x0000000128e08000,0x0000000128f08000)]
+  0x00007f8e3c00f800 JavaThread "C1 CompilerThread3" daemon [_thread_blocked, id=23299, stack(0x0000000128d05000,0x0000000128e05000)]
+  0x00007f8e3b82a000 JavaThread "C2 CompilerThread2" daemon [_thread_blocked, id=22787, stack(0x0000000128c02000,0x0000000128d02000)]
+  0x00007f8e3e808000 JavaThread "C2 CompilerThread1" daemon [_thread_blocked, id=22275, stack(0x0000000128aff000,0x0000000128bff000)]
+  0x00007f8e3c00f000 JavaThread "C2 CompilerThread0" daemon [_thread_blocked, id=21763, stack(0x00000001289fc000,0x0000000128afc000)]
+  0x00007f8e3e806800 JavaThread "JDWP Command Reader" daemon [_thread_in_native, id=21251, stack(0x00000001288f9000,0x00000001289f9000)]
+  0x00007f8e3f803800 JavaThread "JDWP Event Helper Thread" daemon [_thread_blocked, id=20739, stack(0x00000001287f6000,0x00000001288f6000)]
+=>0x00007f8e3f803000 JavaThread "JDWP Transport Listener: dt_socket" daemon [_thread_in_vm, id=20227, stack(0x00000001286f3000,0x00000001287f3000)]
+  0x00007f8e3c035000 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=19715, stack(0x00000001285e9000,0x00000001286e9000)]
+  0x00007f8e3e037000 JavaThread "Finalizer" daemon [_thread_blocked, id=14595, stack(0x0000000128399000,0x0000000128499000)]
+  0x00007f8e3e036000 JavaThread "Reference Handler" daemon [_thread_blocked, id=14083, stack(0x0000000128296000,0x0000000128396000)]
+  0x00007f8e3e001800 JavaThread "main" [_thread_blocked, id=6403, stack(0x000000010f2d7000,0x000000010f3d7000)]
+
+Other Threads:
+  0x00007f8e3f801000 VMThread [stack: 0x0000000128193000,0x0000000128293000] [id=13571]
+  0x00007f8e3d001000 WatcherThread [stack: 0x0000000128f0b000,0x000000012900b000] [id=24323]
+
+VM state:not at safepoint (normal execution)
+
+VM Mutex/Monitor currently owned by a thread: None
+
+Heap:
+ PSYoungGen      total 38400K, used 20400K [0x0000000795580000, 0x0000000798000000, 0x00000007c0000000)
+  eden space 33280K, 52% used [0x0000000795580000,0x000000079666b938,0x0000000797600000)
+  from space 5120K, 60% used [0x0000000797600000,0x0000000797900a60,0x0000000797b00000)
+  to   space 5120K, 0% used [0x0000000797b00000,0x0000000797b00000,0x0000000798000000)
+ ParOldGen       total 87552K, used 72K [0x0000000740000000, 0x0000000745580000, 0x0000000795580000)
+  object space 87552K, 0% used [0x0000000740000000,0x0000000740012010,0x0000000745580000)
+ Metaspace       used 14531K, capacity 14634K, committed 14848K, reserved 1062912K
+  class space    used 1967K, capacity 2001K, committed 2048K, reserved 1048576K
+
+Card table byte_map: [0x000000012075b000,0x0000000120b5c000] byte_map_base: 0x000000011cd5b000
+
+Marking Bits: (ParMarkBitMap*) 0x0000000110c9d390
+ Begin Bits: [0x000000012161f000, 0x000000012361f000)
+ End Bits:   [0x000000012361f000, 0x000000012561f000)
+
+Polling page: 0x000000010f3e7000
+
+CodeCache: size=245760Kb used=2643Kb max_used=2667Kb free=243116Kb
+ bounds [0x000000011139b000, 0x000000011164b000, 0x000000012039b000]
+ total_blobs=943 nmethods=630 adapters=236
+ compilation: enabled
+
+Compilation events (10 events):
+Event: 172.457 Thread 0x00007f8e3c00f800  698       3       net.sf.saxon.tree.linked.NodeImpl::getPhysicalRoot (29 bytes)
+Event: 172.457 Thread 0x00007f8e3c00f800 nmethod 698 0x00000001115f0b90 code [0x00000001115f0d20, 0x00000001115f11d0]
+Event: 172.494 Thread 0x00007f8e3c00f800  699       3       net.sf.saxon.expr.MonoIterator::<init> (15 bytes)
+Event: 172.495 Thread 0x00007f8e3c00f800 nmethod 699 0x00000001115f0790 code [0x00000001115f0900, 0x00000001115f0ad0]
+Event: 172.495 Thread 0x00007f8e3c00f800  700       3       net.sf.saxon.expr.MonoIterator::next (25 bytes)
+Event: 172.495 Thread 0x00007f8e3c00f800 nmethod 700 0x00000001115f02d0 code [0x00000001115f0440, 0x00000001115f0688]
+Event: 172.551 Thread 0x00007f8e3c00f800  701   !   3       java.util.Collections$SynchronizedMap::get (25 bytes)
+Event: 172.552 Thread 0x00007f8e3c00f800 nmethod 701 0x00000001115efbd0 code [0x00000001115efd60, 0x00000001115f0148]
+Event: 290.960 Thread 0x00007f8e3c00f800  702       3       net.sf.saxon.expr.instruct.Choose::size (6 bytes)
+Event: 290.960 Thread 0x00007f8e3c00f800 nmethod 702 0x00000001115ef850 code [0x00000001115ef9c0, 0x00000001115efb30]
+
+GC Heap History (2 events):
+Event: 14.100 GC heap before
+{Heap before GC invocations=1 (full 0):
+ PSYoungGen      total 38400K, used 33280K [0x0000000795580000, 0x0000000798000000, 0x00000007c0000000)
+  eden space 33280K, 100% used [0x0000000795580000,0x0000000797600000,0x0000000797600000)
+  from space 5120K, 0% used [0x0000000797b00000,0x0000000797b00000,0x0000000798000000)
+  to   space 5120K, 0% used [0x0000000797600000,0x0000000797600000,0x0000000797b00000)
+ ParOldGen       total 87552K, used 0K [0x0000000740000000, 0x0000000745580000, 0x0000000795580000)
+  object space 87552K, 0% used [0x0000000740000000,0x0000000740000000,0x0000000745580000)
+ Metaspace       used 10717K, capacity 10788K, committed 10880K, reserved 1058816K
+  class space    used 1349K, capacity 1360K, committed 1408K, reserved 1048576K
+Event: 14.105 GC heap after
+Heap after GC invocations=1 (full 0):
+ PSYoungGen      total 38400K, used 3074K [0x0000000795580000, 0x0000000798000000, 0x00000007c0000000)
+  eden space 33280K, 0% used [0x0000000795580000,0x0000000795580000,0x0000000797600000)
+  from space 5120K, 60% used [0x0000000797600000,0x0000000797900a60,0x0000000797b00000)
+  to   space 5120K, 0% used [0x0000000797b00000,0x0000000797b00000,0x0000000798000000)
+ ParOldGen       total 87552K, used 72K [0x0000000740000000, 0x0000000745580000, 0x0000000795580000)
+  object space 87552K, 0% used [0x0000000740000000,0x0000000740012010,0x0000000745580000)
+ Metaspace       used 10717K, capacity 10788K, committed 10880K, reserved 1058816K
+  class space    used 1349K, capacity 1360K, committed 1408K, reserved 1048576K
+}
+
+Deoptimization events (5 events):
+Event: 11.145 Thread 0x00007f8e3e001800 Uncommon trap: reason=class_check action=maybe_recompile pc=0x000000011151d9a8 method=sun.misc.URLClassPath.getLoader(I)Lsun/misc/URLClassPath$Loader; @ 94
+Event: 11.145 Thread 0x00007f8e3e001800 Uncommon trap: reason=class_check action=maybe_recompile pc=0x000000011151d9a8 method=sun.misc.URLClassPath.getLoader(I)Lsun/misc/URLClassPath$Loader; @ 94
+Event: 11.146 Thread 0x00007f8e3e001800 Uncommon trap: reason=class_check action=maybe_recompile pc=0x000000011151d9a8 method=sun.misc.URLClassPath.getLoader(I)Lsun/misc/URLClassPath$Loader; @ 94
+Event: 11.386 Thread 0x00007f8e3e001800 Uncommon trap: reason=unreached action=reinterpret pc=0x000000011154fa24 method=java.util.HashMap.getNode(ILjava/lang/Object;)Ljava/util/HashMap$Node; @ 116
+Event: 11.392 Thread 0x00007f8e3e001800 Uncommon trap: reason=unreached action=reinterpret pc=0x000000011154df9c method=java.util.HashMap.getNode(ILjava/lang/Object;)Ljava/util/HashMap$Node; @ 116
+
+Internal exceptions (10 events):
+Event: 172.285 Thread 0x00007f8e3e001800 Exception <a 'java/security/PrivilegedActionException'> (0x000000079658a490) thrown at [/HUDSON3/workspace/8-2-build-macosx-x86_64/jdk8u25/1514/hotspot/src/share/vm/prims/jvm.cpp, line 1312]
+Event: 172.285 Thread 0x00007f8e3e001800 Exception <a 'java/security/PrivilegedActionException'> (0x000000079658f2e8) thrown at [/HUDSON3/workspace/8-2-build-macosx-x86_64/jdk8u25/1514/hotspot/src/share/vm/prims/jvm.cpp, line 1312]
+Event: 172.296 Thread 0x00007f8e3e001800 Exception <a 'java/security/PrivilegedActionException'> (0x00000007965a15e8) thrown at [/HUDSON3/workspace/8-2-build-macosx-x86_64/jdk8u25/1514/hotspot/src/share/vm/prims/jvm.cpp, line 1312]
+Event: 172.304 Thread 0x00007f8e3e001800 Exception <a 'java/security/PrivilegedActionException'> (0x00000007965ab990) thrown at [/HUDSON3/workspace/8-2-build-macosx-x86_64/jdk8u25/1514/hotspot/src/share/vm/prims/jvm.cpp, line 1312]
+Event: 172.312 Thread 0x00007f8e3e001800 Exception <a 'java/security/PrivilegedActionException'> (0x00000007965b4930) thrown at [/HUDSON3/workspace/8-2-build-macosx-x86_64/jdk8u25/1514/hotspot/src/share/vm/prims/jvm.cpp, line 1312]
+Event: 172.314 Thread 0x00007f8e3e001800 Exception <a 'java/security/PrivilegedActionException'> (0x00000007965bf3a8) thrown at [/HUDSON3/workspace/8-2-build-macosx-x86_64/jdk8u25/1514/hotspot/src/share/vm/prims/jvm.cpp, line 1312]
+Event: 172.323 Thread 0x00007f8e3e001800 Exception <a 'java/security/PrivilegedActionException'> (0x00000007965c43b0) thrown at [/HUDSON3/workspace/8-2-build-macosx-x86_64/jdk8u25/1514/hotspot/src/share/vm/prims/jvm.cpp, line 1312]
+Event: 172.360 Thread 0x00007f8e3e001800 Exception <a 'java/security/PrivilegedActionException'> (0x00000007965c9ed0) thrown at [/HUDSON3/workspace/8-2-build-macosx-x86_64/jdk8u25/1514/hotspot/src/share/vm/prims/jvm.cpp, line 1312]
+Event: 172.513 Thread 0x00007f8e3e001800 Exception <a 'java/security/PrivilegedActionException'> (0x00000007965d1dd0) thrown at [/HUDSON3/workspace/8-2-build-macosx-x86_64/jdk8u25/1514/hotspot/src/share/vm/prims/jvm.cpp, line 1312]
+Event: 260.287 Thread 0x00007f8e3e001800 Exception <a 'java/security/PrivilegedActionException'> (0x00000007965e9850) thrown at [/HUDSON3/workspace/8-2-build-macosx-x86_64/jdk8u25/1514/hotspot/src/share/vm/prims/jvm.cpp, line 1312]
+
+Events (10 events):
+Event: 539.639 Executing VM operation: ChangeBreakpoints
+Event: 539.640 Executing VM operation: ChangeBreakpoints done
+Event: 539.649 Executing VM operation: ChangeBreakpoints
+Event: 539.649 Executing VM operation: ChangeBreakpoints done
+Event: 539.654 Executing VM operation: ChangeBreakpoints
+Event: 539.655 Executing VM operation: ChangeBreakpoints done
+Event: 539.666 Executing VM operation: ChangeBreakpoints
+Event: 539.666 Executing VM operation: ChangeBreakpoints done
+Event: 539.670 Executing VM operation: ChangeBreakpoints
+Event: 539.670 Executing VM operation: ChangeBreakpoints done
+
+
+Dynamic libraries:
+0x0000000004ecf000 	/System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa
+0x0000000004ecf000 	/System/Library/Frameworks/Security.framework/Versions/A/Security
+0x0000000004ecf000 	/System/Library/Frameworks/ApplicationServices.framework/Versions/A/ApplicationServices
+0x0000000004ecf000 	/usr/lib/libz.1.dylib
+0x0000000004ecf000 	/usr/lib/libSystem.B.dylib
+0x0000000004ecf000 	/usr/lib/libobjc.A.dylib
+0x0000000004ecf000 	/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation
+0x0000000004ecf000 	/System/Library/Frameworks/Foundation.framework/Versions/C/Foundation
+0x0000000004ecf000 	/System/Library/Frameworks/AppKit.framework/Versions/C/AppKit
+0x0000000004ecf000 	/System/Library/Frameworks/CoreData.framework/Versions/A/CoreData
+0x0000000004ecf000 	/System/Library/PrivateFrameworks/RemoteViewServices.framework/Versions/A/RemoteViewServices
+0x0000000004ecf000 	/System/Library/Frameworks/AudioToolbox.framework/Versions/A/AudioToolbox
+0x0000000004ecf000 	/System/Library/Frameworks/AudioUnit.framework/Versions/A/AudioUnit
+0x0000000004ecf000 	/System/Library/PrivateFrameworks/DataDetectorsCore.framework/Versions/A/DataDetectorsCore
+0x0000000004ecf000 	/System/Library/PrivateFrameworks/DesktopServicesPriv.framework/Versions/A/DesktopServicesPriv
+0x0000000004ecf000 	/System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/HIToolbox
+0x0000000004ecf000 	/System/Library/Frameworks/QuartzCore.framework/Versions/A/QuartzCore
+0x0000000004ecf000 	/System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/SpeechRecognition.framework/Versions/A/SpeechRecognition
+0x0000000004ecf000 	/usr/lib/libauto.dylib
+0x0000000004ecf000 	/usr/lib/libicucore.A.dylib
+0x0000000004ecf000 	/usr/lib/libxml2.2.dylib
+0x0000000004ecf000 	/System/Library/PrivateFrameworks/CoreUI.framework/Versions/A/CoreUI
+0x0000000004ecf000 	/System/Library/Frameworks/CoreAudio.framework/Versions/A/CoreAudio
+0x0000000004ecf000 	/System/Library/Frameworks/DiskArbitration.framework/Versions/A/DiskArbitration
+0x0000000004ecf000 	/usr/lib/liblangid.dylib
+0x0000000004ecf000 	/System/Library/PrivateFrameworks/MultitouchSupport.framework/Versions/A/MultitouchSupport
+0x0000000004ecf000 	/System/Library/Frameworks/IOKit.framework/Versions/A/IOKit
+0x0000000004ecf000 	/usr/lib/libDiagnosticMessagesClient.dylib
+0x0000000004ecf000 	/System/Library/Frameworks/CoreServices.framework/Versions/A/CoreServices
+0x0000000004ecf000 	/System/Library/PrivateFrameworks/PerformanceAnalysis.framework/Versions/A/PerformanceAnalysis
+0x0000000004ecf000 	/System/Library/PrivateFrameworks/GenerationalStorage.framework/Versions/A/GenerationalStorage
+0x0000000004ecf000 	/System/Library/Frameworks/OpenGL.framework/Versions/A/OpenGL
+0x0000000004ecf000 	/System/Library/PrivateFrameworks/Sharing.framework/Versions/A/Sharing
+0x0000000004ecf000 	/System/Library/Frameworks/ImageIO.framework/Versions/A/ImageIO
+0x0000000004ecf000 	/System/Library/Frameworks/CoreText.framework/Versions/A/CoreText
+0x0000000004ecf000 	/System/Library/Frameworks/CoreGraphics.framework/Versions/A/CoreGraphics
+0x0000000004ecf000 	/System/Library/PrivateFrameworks/Backup.framework/Versions/A/Backup
+0x0000000004ecf000 	/System/Library/Frameworks/CFNetwork.framework/Versions/A/CFNetwork
+0x0000000004ecf000 	/System/Library/Frameworks/SystemConfiguration.framework/Versions/A/SystemConfiguration
+0x0000000004ecf000 	/usr/lib/libCRFSuite.dylib
+0x0000000004ecf000 	/usr/lib/libc++.1.dylib
+0x0000000004ecf000 	/usr/lib/libc++abi.dylib
+0x0000000004ecf000 	/usr/lib/system/libcache.dylib
+0x0000000004ecf000 	/usr/lib/system/libcommonCrypto.dylib
+0x0000000004ecf000 	/usr/lib/system/libcompiler_rt.dylib
+0x0000000004ecf000 	/usr/lib/system/libcopyfile.dylib
+0x0000000004ecf000 	/usr/lib/system/libcorecrypto.dylib
+0x0000000004ecf000 	/usr/lib/system/libdispatch.dylib
+0x0000000004ecf000 	/usr/lib/system/libdyld.dylib
+0x0000000004ecf000 	/usr/lib/system/libkeymgr.dylib
+0x0000000004ecf000 	/usr/lib/system/liblaunch.dylib
+0x0000000004ecf000 	/usr/lib/system/libmacho.dylib
+0x0000000004ecf000 	/usr/lib/system/libquarantine.dylib
+0x0000000004ecf000 	/usr/lib/system/libremovefile.dylib
+0x0000000004ecf000 	/usr/lib/system/libsystem_asl.dylib
+0x0000000004ecf000 	/usr/lib/system/libsystem_blocks.dylib
+0x0000000004ecf000 	/usr/lib/system/libsystem_c.dylib
+0x0000000004ecf000 	/usr/lib/system/libsystem_configuration.dylib
+0x0000000004ecf000 	/usr/lib/system/libsystem_dnssd.dylib
+0x0000000004ecf000 	/usr/lib/system/libsystem_info.dylib
+0x0000000004ecf000 	/usr/lib/system/libsystem_kernel.dylib
+0x0000000004ecf000 	/usr/lib/system/libsystem_m.dylib
+0x0000000004ecf000 	/usr/lib/system/libsystem_malloc.dylib
+0x0000000004ecf000 	/usr/lib/system/libsystem_network.dylib
+0x0000000004ecf000 	/usr/lib/system/libsystem_notify.dylib
+0x0000000004ecf000 	/usr/lib/system/libsystem_platform.dylib
+0x0000000004ecf000 	/usr/lib/system/libsystem_pthread.dylib
+0x0000000004ecf000 	/usr/lib/system/libsystem_sandbox.dylib
+0x0000000004ecf000 	/usr/lib/system/libsystem_stats.dylib
+0x0000000004ecf000 	/usr/lib/system/libunc.dylib
+0x0000000004ecf000 	/usr/lib/system/libunwind.dylib
+0x0000000004ecf000 	/usr/lib/system/libxpc.dylib
+0x0000000004ecf000 	/usr/lib/libbsm.0.dylib
+0x0000000004ecf000 	/usr/lib/libsqlite3.dylib
+0x0000000004ecf000 	/usr/lib/libxar.1.dylib
+0x0000000004ecf000 	/usr/lib/libpam.2.dylib
+0x0000000004ecf000 	/usr/lib/libOpenScriptingUtil.dylib
+0x0000000004ecf000 	/usr/lib/libbz2.1.0.dylib
+0x0000000004ecf000 	/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CarbonCore.framework/Versions/A/CarbonCore
+0x0000000004ecf000 	/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Metadata
+0x0000000004ecf000 	/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/OSServices.framework/Versions/A/OSServices
+0x0000000004ecf000 	/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/SearchKit.framework/Versions/A/SearchKit
+0x0000000004ecf000 	/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/AE.framework/Versions/A/AE
+0x0000000004ecf000 	/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/LaunchServices
+0x0000000004ecf000 	/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/DictionaryServices.framework/Versions/A/DictionaryServices
+0x0000000004ecf000 	/System/Library/Frameworks/NetFS.framework/Versions/A/NetFS
+0x0000000004ecf000 	/usr/lib/system/libkxld.dylib
+0x0000000004ecf000 	/System/Library/PrivateFrameworks/NetAuth.framework/Versions/A/NetAuth
+0x0000000004ecf000 	/System/Library/PrivateFrameworks/TCC.framework/Versions/A/TCC
+0x0000000004ecf000 	/System/Library/Frameworks/OpenDirectory.framework/Versions/A/Frameworks/CFOpenDirectory.framework/Versions/A/CFOpenDirectory
+0x0000000004ecf000 	/System/Library/Frameworks/ServiceManagement.framework/Versions/A/ServiceManagement
+0x0000000004ecf000 	/usr/lib/libxslt.1.dylib
+0x0000000004ecf000 	/System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/Ink.framework/Versions/A/Ink
+0x0000000004ecf000 	/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/ATS
+0x0000000004ecf000 	/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ColorSync.framework/Versions/A/ColorSync
+0x0000000004ecf000 	/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/HIServices.framework/Versions/A/HIServices
+0x0000000004ecf000 	/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/LangAnalysis.framework/Versions/A/LangAnalysis
+0x0000000004ecf000 	/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/PrintCore.framework/Versions/A/PrintCore
+0x0000000004ecf000 	/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/QD.framework/Versions/A/QD
+0x0000000004ecf000 	/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/SpeechSynthesis.framework/Versions/A/SpeechSynthesis
+0x0000000004ecf000 	/System/Library/Frameworks/IOSurface.framework/Versions/A/IOSurface
+0x0000000004ecf000 	/System/Library/Frameworks/Accelerate.framework/Versions/A/Accelerate
+0x0000000004ecf000 	/System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vImage.framework/Versions/A/vImage
+0x0000000004ecf000 	/System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/vecLib
+0x0000000004ecf000 	/System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libvDSP.dylib
+0x0000000004ecf000 	/System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libvMisc.dylib
+0x0000000004ecf000 	/System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libLAPACK.dylib
+0x0000000004ecf000 	/System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib
+0x0000000004ecf000 	/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/Resources/libFontParser.dylib
+0x0000000004ecf000 	/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/Resources/libFontRegistry.dylib
+0x0000000004ecf000 	/System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libJPEG.dylib
+0x0000000004ecf000 	/System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libTIFF.dylib
+0x0000000004ecf000 	/System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libPng.dylib
+0x0000000004ecf000 	/System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libGIF.dylib
+0x0000000004ecf000 	/System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libJP2.dylib
+0x0000000004ecf000 	/System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libRadiance.dylib
+0x0000000004ecf000 	/usr/lib/libcups.2.dylib
+0x0000000004ecf000 	/System/Library/Frameworks/Kerberos.framework/Versions/A/Kerberos
+0x0000000004ecf000 	/System/Library/Frameworks/GSS.framework/Versions/A/GSS
+0x0000000004ecf000 	/usr/lib/libresolv.9.dylib
+0x0000000004ecf000 	/usr/lib/libiconv.2.dylib
+0x0000000004ecf000 	/System/Library/PrivateFrameworks/Heimdal.framework/Versions/A/Heimdal
+0x0000000004ecf000 	/System/Library/PrivateFrameworks/TrustEvaluationAgent.framework/Versions/A/TrustEvaluationAgent
+0x0000000004ecf000 	/usr/lib/libheimdal-asn1.dylib
+0x0000000004ecf000 	/System/Library/Frameworks/OpenDirectory.framework/Versions/A/OpenDirectory
+0x0000000004ecf000 	/System/Library/PrivateFrameworks/CommonAuth.framework/Versions/A/CommonAuth
+0x0000000004ecf000 	/System/Library/Frameworks/SecurityFoundation.framework/Versions/A/SecurityFoundation
+0x0000000004ecf000 	/System/Library/PrivateFrameworks/Bom.framework/Versions/A/Bom
+0x0000000004ecf000 	/System/Library/Frameworks/CoreVideo.framework/Versions/A/CoreVideo
+0x0000000004ecf000 	/System/Library/Frameworks/QuartzCore.framework/Versions/A/Frameworks/CoreImage.framework/Versions/A/CoreImage
+0x0000000004ecf000 	/System/Library/Frameworks/QuartzCore.framework/Versions/A/Frameworks/ScalableUserInterface.framework/Versions/A/ScalableUserInterface
+0x0000000004ecf000 	/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGLU.dylib
+0x0000000004ecf000 	/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGFXShared.dylib
+0x0000000004ecf000 	/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib
+0x0000000004ecf000 	/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGLImage.dylib
+0x0000000004ecf000 	/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libCVMSPluginSupport.dylib
+0x0000000004ecf000 	/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libCoreVMClient.dylib
+0x0000000004ecf000 	/System/Library/PrivateFrameworks/FaceCore.framework/Versions/A/FaceCore
+0x0000000004ecf000 	/System/Library/PrivateFrameworks/CrashReporterSupport.framework/Versions/A/CrashReporterSupport
+0x0000000004ecf000 	/System/Library/Frameworks/OpenCL.framework/Versions/A/OpenCL
+0x0000000004ecf000 	/System/Library/PrivateFrameworks/AppleFSCompression.framework/Versions/A/AppleFSCompression
+0x0000000004ecf000 	/System/Library/PrivateFrameworks/Ubiquity.framework/Versions/A/Ubiquity
+0x0000000004ecf000 	/System/Library/PrivateFrameworks/IconServices.framework/Versions/A/IconServices
+0x0000000004ecf000 	/System/Library/PrivateFrameworks/ChunkingLibrary.framework/Versions/A/ChunkingLibrary
+0x0000000004ecf000 	/System/Library/PrivateFrameworks/CoreSymbolication.framework/Versions/A/CoreSymbolication
+0x0000000004ecf000 	/System/Library/PrivateFrameworks/Symbolication.framework/Versions/A/Symbolication
+0x0000000004ecf000 	/System/Library/PrivateFrameworks/DebugSymbols.framework/Versions/A/DebugSymbols
+0x0000000110400000 	/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home/jre/lib/server/libjvm.dylib
+0x0000000004ecf000 	/usr/lib/libstdc++.6.dylib
+0x000000010f3d9000 	/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home/jre/lib/libverify.dylib
+0x000000011131c000 	/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home/jre/lib/libjava.dylib
+0x0000000111350000 	/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home/jre/lib/libjdwp.dylib
+0x000000010f3e8000 	/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home/jre/lib/libnpt.dylib
+0x000000010f3f5000 	/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home/jre/lib/libzip.dylib
+0x000000012849b000 	/System/Library/Frameworks/JavaVM.framework/Frameworks/JavaRuntimeSupport.framework/JavaRuntimeSupport
+0x00000001284b3000 	/System/Library/Frameworks/JavaVM.framework/Versions/A/Frameworks/JavaNativeFoundation.framework/Versions/A/JavaNativeFoundation
+0x00000001284c8000 	/System/Library/Frameworks/JavaVM.framework/Versions/A/JavaVM
+0x0000000004ecf000 	/System/Library/Frameworks/Carbon.framework/Versions/A/Carbon
+0x00000001284d5000 	/System/Library/PrivateFrameworks/JavaLaunching.framework/Versions/A/JavaLaunching
+0x0000000004ecf000 	/System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/CommonPanels.framework/Versions/A/CommonPanels
+0x0000000004ecf000 	/System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/Help.framework/Versions/A/Help
+0x0000000004ecf000 	/System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/ImageCapture.framework/Versions/A/ImageCapture
+0x0000000004ecf000 	/System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/OpenScripting.framework/Versions/A/OpenScripting
+0x0000000004ecf000 	/System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/Print.framework/Versions/A/Print
+0x0000000004ecf000 	/System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/SecurityHI.framework/Versions/A/SecurityHI
+0x00000001286eb000 	/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home/jre/lib/libdt_socket.dylib
+
+VM Arguments:
+jvm_args: -agentlib:jdwp=transport=dt_socket,address=127.0.0.1:52361,suspend=y,server=n -Xmx2048m -Dfile.encoding=UTF-8 
+java_command: com.saxonica.testdriver.Xslt30TestSuiteDriver . catalog.xml -s:higher-order-functions -t:higher-order-functions-001 -noexport -o:/Users/mike/w3c/xslt30-test-saxon -debug -lang:XT30 -bytecode:off -streaming:std -ps:off
+java_class_path (initial): /Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home/lib/ant-javafx.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home/lib/dt.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home/lib/javafx-mx.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home/lib/jconsole.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home/lib/sa-jdi.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home/lib/tools.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home/jre/lib/charsets.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home/jre/lib/deploy.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home/jre/lib/javaws.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home/jre/lib/jce.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home/jre/lib/jfr.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home/jre/lib/jfxswt.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home/jre/lib/jsse.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home/jre/lib/management-agent.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home/jre/lib/plugin.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home/jre/lib/resources.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home/jre/lib/rt.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home/jre/lib/ext/cldrdata.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home/jre/lib/ext/dnsns.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home/jre/lib/ext/jfxrt.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home/jre/lib/ext/localedata.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home/jre/lib/ext/nashorn.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home/jre/lib/ext/sunec.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/C
+Launcher Type: SUN_STANDARD
+
+Environment Variables:
+JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_55.jdk/Contents/Home
+PATH=/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/git/bin
+SHELL=/bin/bash
+
+Signal Handlers:
+SIGSEGV: [libjvm.dylib+0x579dc7], sa_mask[0]=11111111011111110111111111111111, sa_flags=SA_ONSTACK|SA_RESTART|SA_SIGINFO
+SIGBUS: [libjvm.dylib+0x579dc7], sa_mask[0]=11111111011111110111111111111111, sa_flags=SA_RESTART|SA_SIGINFO
+SIGFPE: [libjvm.dylib+0x45b030], sa_mask[0]=11111111011111110111111111111111, sa_flags=SA_RESTART|SA_SIGINFO
+SIGPIPE: [libjvm.dylib+0x45b030], sa_mask[0]=11111111011111110111111111111111, sa_flags=SA_RESTART|SA_SIGINFO
+SIGXFSZ: [libjvm.dylib+0x45b030], sa_mask[0]=11111111011111110111111111111111, sa_flags=SA_RESTART|SA_SIGINFO
+SIGILL: [libjvm.dylib+0x45b030], sa_mask[0]=11111111011111110111111111111111, sa_flags=SA_RESTART|SA_SIGINFO
+SIGUSR1: SIG_DFL, sa_mask[0]=00000000000000000000000000000000, sa_flags=SA_RESTART
+SIGUSR2: [libjvm.dylib+0x45ab4e], sa_mask[0]=00100000000000000000000000000000, sa_flags=SA_RESTART|SA_SIGINFO
+SIGHUP: [libjvm.dylib+0x459121], sa_mask[0]=11111111011111110111111111111111, sa_flags=SA_RESTART|SA_SIGINFO
+SIGINT: [libjvm.dylib+0x459121], sa_mask[0]=11111111011111110111111111111111, sa_flags=SA_RESTART|SA_SIGINFO
+SIGTERM: [libjvm.dylib+0x459121], sa_mask[0]=11111111011111110111111111111111, sa_flags=SA_RESTART|SA_SIGINFO
+SIGQUIT: [libjvm.dylib+0x459121], sa_mask[0]=11111111011111110111111111111111, sa_flags=SA_RESTART|SA_SIGINFO
+
+
+---------------  S Y S T E M  ---------------
+
+OS:Bsduname:Darwin 13.4.0 Darwin Kernel Version 13.4.0: Sun Aug 17 19:50:11 PDT 2014; root:xnu-2422.115.4~1/RELEASE_X86_64 x86_64
+rlimit: STACK 8192k, CORE 0k, NPROC 709, NOFILE 10240, AS infinity
+load average:4.01 4.42 4.59
+
+CPU:total 8 (4 cores per cpu, 2 threads per core) family 6 model 42 stepping 7, cmov, cx8, fxsr, mmx, sse, sse2, sse3, ssse3, sse4.1, sse4.2, popcnt, avx, aes, clmul, ht, tsc, tscinvbit
+
+Memory: 4k page, physical 8388608k(166888k free)
+
+/proc/meminfo:
+
+
+vm_info: Java HotSpot(TM) 64-Bit Server VM (25.25-b02) for bsd-amd64 JRE (1.8.0_25-b17), built on Sep 17 2014 16:56:50 by "java_re" with gcc 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.11.00)
+
+time: Fri Jan 30 17:22:00 2015
+elapsed time: 540 seconds (0d 0h 9m 0s)
+
--- a/tests/attr/validation/_validation-test-set.xml	Tue Mar 24 19:37:57 2015 +0100
+++ b/tests/attr/validation/_validation-test-set.xml	Tue Mar 24 19:40:30 2015 +0100
@@ -834,6 +834,7 @@
       </dependencies>
       <test>
          <stylesheet file="validation-1301.xsl"/>
+         <initial-template name="main"/>
       </test>
       <result>
          <assert-xml><![CDATA[<list><element type="type2"><child1/><child2/></element></list>]]></assert-xml>
--- a/tests/attr/validation/validation-1301.xsl	Tue Mar 24 19:37:57 2015 +0100
+++ b/tests/attr/validation/validation-1301.xsl	Tue Mar 24 19:40:30 2015 +0100
@@ -34,7 +34,7 @@
        </xs:schema>
    </xsl:import-schema>
    
-   <xsl:template match="/">
+   <xsl:template match="/" name="main">
        <list xsl:validation="strict"> <!-- strict validation here works -->
            <element xsl:validation="strict"> <!-- strict validation here causes error -->
                <xsl:attribute name="type" select="'type2'"/>
--- a/tests/decl/accumulator/_accumulator-test-set.xml	Tue Mar 24 19:37:57 2015 +0100
+++ b/tests/decl/accumulator/_accumulator-test-set.xml	Tue Mar 24 19:40:30 2015 +0100
@@ -44,6 +44,7 @@
       <keywords>xsl:mode on-no-match-attribute shallow-skip fn:accumulator-before ElementTest</keywords>
       <created by="Michael Kay" on="2012-11-07"/>
       <modified by="Michael Kay" on="2014-08-01" change="Backlog (by AB), bug#26330 rename @new-value to @select" />
+      <modified by="Michael Kay" on="2015-03-02" change="Add use-accumulators to xsl:package element"/> 
       <environment ref="accumulator-001"/>
       <test>
          <stylesheet file="accumulator-001.xsl"/>
@@ -59,6 +60,7 @@
       <keywords>xsl:mode on-no-match-attribute shallow-skip fn:accumulator-before ElementTest streamable</keywords>
       <created by="Michael Kay" on="2012-11-07"/>
       <modified by="Michael Kay" on="2014-08-01" change="Backlog (by AB), bug#26330 rename @new-value to @select" />
+      <modified by="Michael Kay" on="2015-03-02" change="Add use-accumulators to xsl:package element"/>
       <environment>
          <source role="." file="accumulator-001.xml" streaming="true"/>
    	  </environment>
@@ -80,6 +82,7 @@
       <created by="Michael Kay" on="2012-11-07"/>
       <modified by="Michael Kay" on="2014-08-01" change="Backlog (by AB), bug#26330 rename @new-value to @select" />
       <modified by="Debbie Lockett" on="2014-08-14" change="use streamable='false'"/>
+      <modified by="Michael Kay" on="2015-03-02" change="Add use-accumulators to xsl:package element"/>
       <environment ref="accumulator-002"/>
       <test>
          <stylesheet file="accumulator-003.xsl"/>
@@ -99,6 +102,7 @@
       <created by="Michael Kay" on="2012-11-07"/>
       <modified by="Michael Kay" on="2014-08-01" change="Backlog (by AB), bug#26330 rename @new-value to @select" />
       <modified by="Debbie Lockett" on="2014-08-14" change="use streamable=' true '"/>
+      <modified by="Michael Kay" on="2015-03-02" change="Add use-accumulators to xsl:package element"/>
       <environment ref="accumulator-002s"/>
       <dependencies>
          <feature value="streaming"/>
--- a/tests/decl/accumulator/accumulator-001.xsl	Tue Mar 24 19:37:57 2015 +0100
+++ b/tests/decl/accumulator/accumulator-001.xsl	Tue Mar 24 19:40:30 2015 +0100
@@ -1,11 +1,16 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+<xsl:package
+  name="http://www.w3.org/xslt30-test/accumulator/accumulator-001"
+  package-version="1.0"
+  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
   xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:f="http://accum001/"
   exclude-result-prefixes="xs f" version="3.0">
 
   <!-- Simple test of an accumulator function -->
   
   <xsl:param name="streamable" static="yes" select="'no'"/>
+  
+  <xsl:global-context-item _streamable="{$streamable}" use-accumulators="figNr"/>
 
   <xsl:accumulator name="figNr" as="xs:integer" initial-value="0" _streamable="{$streamable}">
     <xsl:accumulator-rule match="chap" select="0"/>
@@ -24,4 +29,4 @@
       <xsl:apply-templates/>
     </figures>
   </xsl:template>
-</xsl:stylesheet>
+</xsl:package>
--- a/tests/decl/accumulator/accumulator-003.xsl	Tue Mar 24 19:37:57 2015 +0100
+++ b/tests/decl/accumulator/accumulator-003.xsl	Tue Mar 24 19:40:30 2015 +0100
@@ -1,5 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+<xsl:package
+  name="http://www.w3.org/xslt30-test/accumulator/accumulator-003"
+  package-version="1.0"
+  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
   xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:f="http://accum001/"
   exclude-result-prefixes="xs f" version="3.0">
 
@@ -7,6 +10,8 @@
   
   <xsl:param name="streamable" static="yes" select="'no'"/>
 
+  <xsl:global-context-item _streamable="{$streamable}" use-accumulators="figNr"/>
+  
   <xsl:accumulator name="figNr" as="xs:integer" initial-value="0" _streamable="{$streamable}">
     <xsl:accumulator-rule match="chap" select="0"/>
     <xsl:accumulator-rule match="fig" select="$value + 1"/>
@@ -29,4 +34,4 @@
       <xsl:apply-templates/>
     </figures>
   </xsl:template>
-</xsl:stylesheet>
+</xsl:package>
--- a/tests/decl/attribute-set/_attribute-set-test-set.xml	Tue Mar 24 19:37:57 2015 +0100
+++ b/tests/decl/attribute-set/_attribute-set-test-set.xml	Tue Mar 24 19:40:30 2015 +0100
@@ -93,6 +93,51 @@
          <assert-xml><![CDATA[<out><test4 color="black" texture="matt"/></out>]]></assert-xml>
       </result>
    </test-case>
+   
+   <test-case name="attribute-set-0106">
+      <description>
+         A terminating recursive attribute set. 
+         (It's not entirely clear whether the spec allows this. It works in Saxon 9.6 but not in 9.7)</description>
+      <keywords>xsl:use-attribute-sets lre </keywords>
+      <created by="Michael Kay" on="2015-03-02"/>
+      <environment ref="attribute-set-01"/>
+      <dependencies>
+         <spec value="XSLT20+"/>
+      </dependencies>
+      <test>
+         <stylesheet file="attribute-set-0106.xsl"/>
+      </test>
+      <result>
+         <any-of>
+            <error code="XTDE0640"/>
+            <assert-xml><![CDATA[<out><test1 color="|matt|matt|matt|matt|matt|matt|matt|matt|matt|matt|matt|matt|matt|matt|matt|matt|matt"
+          texture="matt"/></out>]]></assert-xml>
+         </any-of>   
+      </result>
+   </test-case>
+   
+   <test-case name="attribute-set-0107">
+      <description>Focus-dependent attribute set</description>
+      <keywords>xsl:use-attribute-sets lre </keywords>
+      <created by="Michael Kay" on="2015-03-02"/>
+      <environment ref="attribute-set-01"/>
+      <dependencies>
+         <spec value="XSLT20+"/>
+      </dependencies>
+      <test>
+         <stylesheet file="attribute-set-0107.xsl"/>
+      </test>
+      <result>
+        <assert-xml><![CDATA[<out><section class="section" position="1"
+        /><section class="section" position="2"/><p class="p" position="3"/><p class="p" position="4"
+        /><section class="section" position="5"/><p class="p" position="6"
+        /><section class="section" position="7"/><p class="p" position="8"/><p class="p" position="9"
+        /><section class="section" position="10"/><p class="p" position="11"/><p class="p" position="12"/><p class="p" position="13"
+        /><section class="section" position="14"/><p class="p" position="15"/><p class="p" position="16"/></out>
+]]></assert-xml>  
+      </result>
+   </test-case>
+
 
    <test-case name="attribute-set-0201">
       <description>Set attributes of a LRE from multiple attribute sets.</description>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/decl/attribute-set/attribute-set-0106.xsl	Tue Mar 24 19:40:30 2015 +0100
@@ -0,0 +1,26 @@
+<?xml version="1.0"?> 
+
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0">
+
+  <!-- PURPOSE: A terminating recursive attribute set. It's not entirely clear whether the spec allows this. -->
+  <?spec xslt#attribute-sets?>
+
+  <xsl:attribute-set name="set1">
+    <xsl:attribute name="color">
+          <xsl:for-each select="*">
+            <xsl:variable name="x">
+              <e xsl:use-attribute-sets="set1"/>
+            </xsl:variable>
+            <xsl:value-of select="string-join($x//@*, '|')"/>
+          </xsl:for-each>
+    </xsl:attribute>
+    <xsl:attribute name="texture">matt</xsl:attribute>
+  </xsl:attribute-set>
+
+  <xsl:template match="/">
+    <out>
+      <test1 xsl:use-attribute-sets="set1"></test1>
+    </out>
+  </xsl:template>
+
+</xsl:stylesheet>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/decl/attribute-set/attribute-set-0107.xsl	Tue Mar 24 19:40:30 2015 +0100
@@ -0,0 +1,21 @@
+<?xml version="1.0"?> 
+
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0">
+
+  <!-- PURPOSE: A focus-dependent attribute set. (Fails in Saxon because of incorrect loop-lifting) -->
+  <?spec xslt#attribute-sets?>
+
+  <xsl:attribute-set name="set1">
+    <xsl:attribute name="class" select="name()"/>
+    <xsl:attribute name="position" select="position()"/>
+  </xsl:attribute-set>
+
+  <xsl:template match="/">
+    <out>
+      <xsl:for-each select="doc//*">
+        <xsl:copy use-attribute-sets="set1"/>
+      </xsl:for-each>  
+    </out>
+  </xsl:template>
+
+</xsl:stylesheet>
--- a/tests/decl/import-schema/_import-schema-test-set.xml	Tue Mar 24 19:37:57 2015 +0100
+++ b/tests/decl/import-schema/_import-schema-test-set.xml	Tue Mar 24 19:40:30 2015 +0100
@@ -2871,6 +2871,7 @@
          But they are not clearly defined in XSD 1.0.
       </description>
       <created by="Michael Kay, Saxonica" on="2012-11-09"/>
+      <modified by="Michael Kay" on="2015-03-20" change="See bug 20726"/>
       <environment>
          <source role=".">
             <content><![CDATA[<doc><e/><e xmlns:p="http://some.other.namespace/"/><e xmlns:q="http://p.com/"/></doc>]]></content>
@@ -2879,6 +2880,7 @@
       <dependencies>
          <spec value="XSLT20+"/>
          <feature value="schema_aware"/>
+         <feature value="XSD_1.1"/>
       </dependencies>
       <test>
          <stylesheet file="import-schema-164.xsl"/>
--- a/tests/decl/override/_override-test-set.xml	Tue Mar 24 19:37:57 2015 +0100
+++ b/tests/decl/override/_override-test-set.xml	Tue Mar 24 19:40:30 2015 +0100
@@ -4,204 +4,41 @@
           name="override">
    <description>Tests xsl:override in XSLT 3.0</description>
    
-   <environment name="override-env-001">
-      <package file="override-base-001.xsl" role="secondary" uri="http://www.w3.org/xslt30tests/override-base-001" package-version="1.0.0"/>
-   </environment>
-   
-   <environment name="override-env-101">
-      <package file="override-base-101.xsl" role="secondary" uri="http://www.w3.org/xslt30tests/override-base-101" package-version="1.0.0"/>
+   <environment name="override-f-A">
+      <package file="override-base-f-001.xsl" role="secondary" uri="http://www.w3.org/xslt30tests/override-base-001" package-version="1.0.0"/>
    </environment>
    
-   <environment name="override-env-201">
-      <package file="override-base-201.xsl" role="secondary" uri="http://www.w3.org/xslt30tests/override-base-201" package-version="1.0.0"/>
+   <environment name="override-t-B">
+      <package file="override-base-t-001.xsl" role="secondary" uri="http://www.w3.org/xslt30tests/override-base-101" package-version="1.0.0"/>
    </environment>
    
-   <environment name="override-env-301">
-      <package file="override-base-301.xsl" role="secondary" uri="http://www.w3.org/xslt30tests/override-base-301" package-version="1.0.0"/>
+   <environment name="override-v-C">
+      <package file="override-base-v-001.xsl" role="secondary" uri="http://www.w3.org/xslt30tests/override-base-201" package-version="1.0.0"/>
    </environment>
    
-   <environment name="override-env-901">
-      <package file="override-base-901.xsl" role="secondary" uri="http://www.w3.org/xslt30tests/override-base-901" package-version="1.0.0"/>
+   <environment name="override-as-D">
+      <package file="override-base-as-001.xsl" role="secondary" uri="http://www.w3.org/xslt30tests/override-base-301" package-version="1.0.0"/>
+   </environment>
+   
+   <environment name="override-misc-E">
+      <package file="override-base-misc-001.xsl" role="secondary" uri="http://www.w3.org/xslt30tests/override-base-901" package-version="1.0.0"/>
+   </environment>
+   
+   <environment name="override-misc-F">
+      <package file="override-base-misc-002.xsl" role="secondary" uri="http://www.w3.org/xslt30tests/override-base-misc-002" package-version="1.0.0"/>
    </environment>
 
    <dependencies>
       <spec value="XSLT30+"/>
    </dependencies>
 
-   <test-case name="override-001">
+   <test-case name="override-f-001">
       <description>Successful override of a function</description>
       <created by="Michael Kay" on="2013-07-08"/>
       <modified by="Michael Kay" on="2014-08-22" change="no xsl:stylesheet child of xsl:package"/>
-      <environment ref="override-env-001"/>
-      <test>
-         <package file="override-001.xsl" role="principal"/>
-         <initial-template name="main"/>
-      </test>
-      <result>
-         <assert>/ok</assert>
-      </result>
-   </test-case>
-   
-   <test-case name="override-002">
-      <description>Successful use of override of a function defined in a library package</description>
-      <created by="O'Neil Delpratt" on="2013-07-17"/>
-      <modified by="Michael Kay" on="2014-08-22" change="no xsl:stylesheet child of xsl:package"/>
-      <environment ref="override-env-001"/>
-      <test>
-         <package file="override-002.xsl" role="principal"/>
-         <initial-template name="main"/>
-      </test>
-      <result>
-         <assert>/ok</assert>
-      </result>
-   </test-case>
-   
-   <test-case name="override-003">
-      <description>Unsuccessful use of override of a function defined in a library package. Parameter types are different</description>
-      <created by="O'Neil Delpratt" on="2013-07-17"/>
-      <modified by="Michael Kay" on="2014-08-22" change="no xsl:stylesheet child of xsl:package"/>
-      <environment ref="override-env-001"/>
-      <test>
-         <package file="override-003.xsl" role="principal"/>
-         <initial-template name="main"/>
-      </test>
-      <result>
-         <error code="XTSE3070"/>
-      </result>
-   </test-case>
-   
-   <test-case name="override-004">
-      <description>Unsuccessful use of override of a function as it is not defined in a library package.</description>
-      <created by="O'Neil Delpratt" on="2013-07-17"/>
-      <modified by="Michael Kay" on="2014-08-22" change="no xsl:stylesheet child of xsl:package"/>
-      <environment ref="override-env-001"/>
-      <test>
-         <package file="override-004.xsl" role="principal"/>
-         <initial-template name="main"/>
-      </test>
-      <result>
-         <error code="XTSE3058"/>
-      </result>
-   </test-case>
-   
-   <test-case name="override-005">
-      <description>Disallow text as a child of xsl:override.</description>
-      <created by="Michael Kay" on="2013-07-19"/>
-      <modified by="Michael Kay" on="2014-08-22" change="no xsl:stylesheet child of xsl:package"/>
-      <environment ref="override-env-001"/>
-      <test>
-         <package file="override-005.xsl" role="principal"/>
-         <initial-template name="main"/>
-      </test>
-      <result>
-         <error code="XTSE0010"/>
-      </result>
-   </test-case>  
-   
-   <test-case name="override-006">
-      <description>Disallow LRE as a child of xsl:override.</description>
-      <created by="Michael Kay" on="2013-07-19"/>
-      <modified by="Michael Kay" on="2014-08-22" change="no xsl:stylesheet child of xsl:package"/>
-      <environment ref="override-env-001"/>
+      <environment ref="override-f-A"/>
       <test>
-         <package file="override-006.xsl" role="principal"/>
-         <initial-template name="main"/>
-      </test>
-      <result>
-         <error code="XTSE0010"/>
-      </result>
-   </test-case> 
-   
-   <test-case name="override-007">
-      <description>Disallow xsl:override as a child of xsl:override.</description>
-      <created by="Michael Kay" on="2013-07-19"/>
-      <modified by="Michael Kay" on="2014-08-22" change="no xsl:stylesheet child of xsl:package"/>
-      <environment ref="override-env-001"/>
-      <test>
-         <package file="override-007.xsl" role="principal"/>
-         <initial-template name="main"/>
-      </test>
-      <result>
-         <error code="XTSE0010"/>
-      </result>
-   </test-case>
-   
-   <test-case name="override-008">
-      <description>Empty xsl:override is allowed.</description>
-      <created by="Michael Kay" on="2013-07-19"/>
-      <modified by="Michael Kay" on="2014-08-22" change="no xsl:stylesheet child of xsl:package"/>
-      <environment ref="override-env-001"/>
-      <test>
-         <package file="override-008.xsl" role="principal"/>
-         <initial-template name="main"/>
-      </test>
-      <result>
-         <assert>/out</assert>
-      </result>
-   </test-case>
-   
-   <test-case name="override-009">
-      <description>Overridden function called from within a stylesheet function</description>
-      <created by="Michael Kay" on="2013-10-17"/>
-      <modified by="Michael Kay" on="2014-08-22" change="no xsl:stylesheet child of xsl:package"/>
-      <environment ref="override-env-001"/>
-      <test>
-         <package file="override-009.xsl" role="principal"/>
-         <initial-template name="main"/>
-      </test>
-      <result>
-         <assert>/ok</assert>
-      </result>
-   </test-case>
-   
-   <test-case name="override-010">
-      <description>Overridden function called from within a global variable initializer</description>
-      <created by="Michael Kay" on="2013-10-17"/>
-      <modified by="Michael Kay" on="2014-08-22" change="no xsl:stylesheet child of xsl:package"/>
-      <environment ref="override-env-001"/>
-      <test>
-         <package file="override-010.xsl" role="principal"/>
-         <initial-template name="main"/>
-      </test>
-      <result>
-         <assert>/ok</assert>
-      </result>
-   </test-case>
-   
-   <test-case name="override-011">
-      <description>Overridden function called from within a template rule</description>
-      <created by="Michael Kay" on="2013-10-17"/>
-      <modified by="Michael Kay" on="2014-08-22" change="no xsl:stylesheet child of xsl:package"/>
-      <environment ref="override-env-001"/>
-      <test>
-         <package file="override-011.xsl" role="principal"/>
-         <initial-template name="main"/>
-      </test>
-      <result>
-         <assert>/ok</assert>
-      </result>
-   </test-case>
-   
-   <test-case name="override-012">
-      <description>Overridden function called from within a global variable in used package</description>
-      <created by="Michael Kay" on="2013-10-17"/>
-      <modified by="Michael Kay" on="2014-08-22" change="no xsl:stylesheet child of xsl:package"/>
-      <environment ref="override-env-001"/>
-      <test>
-         <package file="override-012.xsl" role="principal"/>
-         <initial-template name="main"/>
-      </test>
-      <result>
-         <assert>/ok</assert>
-      </result>
-   </test-case>
-   
-   <test-case name="override-013">
-      <description>Overridden function called via function reference in used package</description>
-      <created by="Michael Kay" on="2015-02-28"/>
-      <environment ref="override-env-001"/>
-      <test>
-         <package file="override-013.xsl" role="principal"/>
+         <package file="override-f-001.xsl" role="principal"/>
          <initial-template name="main"/>
       </test>
       <result>
@@ -209,39 +46,13 @@
       </result>
    </test-case>
    
-   <test-case name="override-014">
-      <description>Private function called via function reference in used package</description>
-      <created by="Michael Kay" on="2015-02-28"/>
-      <environment ref="override-env-001"/>
+   <test-case name="override-f-002">
+      <description>Successful use of override of a function defined in a library package</description>
+      <created by="O'Neil Delpratt" on="2013-07-17"/>
+      <modified by="Michael Kay" on="2014-08-22" change="no xsl:stylesheet child of xsl:package"/>
+      <environment ref="override-f-A"/>
       <test>
-         <package file="override-014.xsl" role="principal"/>
-         <initial-template name="main"/>
-      </test>
-      <result>
-         <assert>/ok</assert>
-      </result>
-   </test-case>
-   
-   <test-case name="override-015">
-      <description>Partial function application of an overridden function</description>
-      <!-- Currently (2015-02-28) failing in Saxon because we're binding statically to the target function -->
-      <created by="Michael Kay" on="2015-02-28"/>
-      <environment ref="override-env-001"/>
-      <test>
-         <package file="override-015.xsl" role="principal"/>
-         <initial-template name="main"/>
-      </test>
-      <result>
-         <assert>/ok</assert>
-      </result>
-   </test-case>
-   
-   <test-case name="override-016">
-      <description>A function call using xsl:original</description>
-      <created by="Michael Kay" on="2015-03-01"/>
-      <environment ref="override-env-001"/>
-      <test>
-         <package file="override-016.xsl" role="principal"/>
+         <package file="override-f-002.xsl" role="principal"/>
          <initial-template name="main"/>
       </test>
       <result>
@@ -249,25 +60,97 @@
       </result>
    </test-case>
    
-   <test-case name="override-017">
-      <description>A named function reference using xsl:original</description>
-      <created by="Michael Kay" on="2015-03-01"/>
-      <environment ref="override-env-001"/>
+   <test-case name="override-f-003">
+      <description>Unsuccessful use of override of a function defined in a library package. Parameter types are different</description>
+      <created by="O'Neil Delpratt" on="2013-07-17"/>
+      <modified by="Michael Kay" on="2014-08-22" change="no xsl:stylesheet child of xsl:package"/>
+      <environment ref="override-f-A"/>
       <test>
-         <package file="override-017.xsl" role="principal"/>
+         <package file="override-f-003.xsl" role="principal"/>
          <initial-template name="main"/>
       </test>
       <result>
-         <assert>/ok</assert>
+         <error code="XTSE3070"/>
       </result>
    </test-case>
    
-   <test-case name="override-018">
-      <description>Partial function application using xsl:original</description>
-      <created by="Michael Kay" on="2015-03-01"/>
-      <environment ref="override-env-001"/>
+   <test-case name="override-f-004">
+      <description>Unsuccessful use of override of a function as it is not defined in a library package.</description>
+      <created by="O'Neil Delpratt" on="2013-07-17"/>
+      <modified by="Michael Kay" on="2014-08-22" change="no xsl:stylesheet child of xsl:package"/>
+      <environment ref="override-f-A"/>
       <test>
-         <package file="override-018.xsl" role="principal"/>
+         <package file="override-f-004.xsl" role="principal"/>
+         <initial-template name="main"/>
+      </test>
+      <result>
+         <error code="XTSE3058"/>
+      </result>
+   </test-case>
+   
+   <test-case name="override-f-005">
+      <description>Disallow text as a child of xsl:override.</description>
+      <created by="Michael Kay" on="2013-07-19"/>
+      <modified by="Michael Kay" on="2014-08-22" change="no xsl:stylesheet child of xsl:package"/>
+      <environment ref="override-f-A"/>
+      <test>
+         <package file="override-f-005.xsl" role="principal"/>
+         <initial-template name="main"/>
+      </test>
+      <result>
+         <error code="XTSE0010"/>
+      </result>
+   </test-case>  
+   
+   <test-case name="override-f-006">
+      <description>Disallow LRE as a child of xsl:override.</description>
+      <created by="Michael Kay" on="2013-07-19"/>
+      <modified by="Michael Kay" on="2014-08-22" change="no xsl:stylesheet child of xsl:package"/>
+      <environment ref="override-f-A"/>
+      <test>
+         <package file="override-f-006.xsl" role="principal"/>
+         <initial-template name="main"/>
+      </test>
+      <result>
+         <error code="XTSE0010"/>
+      </result>
+   </test-case> 
+   
+   <test-case name="override-f-007">
+      <description>Disallow xsl:override as a child of xsl:override.</description>
+      <created by="Michael Kay" on="2013-07-19"/>
+      <modified by="Michael Kay" on="2014-08-22" change="no xsl:stylesheet child of xsl:package"/>
+      <environment ref="override-f-A"/>
+      <test>
+         <package file="override-f-007.xsl" role="principal"/>
+         <initial-template name="main"/>
+      </test>
+      <result>
+         <error code="XTSE0010"/>
+      </result>
+   </test-case>
+   
+   <test-case name="override-f-008">
+      <description>Empty xsl:override is allowed.</description>
+      <created by="Michael Kay" on="2013-07-19"/>
+      <modified by="Michael Kay" on="2014-08-22" change="no xsl:stylesheet child of xsl:package"/>
+      <environment ref="override-f-A"/>
+      <test>
+         <package file="override-f-008.xsl" role="principal"/>
+         <initial-template name="main"/>
+      </test>
+      <result>
+         <assert>/out</assert>
+      </result>
+   </test-case>
+   
+   <test-case name="override-f-009">
+      <description>Overridden function called from within a stylesheet function</description>
+      <created by="Michael Kay" on="2013-10-17"/>
+      <modified by="Michael Kay" on="2014-08-22" change="no xsl:stylesheet child of xsl:package"/>
+      <environment ref="override-f-A"/>
+      <test>
+         <package file="override-f-009.xsl" role="principal"/>
          <initial-template name="main"/>
       </test>
       <result>
@@ -275,13 +158,134 @@
       </result>
    </test-case>
    
-   <test-case name="override-101">
+   <test-case name="override-f-010">
+      <description>Overridden function called from within a global variable initializer</description>
+      <created by="Michael Kay" on="2013-10-17"/>
+      <modified by="Michael Kay" on="2014-08-22" change="no xsl:stylesheet child of xsl:package"/>
+      <environment ref="override-f-A"/>
+      <test>
+         <package file="override-f-010.xsl" role="principal"/>
+         <initial-template name="main"/>
+      </test>
+      <result>
+         <assert>/ok</assert>
+      </result>
+   </test-case>
+   
+   <test-case name="override-f-011">
+      <description>Overridden function called from within a template rule</description>
+      <created by="Michael Kay" on="2013-10-17"/>
+      <modified by="Michael Kay" on="2014-08-22" change="no xsl:stylesheet child of xsl:package"/>
+      <environment ref="override-f-A"/>
+      <test>
+         <package file="override-f-011.xsl" role="principal"/>
+         <initial-template name="main"/>
+      </test>
+      <result>
+         <assert>/ok</assert>
+      </result>
+   </test-case>
+   
+   <test-case name="override-f-012">
+      <description>Overridden function called from within a global variable in used package</description>
+      <created by="Michael Kay" on="2013-10-17"/>
+      <modified by="Michael Kay" on="2014-08-22" change="no xsl:stylesheet child of xsl:package"/>
+      <environment ref="override-f-A"/>
+      <test>
+         <package file="override-f-012.xsl" role="principal"/>
+         <initial-template name="main"/>
+      </test>
+      <result>
+         <assert>/ok</assert>
+      </result>
+   </test-case>
+   
+   <test-case name="override-f-013">
+      <description>Overridden function called via function reference in used package</description>
+      <created by="Michael Kay" on="2015-02-28"/>
+      <environment ref="override-f-A"/>
+      <test>
+         <package file="override-f-013.xsl" role="principal"/>
+         <initial-template name="main"/>
+      </test>
+      <result>
+         <assert>/ok</assert>
+      </result>
+   </test-case>
+   
+   <test-case name="override-f-014">
+      <description>Private function called via function reference in used package</description>
+      <created by="Michael Kay" on="2015-02-28"/>
+      <environment ref="override-f-A"/>
+      <test>
+         <package file="override-f-014.xsl" role="principal"/>
+         <initial-template name="main"/>
+      </test>
+      <result>
+         <assert>/ok</assert>
+      </result>
+   </test-case>
+   
+   <test-case name="override-f-015">
+      <description>Partial function application of an overridden function</description>
+      <!-- Currently (2015-02-28) failing in Saxon because we're binding statically to the target function -->
+      <created by="Michael Kay" on="2015-02-28"/>
+      <environment ref="override-f-A"/>
+      <test>
+         <package file="override-f-015.xsl" role="principal"/>
+         <initial-template name="main"/>
+      </test>
+      <result>
+         <assert>/ok</assert>
+      </result>
+   </test-case>
+   
+   <test-case name="override-f-016">
+      <description>A function call using xsl:original</description>
+      <created by="Michael Kay" on="2015-03-01"/>
+      <environment ref="override-f-A"/>
+      <test>
+         <package file="override-f-016.xsl" role="principal"/>
+         <initial-template name="main"/>
+      </test>
+      <result>
+         <assert>/ok</assert>
+      </result>
+   </test-case>
+   
+   <test-case name="override-f-017">
+      <description>A named function reference using xsl:original</description>
+      <created by="Michael Kay" on="2015-03-01"/>
+      <environment ref="override-f-A"/>
+      <test>
+         <package file="override-f-017.xsl" role="principal"/>
+         <initial-template name="main"/>
+      </test>
+      <result>
+         <assert>/ok</assert>
+      </result>
+   </test-case>
+   
+   <test-case name="override-f-018">
+      <description>Partial function application using xsl:original</description>
+      <created by="Michael Kay" on="2015-03-01"/>
+      <environment ref="override-f-A"/>
+      <test>
+         <package file="override-f-018.xsl" role="principal"/>
+         <initial-template name="main"/>
+      </test>
+      <result>
+         <assert>/ok</assert>
+      </result>
+   </test-case>
+   
+   <test-case name="override-t-001">
       <description>Successful override of a named template, when called from overriding package</description>
       <created by="Michael Kay" on="2013-07-31"/>
       <modified by="Michael Kay" on="2014-08-22" change="no xsl:stylesheet child of xsl:package"/>
-      <environment ref="override-env-101"/>
+      <environment ref="override-t-B"/>
       <test>
-         <package file="override-101.xsl" role="principal"/>
+         <package file="override-t-001.xsl" role="principal"/>
          <initial-template name="main"/>
       </test>
       <result>
@@ -289,13 +293,13 @@
       </result>
    </test-case>  
    
-   <test-case name="override-102">
+   <test-case name="override-t-002">
       <description>Successful override of a named template, when called from base package</description>
       <created by="Michael Kay" on="2013-07-31"/>
       <modified by="Michael Kay" on="2014-08-22" change="no xsl:stylesheet child of xsl:package"/>
-      <environment ref="override-env-101"/>
+      <environment ref="override-t-B"/>
       <test>
-         <package file="override-102.xsl" role="principal"/>
+         <package file="override-t-002.xsl" role="principal"/>
          <initial-template name="main"/>
       </test>
       <result>
@@ -303,13 +307,13 @@
       </result>
    </test-case>   
    
-   <test-case name="override-103">
+   <test-case name="override-t-003">
       <description>Cannot call an abstract template</description>
       <created by="Michael Kay" on="2013-07-31"/>
       <modified by="Michael Kay" on="2014-08-22" change="no xsl:stylesheet child of xsl:package"/>
-      <environment ref="override-env-101"/>
+      <environment ref="override-t-B"/>
       <test>
-         <package file="override-103.xsl" role="principal"/>
+         <package file="override-t-003.xsl" role="principal"/>
          <initial-template name="main"/>
       </test>
       <result>
@@ -317,12 +321,12 @@
       </result>
    </test-case>
    
-   <test-case name="override-104">
+   <test-case name="override-t-004">
       <description>Illegal template override, parameter types do not match</description>
       <created by="Michael Kay" on="2014-10-10"/>
-      <environment ref="override-env-101"/>
+      <environment ref="override-t-B"/>
       <test>
-         <package file="override-104.xsl" role="principal"/>
+         <package file="override-t-004.xsl" role="principal"/>
          <initial-template name="main"/>
       </test>
       <result>
@@ -330,12 +334,12 @@
       </result>
    </test-case>
    
-   <test-case name="override-105">
+   <test-case name="override-t-005">
       <description>Illegal template override, context item types do not match</description>
       <created by="Michael Kay" on="2014-10-10"/>
-      <environment ref="override-env-101"/>
+      <environment ref="override-t-B"/>
       <test>
-         <package file="override-105.xsl" role="principal"/>
+         <package file="override-t-005.xsl" role="principal"/>
          <initial-template name="main"/>
       </test>
       <result>
@@ -343,13 +347,13 @@
       </result>
    </test-case>
    
-   <test-case name="override-106">
+   <test-case name="override-t-006">
       <description>Illegal template override, context item use does not match</description>
       <created by="Michael Kay" on="2014-10-10"/>
       <modified by="Michael Kay" on="2015-01-26" change="keyword change: prohibited -> absent"/>
-      <environment ref="override-env-101"/>
+      <environment ref="override-t-B"/>
       <test>
-         <package file="override-106.xsl" role="principal"/>
+         <package file="override-t-006.xsl" role="principal"/>
          <initial-template name="main"/>
       </test>
       <result>
@@ -357,12 +361,12 @@
       </result>
    </test-case>
    
-   <test-case name="override-107">
+   <test-case name="override-t-007">
       <description>A named template calling xsl:original</description>
       <created by="Michael Kay" on="2015-03-01"/>
-      <environment ref="override-env-101"/>
+      <environment ref="override-t-B"/>
       <test>
-         <package file="override-107.xsl" role="principal"/>
+         <package file="override-t-007.xsl" role="principal"/>
          <initial-template name="main"/>
       </test>
       <result>
@@ -370,27 +374,13 @@
       </result>
    </test-case>  
 
-   <test-case name="override-201">
+   <test-case name="override-v-001">
       <description>Successful override of a public global variable</description>
       <created by="Michael Kay" on="2013-10-18"/>
       <modified by="Michael Kay" on="2014-08-22" change="no xsl:stylesheet child of xsl:package"/>
-      <environment ref="override-env-201"/>
+      <environment ref="override-v-C"/>
       <test>
-         <package file="override-201.xsl" role="principal"/>
-         <initial-template name="main"/>
-      </test>
-      <result>
-         <assert>/ok</assert>
-      </result>
-   </test-case>
-   
-   <test-case name="override-202">
-      <description>Reference from private variable to overridden public variable</description>
-      <created by="Michael Kay" on="2013-10-18"/>
-      <modified by="Michael Kay" on="2014-08-22" change="no xsl:stylesheet child of xsl:package"/>
-      <environment ref="override-env-201"/>
-      <test>
-         <package file="override-202.xsl" role="principal"/>
+         <package file="override-v-001.xsl" role="principal"/>
          <initial-template name="main"/>
       </test>
       <result>
@@ -398,12 +388,13 @@
       </result>
    </test-case>
    
-   <test-case name="override-203">
-      <description>An overridden public global variable using xsl:original</description>
-      <created by="Michael Kay" on="2015-03-01"/>
-      <environment ref="override-env-201"/>
+   <test-case name="override-v-002">
+      <description>Reference from private variable to overridden public variable</description>
+      <created by="Michael Kay" on="2013-10-18"/>
+      <modified by="Michael Kay" on="2014-08-22" change="no xsl:stylesheet child of xsl:package"/>
+      <environment ref="override-v-C"/>
       <test>
-         <package file="override-203.xsl" role="principal"/>
+         <package file="override-v-002.xsl" role="principal"/>
          <initial-template name="main"/>
       </test>
       <result>
@@ -411,12 +402,25 @@
       </result>
    </test-case>
    
-   <test-case name="override-301">
+   <test-case name="override-v-003">
+      <description>An overridden public global variable using xsl:original</description>
+      <created by="Michael Kay" on="2015-03-01"/>
+      <environment ref="override-v-C"/>
+      <test>
+         <package file="override-v-003.xsl" role="principal"/>
+         <initial-template name="main"/>
+      </test>
+      <result>
+         <assert>/ok</assert>
+      </result>
+   </test-case>
+   
+   <test-case name="override-as-001">
       <description>Successful override of a public attribute-set</description>
       <created by="Michael Kay" on="2015-02-28"/>
-      <environment ref="override-env-301"/>
+      <environment ref="override-as-D"/>
       <test>
-         <package file="override-301.xsl" role="principal"/>
+         <package file="override-as-001.xsl" role="principal"/>
          <initial-template name="main"/>
       </test>
       <result>
@@ -424,12 +428,12 @@
       </result>
    </test-case>
    
-   <test-case name="override-302">
+   <test-case name="override-as-002">
       <description>Successful override of a public attribute-set with use-attribute-sets="xsl:original"</description>
       <created by="Michael Kay" on="2015-02-28"/>
-      <environment ref="override-env-301"/>
+      <environment ref="override-as-D"/>
       <test>
-         <package file="override-302.xsl" role="principal"/>
+         <package file="override-as-002.xsl" role="principal"/>
          <initial-template name="main"/>
       </test>
       <result>
@@ -441,26 +445,25 @@
       </result>
    </test-case>
    
-   <test-case name="override-303">
+   <test-case name="override-as-003">
       <description>Override of a public attribute-set creates a circularity</description>
       <created by="Michael Kay" on="2015-02-28"/>
-      <environment ref="override-env-301"/>
+      <environment ref="override-as-D"/>
       <test>
-         <package file="override-303.xsl" role="principal"/>
+         <package file="override-as-003.xsl" role="principal"/>
          <initial-template name="main"/>
       </test>
       <result>
-         <!--<error code="XXXX9999"/>-->
-         <assert-xml><![CDATA[<err/>]]></assert-xml>
+         <error code="XTDE0640"/>
       </result>
    </test-case>
    
-   <test-case name="override-304">
+   <test-case name="override-as-004">
       <description>Attempt to override a private attribute-set</description>
       <created by="Michael Kay" on="2015-02-28"/>
-      <environment ref="override-env-301"/>
+      <environment ref="override-as-D"/>
       <test>
-         <package file="override-304.xsl" role="principal"/>
+         <package file="override-as-004.xsl" role="principal"/>
          <initial-template name="main"/>
       </test>
       <result>
@@ -468,12 +471,12 @@
       </result>
    </test-case>
    
-   <test-case name="override-305">
+   <test-case name="override-as-005">
       <description>Two private attribute sets with the same name in different packages</description>
       <created by="Michael Kay" on="2015-02-28"/>
-      <environment ref="override-env-301"/>
+      <environment ref="override-as-D"/>
       <test>
-         <package file="override-305.xsl" role="principal"/>
+         <package file="override-as-005.xsl" role="principal"/>
          <initial-template name="main"/>
       </test>
       <result>
@@ -482,25 +485,12 @@
    </test-case>
    
    
-   <test-case name="override-901">
+   <test-case name="override-misc-001">
       <description>Cannot override a key</description>
       <created by="Michael Kay" on="2015-03-01"/>
-      <environment ref="override-env-901"/>
+      <environment ref="override-misc-E"/>
       <test>
-         <package file="override-901.xsl" role="principal"/>
-         <initial-template name="main"/>
-      </test>
-      <result>
-         <error code="XTSE0010"/>
-      </result>
-   </test-case>
-   
-   <test-case name="override-902">
-      <description>Cannot override an accumulator</description>
-      <created by="Michael Kay" on="2015-03-01"/>
-      <environment ref="override-env-901"/>
-      <test>
-         <package file="override-902.xsl" role="principal"/>
+         <package file="override-misc-001.xsl" role="principal"/>
          <initial-template name="main"/>
       </test>
       <result>
@@ -508,12 +498,12 @@
       </result>
    </test-case>
    
-   <test-case name="override-903">
-      <description>Cannot override a decimal format</description>
+   <test-case name="override-misc-002">
+      <description>Cannot override an accumulator</description>
       <created by="Michael Kay" on="2015-03-01"/>
-      <environment ref="override-env-901"/>
+      <environment ref="override-misc-E"/>
       <test>
-         <package file="override-903.xsl" role="principal"/>
+         <package file="override-misc-002.xsl" role="principal"/>
          <initial-template name="main"/>
       </test>
       <result>
@@ -521,12 +511,25 @@
       </result>
    </test-case>
    
-   <test-case name="override-904">
+   <test-case name="override-misc-003">
+      <description>Cannot override a decimal format</description>
+      <created by="Michael Kay" on="2015-03-01"/>
+      <environment ref="override-misc-E"/>
+      <test>
+         <package file="override-misc-003.xsl" role="principal"/>
+         <initial-template name="main"/>
+      </test>
+      <result>
+         <error code="XTSE0010"/>
+      </result>
+   </test-case>
+   
+   <test-case name="override-misc-004">
       <description>Keys in different packages can have the same name</description>
       <created by="Michael Kay" on="2015-03-01"/>
-      <environment ref="override-env-901"/>
+      <environment ref="override-misc-E"/>
       <test>
-         <package file="override-904.xsl" role="principal"/>
+         <package file="override-misc-004.xsl" role="principal"/>
          <initial-template name="main"/>
       </test>
       <result>
@@ -534,12 +537,12 @@
       </result>
    </test-case>
    
-   <test-case name="override-905">
+   <test-case name="override-misc-005">
       <description>Accumulators in different packages can have the same name</description>
       <created by="Michael Kay" on="2015-03-01"/>
-      <environment ref="override-env-901"/>
+      <environment ref="override-misc-E"/>
       <test>
-         <package file="override-905.xsl" role="principal"/>
+         <package file="override-misc-005.xsl" role="principal"/>
          <initial-template name="main"/>
       </test>
       <result>
@@ -547,12 +550,12 @@
       </result>
    </test-case>
    
-   <test-case name="override-906">
+   <test-case name="override-misc-006">
       <description>Decimal formats in different packages can have the same name</description>
       <created by="Michael Kay" on="2015-03-01"/>
-      <environment ref="override-env-901"/>
+      <environment ref="override-misc-E"/>
       <test>
-         <package file="override-906.xsl" role="principal"/>
+         <package file="override-misc-006.xsl" role="principal"/>
          <initial-template name="main"/>
       </test>
       <result>
@@ -560,6 +563,19 @@
       </result>
    </test-case>
    
+   <test-case name="override-misc-007">
+      <description>Streamed accumulators in different packages can have the same name</description>
+      <created by="Michael Kay" on="2015-03-01"/>
+      <environment ref="override-misc-F"/>
+      <test>
+         <package file="override-misc-007.xsl" role="principal"/>
+         <initial-template name="main"/>
+      </test>
+      <result>
+         <assert-xml><![CDATA[<out><a><count nodes="78"/><acc value="78"/></a><b><count nodes="78"/><acc value="-78"/></b></out>]]></assert-xml>
+      </result>
+   </test-case>
+   
       
   
 
--- a/tests/decl/override/override-001.xsl	Tue Mar 24 19:37:57 2015 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,43 +0,0 @@
-<xsl:package 
-  name="http://www.w3.org/xslt30tests/override-001"
-  package-version="1.0.1"
-  version="3.0"
-  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-  xmlns:xs="http://www.w3.org/2001/XMLSchema"
-  xmlns:p="http://www.w3.org/xslt30tests/override-base-001"
-  exclude-result-prefixes="xs p">
-  
-  <xsl:use-package
-    name="http://www.w3.org/xslt30tests/override-base-001"
-    package-version="1.0.0">
-  
-    <xsl:override>
-  
-      <xsl:function name="p:f" as="xs:string" visibility="public">
-        <xsl:param name="in" as="xs:string"/>
-        <xsl:param name="count" as="xs:integer"/>
-        <xsl:sequence select="'*' || p:f-final($in, $count) || '*'"/>
-      </xsl:function>
-    
-      <xsl:function name="p:f-abstract" as="xs:string" visibility="public">
-        <xsl:param name="in" as="xs:string"/>
-        <xsl:param name="count" as="xs:integer"/>
-        <xsl:sequence select="'abcd'"/>
-      </xsl:function>
-      
-    </xsl:override>  
-    
-  </xsl:use-package>
-  
- 
-   
-    <xsl:template name="main">
-      <xsl:choose>
-        <xsl:when test="p:f('x', 5) = '*xxxxx*'"><ok/></xsl:when>
-        <xsl:otherwise><wrong value="{p:f('x', 5)}"/></xsl:otherwise>
-      </xsl:choose>
-    </xsl:template>
-    
- 
-  
-</xsl:package>   
\ No newline at end of file
--- a/tests/decl/override/override-002.xsl	Tue Mar 24 19:37:57 2015 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,36 +0,0 @@
-<xsl:package 
-  name="http://www.w3.org/xslt30tests/use-package-004"
-  package-version="1.0.0"
-  version="3.0"
-  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-  xmlns:xs="http://www.w3.org/2001/XMLSchema"
-  xmlns:p="http://www.w3.org/xslt30tests/override-base-001"
-  exclude-result-prefixes="xs p">
-  
-  <xsl:use-package
-    name="http://www.w3.org/xslt30tests/override-base-001"
-    package-version="1.0.0">
-    <xsl:override>
-      <xsl:function name="p:f" as="xs:string" visibility="public">
-        <xsl:param name="in" as="xs:string"/>
-        <xsl:param name="count" as="xs:integer"/>
-        <xsl:sequence select="string-join((1 to $count)!$in, ',')"/>
-      </xsl:function>
-    </xsl:override>
-  </xsl:use-package>
-
-  
- 
-  
-    <!-- Call public function defined in used package -->
-   
-    <xsl:template name="main">
-      <xsl:choose>
-        <xsl:when test="p:f('x', 5) = 'x,x,x,x,x'"><ok/></xsl:when>
-        <xsl:otherwise><wrong value="{p:f('x', 5)}"/></xsl:otherwise>
-      </xsl:choose>
-    </xsl:template>
-    
- 
-  
-</xsl:package>   
\ No newline at end of file
--- a/tests/decl/override/override-003.xsl	Tue Mar 24 19:37:57 2015 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,36 +0,0 @@
-<xsl:package 
-  name="http://www.w3.org/xslt30tests/override-003"
-  package-version="1.0.0"
-  version="3.0"
-  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-  xmlns:xs="http://www.w3.org/2001/XMLSchema"
-  xmlns:p="http://www.w3.org/xslt30tests/override-base-001"
-  exclude-result-prefixes="xs p">
-  
-  <xsl:use-package
-    name="http://www.w3.org/xslt30tests/override-base-001"
-    package-version="1.0.0">
-    <xsl:override>
-      <xsl:function name="p:f" as="xs:integer" visibility="public">
-        <xsl:param name="in" as="xs:integer"/>
-        <xsl:param name="count" as="xs:integer"/>
-        <xsl:sequence select="()"/>
-      </xsl:function>
-    </xsl:override>
-  </xsl:use-package>
-
-  
- 
-  
-    <!-- Call public function defined in used package -->
-   
-    <xsl:template name="main">
-      <xsl:choose>
-        <xsl:when test="p:f('5', 5) = 'xxxxx'"><ok/></xsl:when>
-        <xsl:otherwise><wrong value="p:f('5', 5)"/></xsl:otherwise>
-      </xsl:choose>
-    </xsl:template>
-    
- 
-  
-</xsl:package>   
\ No newline at end of file
--- a/tests/decl/override/override-004.xsl	Tue Mar 24 19:37:57 2015 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,35 +0,0 @@
-<xsl:package 
-  name="http://www.w3.org/xslt30tests/override-004"
-  package-version="1.0.0"
-  version="3.0"
-  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-  xmlns:xs="http://www.w3.org/2001/XMLSchema"
-  xmlns:p="http://www.w3.org/xslt30tests/use-package-base-001"
-  exclude-result-prefixes="xs p">
-  
-  <xsl:use-package
-    name="http://www.w3.org/xslt30tests/override-base-001"
-    package-version="1.0.0">
-    <xsl:override>
-      <xsl:function name="p:fa" as="xs:string" visibility="public">
-        <xsl:param name="in" as="xs:string"/>
-        <xsl:param name="count" as="xs:integer"/>
-        <xsl:sequence select="string-join((1 to $count)!$in, ',')"/>
-      </xsl:function>
-    </xsl:override>
-  </xsl:use-package>
-
-  
-  
-    <!-- Call public function defined in used package -->
-   
-    <xsl:template name="main">
-      <xsl:choose>
-        <xsl:when test="p:f('x', 5) = 'xxxxx'"><ok/></xsl:when>
-        <xsl:otherwise><wrong value="p:f('x', 5)"/></xsl:otherwise>
-      </xsl:choose>
-    </xsl:template>
-    
- 
-  
-</xsl:package>   
\ No newline at end of file
--- a/tests/decl/override/override-005.xsl	Tue Mar 24 19:37:57 2015 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-<xsl:package 
-  name="http://www.w3.org/xslt30tests/override-base-001"
-  package-version="1.0.0"
-  version="3.0"
-  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-  xmlns:xs="http://www.w3.org/2001/XMLSchema"
-  xmlns:p="http://www.w3.org/xslt30tests/override-base-001"
-  exclude-result-prefixes="xs p">
-  
-  <!-- disallow text as a child of xsl:override -->
-  
-  <xsl:use-package
-    name="http://www.w3.org/xslt30tests/override-base-001"
-    package-version="1.0.0">
-  
-    <xsl:override>
-  
-      <xsl:function name="p:f" as="xs:string" visibility="public">
-        <xsl:param name="in" as="xs:string"/>
-        <xsl:param name="count" as="xs:integer"/>
-        <xsl:sequence select="'*' || p:f-final($in, $count) || '*'"/>
-      </xsl:function>
-    
-		Gotcha!
-      
-    </xsl:override>  
-    
-  </xsl:use-package>
-  
- 
-   
-    <xsl:template name="main">
-      <out/>
-    </xsl:template>
-    
-  
-  
-</xsl:package>   
\ No newline at end of file
--- a/tests/decl/override/override-006.xsl	Tue Mar 24 19:37:57 2015 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-<xsl:package 
-  name="http://www.w3.org/xslt30tests/override-base-001"
-  package-version="1.0.0"
-  version="3.0"
-  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-  xmlns:xs="http://www.w3.org/2001/XMLSchema"
-  xmlns:p="http://www.w3.org/xslt30tests/override-base-001"
-  exclude-result-prefixes="xs p">
-  
-  <!-- disallow LRE as a child of xsl:override (even in a namespace) -->
-  
-  <xsl:use-package
-    name="http://www.w3.org/xslt30tests/override-base-001"
-    package-version="1.0.0">
-  
-    <xsl:override>
-  
-      <xsl:function name="p:f" as="xs:string" visibility="public">
-        <xsl:param name="in" as="xs:string"/>
-        <xsl:param name="count" as="xs:integer"/>
-        <xsl:sequence select="'*' || p:f-final($in, $count) || '*'"/>
-      </xsl:function>
-    
-	  <p:out/>
-      
-    </xsl:override>  
-    
-  </xsl:use-package>
-  
- 
-   
-    <xsl:template name="main">
-      <out/>
-    </xsl:template>
-    
- 
-  
-</xsl:package>   
\ No newline at end of file
--- a/tests/decl/override/override-007.xsl	Tue Mar 24 19:37:57 2015 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-<xsl:package 
-  name="http://www.w3.org/xslt30tests/override-base-001"
-  package-version="1.0.0"
-  version="3.0"
-  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-  xmlns:xs="http://www.w3.org/2001/XMLSchema"
-  xmlns:p="http://www.w3.org/xslt30tests/override-base-001"
-  exclude-result-prefixes="xs p">
-  
-  <!-- disallow xsl:override as a child of xsl:override  -->
-  
-  <xsl:use-package
-    name="http://www.w3.org/xslt30tests/override-base-001"
-    package-version="1.0.0">
-  
-    <xsl:override>
-  
-      <xsl:function name="p:f" as="xs:string" visibility="public">
-        <xsl:param name="in" as="xs:string"/>
-        <xsl:param name="count" as="xs:integer"/>
-        <xsl:sequence select="'*' || p:f-final($in, $count) || '*'"/>
-      </xsl:function>
-    
-	  <xsl:override/>
-      
-    </xsl:override>  
-    
-  </xsl:use-package>
-  
- 
-   
-    <xsl:template name="main">
-      <out/>
-    </xsl:template>
-    
-  
-  
-</xsl:package>   
\ No newline at end of file
--- a/tests/decl/override/override-008.xsl	Tue Mar 24 19:37:57 2015 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-<xsl:package 
-  name="http://www.w3.org/xslt30tests/override-base-001"
-  package-version="1.0.0"
-  version="3.0"
-  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-  xmlns:xs="http://www.w3.org/2001/XMLSchema"
-  xmlns:p="http://www.w3.org/xslt30tests/override-base-001"
-  exclude-result-prefixes="xs p">
-  
-  <!-- empty xsl:override is OK  -->
-  
-  <xsl:use-package
-    name="http://www.w3.org/xslt30tests/override-base-001"
-    package-version="1.0.0">
-  
-    <xsl:override/>
-    
-  </xsl:use-package>
-  
-  
-   
-    <xsl:template name="main">
-      <out/>
-    </xsl:template>
-    
- 
-  
-</xsl:package>   
\ No newline at end of file
--- a/tests/decl/override/override-009.xsl	Tue Mar 24 19:37:57 2015 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-<xsl:package 
-  name="http://www.w3.org/xslt30tests/override-001"
-  package-version="1.0.1"
-  version="3.0"
-  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-  xmlns:xs="http://www.w3.org/2001/XMLSchema"
-  xmlns:p="http://www.w3.org/xslt30tests/override-base-001"
-  exclude-result-prefixes="xs p">
-  
-  <xsl:use-package
-    name="http://www.w3.org/xslt30tests/override-base-001"
-    package-version="1.0.0">
-  
-    <xsl:override>
-  
-      <xsl:function name="p:f" as="xs:string" visibility="public">
-        <xsl:param name="in" as="xs:string"/>
-        <xsl:param name="count" as="xs:integer"/>
-        <xsl:sequence select="'*' || p:f-final($in, $count) || '*'"/>
-      </xsl:function>
-    
-      <xsl:function name="p:f-abstract" as="xs:string" visibility="public">
-        <xsl:param name="in" as="xs:string"/>
-        <xsl:param name="count" as="xs:integer"/>
-        <xsl:sequence select="'abcd'"/>
-      </xsl:function>
-      
-    </xsl:override>  
-    
-  </xsl:use-package>
-  
- 
-  
-    <xsl:function name="p:local-function">
-      <xsl:param name="cond" as="xs:boolean"/>
-      <xsl:sequence select="if ($cond) then p:f('x', 5) else p:local-function(true())"/>
-    </xsl:function>
-   
-    <xsl:template name="main">
-      <xsl:choose>
-        <xsl:when test="p:local-function(true()) = '*xxxxx*'"><ok/></xsl:when>
-        <xsl:otherwise><wrong value="{p:local-function(true())}"/></xsl:otherwise>
-      </xsl:choose>
-    </xsl:template>
-    
- 
-  
-</xsl:package>   
\ No newline at end of file
--- a/tests/decl/override/override-010.xsl	Tue Mar 24 19:37:57 2015 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,45 +0,0 @@
-<xsl:package 
-  name="http://www.w3.org/xslt30tests/override-001"
-  package-version="1.0.1"
-  version="3.0"
-  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-  xmlns:xs="http://www.w3.org/2001/XMLSchema"
-  xmlns:p="http://www.w3.org/xslt30tests/override-base-001"
-  exclude-result-prefixes="xs p">
-  
-  <xsl:use-package
-    name="http://www.w3.org/xslt30tests/override-base-001"
-    package-version="1.0.0">
-  
-    <xsl:override>
-  
-      <xsl:function name="p:f" as="xs:string" visibility="public">
-        <xsl:param name="in" as="xs:string"/>
-        <xsl:param name="count" as="xs:integer"/>
-        <xsl:sequence select="'*' || p:f-final($in, $count) || '*'"/>
-      </xsl:function>
-    
-      <xsl:function name="p:f-abstract" as="xs:string" visibility="public">
-        <xsl:param name="in" as="xs:string"/>
-        <xsl:param name="count" as="xs:integer"/>
-        <xsl:sequence select="'abcd'"/>
-      </xsl:function>
-      
-    </xsl:override>  
-    
-  </xsl:use-package>
-  
-  
-  
-    <xsl:variable name="v" select="p:f('x', 5)"/>
-   
-    <xsl:template name="main">
-      <xsl:choose>
-        <xsl:when test="$v = '*xxxxx*'"><ok/></xsl:when>
-        <xsl:otherwise><wrong value="{$v}"/></xsl:otherwise>
-      </xsl:choose>
-    </xsl:template>
-    
- 
-  
-</xsl:package>   
\ No newline at end of file
--- a/tests/decl/override/override-011.xsl	Tue Mar 24 19:37:57 2015 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,52 +0,0 @@
-<xsl:package 
-  name="http://www.w3.org/xslt30tests/override-001"
-  package-version="1.0.1"
-  version="3.0"
-  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-  xmlns:xs="http://www.w3.org/2001/XMLSchema"
-  xmlns:p="http://www.w3.org/xslt30tests/override-base-001"
-  exclude-result-prefixes="xs p">
-  
-  <xsl:use-package
-    name="http://www.w3.org/xslt30tests/override-base-001"
-    package-version="1.0.0">
-  
-    <xsl:override>
-  
-      <xsl:function name="p:f" as="xs:string" visibility="public">
-        <xsl:param name="in" as="xs:string"/>
-        <xsl:param name="count" as="xs:integer"/>
-        <xsl:sequence select="'*' || p:f-final($in, $count) || '*'"/>
-      </xsl:function>
-    
-      <xsl:function name="p:f-abstract" as="xs:string" visibility="public">
-        <xsl:param name="in" as="xs:string"/>
-        <xsl:param name="count" as="xs:integer"/>
-        <xsl:sequence select="'abcd'"/>
-      </xsl:function>
-      
-    </xsl:override>  
-    
-  </xsl:use-package>
-  
-  
-  
-    <xsl:variable name="g"><a/></xsl:variable>
-    
-    <xsl:template match="a" as="xs:string">
-      <xsl:sequence select="p:f('x', 5)"/>
-    </xsl:template>  
-   
-    <xsl:template name="main">
-      <xsl:variable name="v" as="xs:string">
-        <xsl:apply-templates select="$g//a"/>
-      </xsl:variable>
-      <xsl:choose>
-        <xsl:when test="$v = '*xxxxx*'"><ok/></xsl:when>
-        <xsl:otherwise><wrong value="{$v}"/></xsl:otherwise>
-      </xsl:choose>
-    </xsl:template>
-    
- 
-  
-</xsl:package>   
\ No newline at end of file
--- a/tests/decl/override/override-012.xsl	Tue Mar 24 19:37:57 2015 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,44 +0,0 @@
-<xsl:package 
-  name="http://www.w3.org/xslt30tests/override-001"
-  package-version="1.0.1"
-  version="3.0"
-  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-  xmlns:xs="http://www.w3.org/2001/XMLSchema"
-  xmlns:p="http://www.w3.org/xslt30tests/override-base-001"
-  exclude-result-prefixes="xs p">
-  
-  <xsl:use-package
-    name="http://www.w3.org/xslt30tests/override-base-001"
-    package-version="1.0.0">
-  
-    <xsl:override>
-  
-      <xsl:function name="p:f" as="xs:string" visibility="public">
-        <xsl:param name="in" as="xs:string"/>
-        <xsl:param name="count" as="xs:integer"/>
-        <xsl:sequence select="'*' || p:f-final($in, $count) || '*'"/>
-      </xsl:function>
-    
-      <xsl:function name="p:f-abstract" as="xs:string" visibility="public">
-        <xsl:param name="in" as="xs:string"/>
-        <xsl:param name="count" as="xs:integer"/>
-        <xsl:sequence select="'abcd'"/>
-      </xsl:function>
-      
-    </xsl:override>  
-    
-  </xsl:use-package>
-  
- 
-  
-   
-    <xsl:template name="main">
-      <xsl:choose>
-        <xsl:when test="$p:final-var = '*+++*'"><ok/></xsl:when>
-        <xsl:otherwise><wrong value="{$p:final-var}"/></xsl:otherwise>
-      </xsl:choose>
-    </xsl:template>
-    
- 
-  
-</xsl:package>   
\ No newline at end of file
--- a/tests/decl/override/override-013.xsl	Tue Mar 24 19:37:57 2015 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,45 +0,0 @@
-<xsl:package 
-  name="http://www.w3.org/xslt30tests/override-001"
-  package-version="1.0.1"
-  version="3.0"
-  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-  xmlns:xs="http://www.w3.org/2001/XMLSchema"
-  xmlns:p="http://www.w3.org/xslt30tests/override-base-001"
-  exclude-result-prefixes="xs p">
-  
-  <!-- Use a function reference from a used package -->
-  
-  <xsl:use-package
-    name="http://www.w3.org/xslt30tests/override-base-001"
-    package-version="1.0.0">
-  
-    <xsl:override>
-  
-      <xsl:function name="p:f" as="xs:string" visibility="public">
-        <xsl:param name="in" as="xs:string"/>
-        <xsl:param name="count" as="xs:integer"/>
-        <xsl:sequence select="'*' || p:f-final($in, $count) || '*'"/>
-      </xsl:function>
-    
-      <xsl:function name="p:f-abstract" as="xs:string" visibility="public">
-        <xsl:param name="in" as="xs:string"/>
-        <xsl:param name="count" as="xs:integer"/>
-        <xsl:sequence select="'abcd'"/>
-      </xsl:function>
-      
-    </xsl:override>  
-    
-  </xsl:use-package>
-  
- 
-   
-    <xsl:template name="main">
-      <xsl:choose>
-        <xsl:when test="$p:f-ref('x', 5) = '*xxxxx*'"><ok/></xsl:when>
-        <xsl:otherwise><wrong value="{$p:f-ref('x', 5)}"/></xsl:otherwise>
-      </xsl:choose>
-    </xsl:template>
-    
- 
-  
-</xsl:package>   
\ No newline at end of file
--- a/tests/decl/override/override-014.xsl	Tue Mar 24 19:37:57 2015 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,45 +0,0 @@
-<xsl:package 
-  name="http://www.w3.org/xslt30tests/override-001"
-  package-version="1.0.1"
-  version="3.0"
-  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-  xmlns:xs="http://www.w3.org/2001/XMLSchema"
-  xmlns:p="http://www.w3.org/xslt30tests/override-base-001"
-  exclude-result-prefixes="xs p">
-  
-  <!-- Use a function reference to a private function from a used package -->
-  
-  <xsl:use-package
-    name="http://www.w3.org/xslt30tests/override-base-001"
-    package-version="1.0.0">
-  
-    <xsl:override>
-  
-      <xsl:function name="p:f" as="xs:string" visibility="public">
-        <xsl:param name="in" as="xs:string"/>
-        <xsl:param name="count" as="xs:integer"/>
-        <xsl:sequence select="'*' || p:f-final($in, $count) || '*'"/>
-      </xsl:function>
-    
-      <xsl:function name="p:f-abstract" as="xs:string" visibility="public">
-        <xsl:param name="in" as="xs:string"/>
-        <xsl:param name="count" as="xs:integer"/>
-        <xsl:sequence select="'abcd'"/>
-      </xsl:function>
-      
-    </xsl:override>  
-    
-  </xsl:use-package>
-  
- 
-   
-    <xsl:template name="main">
-      <xsl:choose>
-        <xsl:when test="$p:f-private-ref('x', 5) = 'xxxxx'"><ok/></xsl:when>
-        <xsl:otherwise><wrong value="{$p:f-private-ref('x', 5)}"/></xsl:otherwise>
-      </xsl:choose>
-    </xsl:template>
-    
- 
-  
-</xsl:package>   
\ No newline at end of file
--- a/tests/decl/override/override-015.xsl	Tue Mar 24 19:37:57 2015 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,45 +0,0 @@
-<xsl:package 
-  name="http://www.w3.org/xslt30tests/override-001"
-  package-version="1.0.1"
-  version="3.0"
-  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-  xmlns:xs="http://www.w3.org/2001/XMLSchema"
-  xmlns:p="http://www.w3.org/xslt30tests/override-base-001"
-  exclude-result-prefixes="xs p">
-  
-  <!-- Use a partial application of an overridden function -->
-  
-  <xsl:use-package
-    name="http://www.w3.org/xslt30tests/override-base-001"
-    package-version="1.0.0">
-  
-    <xsl:override>
-  
-      <xsl:function name="p:f" as="xs:string" visibility="public">
-        <xsl:param name="in" as="xs:string"/>
-        <xsl:param name="count" as="xs:integer"/>
-        <xsl:sequence select="'*' || p:f-final($in, $count) || '*'"/>
-      </xsl:function>
-    
-      <xsl:function name="p:f-abstract" as="xs:string" visibility="public">
-        <xsl:param name="in" as="xs:string"/>
-        <xsl:param name="count" as="xs:integer"/>
-        <xsl:sequence select="'abcd'"/>
-      </xsl:function>
-      
-    </xsl:override>  
-    
-  </xsl:use-package>
-  
- 
-   
-    <xsl:template name="main">
-      <xsl:choose>
-        <xsl:when test="$p:f-partial('o') = '*ooo*'"><ok/></xsl:when>
-        <xsl:otherwise><wrong value="{$p:f-partial('o')}"/></xsl:otherwise>
-      </xsl:choose>
-    </xsl:template>
-    
- 
-  
-</xsl:package>   
\ No newline at end of file
--- a/tests/decl/override/override-016.xsl	Tue Mar 24 19:37:57 2015 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,43 +0,0 @@
-<xsl:package 
-  name="http://www.w3.org/xslt30tests/override-001"
-  package-version="1.0.1"
-  version="3.0"
-  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-  xmlns:xs="http://www.w3.org/2001/XMLSchema"
-  xmlns:p="http://www.w3.org/xslt30tests/override-base-001"
-  exclude-result-prefixes="xs p">
-  
-  <xsl:use-package
-    name="http://www.w3.org/xslt30tests/override-base-001"
-    package-version="1.0.0">
-  
-    <xsl:override>
-  
-      <xsl:function name="p:f" as="xs:string" visibility="public">
-        <xsl:param name="in" as="xs:string"/>
-        <xsl:param name="count" as="xs:integer"/>
-        <xsl:sequence select="'*' || xsl:original($in, $count) || '*'"/>
-      </xsl:function>
-    
-      <xsl:function name="p:f-abstract" as="xs:string" visibility="public">
-        <xsl:param name="in" as="xs:string"/>
-        <xsl:param name="count" as="xs:integer"/>
-        <xsl:sequence select="'abcd'"/>
-      </xsl:function>
-      
-    </xsl:override>  
-    
-  </xsl:use-package>
-  
- 
-   
-    <xsl:template name="main">
-      <xsl:choose>
-        <xsl:when test="p:f('x', 5) = '*xxxxx*'"><ok/></xsl:when>
-        <xsl:otherwise><wrong value="{p:f('x', 5)}"/></xsl:otherwise>
-      </xsl:choose>
-    </xsl:template>
-    
- 
-  
-</xsl:package>   
\ No newline at end of file
--- a/tests/decl/override/override-017.xsl	Tue Mar 24 19:37:57 2015 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,49 +0,0 @@
-<xsl:package 
-  name="http://www.w3.org/xslt30tests/override-001"
-  package-version="1.0.1"
-  version="3.0"
-  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-  xmlns:xs="http://www.w3.org/2001/XMLSchema"
-  xmlns:p="http://www.w3.org/xslt30tests/override-base-001"
-  exclude-result-prefixes="xs p">
-  
-  <xsl:use-package
-    name="http://www.w3.org/xslt30tests/override-base-001"
-    package-version="1.0.0">
-  
-    <xsl:override>
-  
-      <xsl:function name="p:f" as="xs:string" visibility="public">
-        <xsl:param name="in" as="xs:string"/>
-        <xsl:param name="count" as="xs:integer"/>
-        <xsl:variable name="orig" as="function(*)" select="xsl:original#2"/>
-        <xsl:sequence select="p:action($orig, $in, $count)"/>
-      </xsl:function>
-    
-      <xsl:function name="p:f-abstract" as="xs:string" visibility="public">
-        <xsl:param name="in" as="xs:string"/>
-        <xsl:param name="count" as="xs:integer"/>
-        <xsl:sequence select="'abcd'"/>
-      </xsl:function>
-      
-    </xsl:override>  
-    
-  </xsl:use-package>
-  
-    <xsl:function name="p:action">
-      <xsl:param name="f" as="function(*)"/>
-      <xsl:param name="in" as="xs:string"/>
-      <xsl:param name="count" as="xs:integer"/>
-      <xsl:sequence select="'*' || $f($in, $count) || '*'"/>
-    </xsl:function>
-   
-    <xsl:template name="main">
-      <xsl:choose>
-        <xsl:when test="p:f('x', 5) = '*xxxxx*'"><ok/></xsl:when>
-        <xsl:otherwise><wrong value="{p:f('x', 5)}"/></xsl:otherwise>
-      </xsl:choose>
-    </xsl:template>
-    
- 
-  
-</xsl:package>   
\ No newline at end of file
--- a/tests/decl/override/override-018.xsl	Tue Mar 24 19:37:57 2015 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-<xsl:package 
-  name="http://www.w3.org/xslt30tests/override-001"
-  package-version="1.0.1"
-  version="3.0"
-  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-  xmlns:xs="http://www.w3.org/2001/XMLSchema"
-  xmlns:p="http://www.w3.org/xslt30tests/override-base-001"
-  exclude-result-prefixes="xs p">
-  
-  <xsl:use-package
-    name="http://www.w3.org/xslt30tests/override-base-001"
-    package-version="1.0.0">
-  
-    <xsl:override>
-  
-      <xsl:function name="p:f" as="xs:string" visibility="public">
-        <xsl:param name="in" as="xs:string"/>
-        <xsl:param name="count" as="xs:integer"/>
-        <xsl:variable name="orig" as="function(*)" select="xsl:original(?, $count)"/>
-        <xsl:sequence select="p:action($orig, $in)"/>
-      </xsl:function>
-    
-      <xsl:function name="p:f-abstract" as="xs:string" visibility="public">
-        <xsl:param name="in" as="xs:string"/>
-        <xsl:param name="count" as="xs:integer"/>
-        <xsl:sequence select="'abcd'"/>
-      </xsl:function>
-      
-    </xsl:override>  
-    
-  </xsl:use-package>
-  
-    <xsl:function name="p:action">
-      <xsl:param name="f" as="function(*)"/>
-      <xsl:param name="in" as="xs:string"/>
-      <xsl:sequence select="'*' || $f($in) || '*'"/>
-    </xsl:function>
-   
-    <xsl:template name="main">
-      <xsl:choose>
-        <xsl:when test="p:f('x', 5) = '*xxxxx*'"><ok/></xsl:when>
-        <xsl:otherwise><wrong value="{p:f('x', 5)}"/></xsl:otherwise>
-      </xsl:choose>
-    </xsl:template>
-    
- 
-  
-</xsl:package>   
\ No newline at end of file
--- a/tests/decl/override/override-101.xsl	Tue Mar 24 19:37:57 2015 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,52 +0,0 @@
-<xsl:package 
-  name="http://www.w3.org/xslt30tests/override-101"
-  package-version="1.0.0"
-  version="3.0"
-  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-  xmlns:xs="http://www.w3.org/2001/XMLSchema"
-  xmlns:p="http://www.w3.org/xslt30tests/override-base-101"
-  exclude-result-prefixes="xs p">
-  
-  <xsl:use-package
-    name="http://www.w3.org/xslt30tests/override-base-101"
-    package-version="1.0.0">
-  
-    <xsl:override>
-  
-      <xsl:template name="t" as="xs:string" visibility="public">
-        <xsl:param name="in" as="xs:string"/>
-        <xsl:param name="count" as="xs:integer"/>
-        <xsl:value-of>
-          <xsl:text>*</xsl:text>
-          <xsl:call-template name="t-final">
-            <xsl:with-param name="in" select="$in"/>
-            <xsl:with-param name="count" select="$count"/>
-          </xsl:call-template>
-          <xsl:text>*</xsl:text>
-        </xsl:value-of>
-      </xsl:template>
-    
-      <xsl:template name="t-abstract" as="xs:string" visibility="public">
-        <xsl:param name="in" as="xs:string"/>
-        <xsl:param name="count" as="xs:integer"/>
-        <xsl:sequence select="'abcd'"/>
-      </xsl:template>
-      
-    </xsl:override>  
-    
-  </xsl:use-package>
-  
- 
-   
-    <xsl:template name="main">
-    <out>
-      <xsl:call-template name="t">
-            <xsl:with-param name="in" select="'x'"/>
-            <xsl:with-param name="count" select="5"/>
-      </xsl:call-template>
-    </out>  
-    </xsl:template>
-    
-
-  
-</xsl:package>   
\ No newline at end of file
--- a/tests/decl/override/override-102.xsl	Tue Mar 24 19:37:57 2015 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,54 +0,0 @@
-<xsl:package 
-  name="http://www.w3.org/xslt30tests/override-101"
-  package-version="1.0.0"
-  version="3.0"
-  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-  xmlns:xs="http://www.w3.org/2001/XMLSchema"
-  xmlns:p="http://www.w3.org/xslt30tests/override-base-101"
-  exclude-result-prefixes="xs p">
-  
-  <xsl:use-package
-    name="http://www.w3.org/xslt30tests/override-base-101"
-    package-version="1.0.0">
-  
-    <xsl:override>
-  
-      <xsl:template name="t" as="xs:string" visibility="public">
-        <xsl:param name="in" as="xs:string"/>
-        <xsl:param name="count" as="xs:integer"/>
-        <xsl:value-of>
-          <xsl:text>*</xsl:text>
-          <xsl:call-template name="t-final">
-            <xsl:with-param name="in" select="$in"/>
-            <xsl:with-param name="count" select="$count"/>
-          </xsl:call-template>
-          <xsl:text>*</xsl:text>
-        </xsl:value-of>
-      </xsl:template>
-    
-      <xsl:template name="t-abstract" as="xs:string" visibility="public">
-        <xsl:param name="in" as="xs:string"/>
-        <xsl:param name="count" as="xs:integer"/>
-        <xsl:sequence select="'abcd'"/>
-      </xsl:template>
-      
-    </xsl:override>  
-    
-  </xsl:use-package>
-  
-  
-  
-    <!-- Demonstrate that the named template u in the base package is rebound to the declaration of t in this package -->
-   
-    <xsl:template name="main">
-    <out>
-      <xsl:call-template name="u">
-            <xsl:with-param name="in" select="'x'"/>
-            <xsl:with-param name="count" select="5"/>
-      </xsl:call-template>
-    </out>  
-    </xsl:template>
-    
- 
-  
-</xsl:package>   
\ No newline at end of file
--- a/tests/decl/override/override-103.xsl	Tue Mar 24 19:37:57 2015 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,49 +0,0 @@
-<xsl:package 
-  name="http://www.w3.org/xslt30tests/override-103"
-  package-version="1.0.0"
-  version="3.0"
-  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-  xmlns:xs="http://www.w3.org/2001/XMLSchema"
-  xmlns:p="http://www.w3.org/xslt30tests/override-base-101"
-  exclude-result-prefixes="xs p">
-  
-  <xsl:use-package
-    name="http://www.w3.org/xslt30tests/override-base-101"
-    package-version="1.0.0">
-  
-    <xsl:override>
-  
-      <xsl:template name="t" as="xs:string" visibility="public">
-        <xsl:param name="in" as="xs:string"/>
-        <xsl:param name="count" as="xs:integer"/>
-        <xsl:value-of>
-          <xsl:text>*</xsl:text>
-          <xsl:call-template name="t-abstract">
-            <xsl:with-param name="in" select="$in"/>
-            <xsl:with-param name="count" select="$count"/>
-          </xsl:call-template>
-          <xsl:text>*</xsl:text>
-        </xsl:value-of>
-      </xsl:template>
-    
-
-    </xsl:override>  
-    
-  </xsl:use-package>
-  
-  
-  
-    <!-- Demonstrate that the named template u in the base package is rebound to the declaration of t in this package -->
-   
-    <xsl:template name="main">
-    <out>
-      <xsl:call-template name="u">
-            <xsl:with-param name="in" select="'x'"/>
-            <xsl:with-param name="count" select="5"/>
-      </xsl:call-template>
-    </out>  
-    </xsl:template>
-    
-  
-  
-</xsl:package>   
\ No newline at end of file
--- a/tests/decl/override/override-104.xsl	Tue Mar 24 19:37:57 2015 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,54 +0,0 @@
-<xsl:package 
-  name="http://www.w3.org/xslt30tests/override-101"
-  package-version="1.0.0"
-  version="3.0"
-  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-  xmlns:xs="http://www.w3.org/2001/XMLSchema"
-  xmlns:p="http://www.w3.org/xslt30tests/override-base-101"
-  exclude-result-prefixes="xs p">
-  
-  <xsl:use-package
-    name="http://www.w3.org/xslt30tests/override-base-101"
-    package-version="1.0.0">
-  
-    <xsl:override>
-    
-      <!-- illegal override, types do not match -->
-  
-      <xsl:template name="t" as="xs:string" visibility="public">
-        <xsl:param name="in" as="xs:string"/>
-        <xsl:param name="count" as="xs:decimal"/>
-        <xsl:value-of>
-          <xsl:text>*</xsl:text>
-          <xsl:call-template name="t-final">
-            <xsl:with-param name="in" select="$in"/>
-            <xsl:with-param name="count" select="$count"/>
-          </xsl:call-template>
-          <xsl:text>*</xsl:text>
-        </xsl:value-of>
-      </xsl:template>
-    
-      <xsl:template name="t-abstract" as="xs:string" visibility="public">
-        <xsl:param name="in" as="xs:string"/>
-        <xsl:param name="count" as="xs:integer"/>
-        <xsl:sequence select="'abcd'"/>
-      </xsl:template>
-      
-    </xsl:override>  
-    
-  </xsl:use-package>
-  
- 
-   
-    <xsl:template name="main">
-    <out>
-      <xsl:call-template name="t">
-            <xsl:with-param name="in" select="'x'"/>
-            <xsl:with-param name="count" select="5"/>
-      </xsl:call-template>
-    </out>  
-    </xsl:template>
-    
-
-  
-</xsl:package>   
\ No newline at end of file
--- a/tests/decl/override/override-105.xsl	Tue Mar 24 19:37:57 2015 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,55 +0,0 @@
-<xsl:package 
-  name="http://www.w3.org/xslt30tests/override-101"
-  package-version="1.0.0"
-  version="3.0"
-  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-  xmlns:xs="http://www.w3.org/2001/XMLSchema"
-  xmlns:p="http://www.w3.org/xslt30tests/override-base-101"
-  exclude-result-prefixes="xs p">
-  
-  <xsl:use-package
-    name="http://www.w3.org/xslt30tests/override-base-101"
-    package-version="1.0.0">
-  
-    <xsl:override>
-    
-      <!-- illegal override, context item types do not match -->
-  
-      <xsl:template name="t" as="xs:string" visibility="public">
-        <xsl:context-item as="xs:anyURI"/>
-        <xsl:param name="in" as="xs:string"/>
-        <xsl:param name="count" as="xs:integer"/>
-        <xsl:value-of>
-          <xsl:text>*</xsl:text>
-          <xsl:call-template name="t-final">
-            <xsl:with-param name="in" select="$in"/>
-            <xsl:with-param name="count" select="$count"/>
-          </xsl:call-template>
-          <xsl:text>*</xsl:text>
-        </xsl:value-of>
-      </xsl:template>
-    
-      <xsl:template name="t-abstract" as="xs:string" visibility="public">
-        <xsl:param name="in" as="xs:string"/>
-        <xsl:param name="count" as="xs:integer"/>
-        <xsl:sequence select="'abcd'"/>
-      </xsl:template>
-      
-    </xsl:override>  
-    
-  </xsl:use-package>
-  
- 
-   
-    <xsl:template name="main">
-    <out>
-      <xsl:call-template name="t">
-            <xsl:with-param name="in" select="'x'"/>
-            <xsl:with-param name="count" select="5"/>
-      </xsl:call-template>
-    </out>  
-    </xsl:template>
-    
-
-  
-</xsl:package>   
\ No newline at end of file
--- a/tests/decl/override/override-106.xsl	Tue Mar 24 19:37:57 2015 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,55 +0,0 @@
-<xsl:package 
-  name="http://www.w3.org/xslt30tests/override-101"
-  package-version="1.0.0"
-  version="3.0"
-  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-  xmlns:xs="http://www.w3.org/2001/XMLSchema"
-  xmlns:p="http://www.w3.org/xslt30tests/override-base-101"
-  exclude-result-prefixes="xs p">
-  
-  <xsl:use-package
-    name="http://www.w3.org/xslt30tests/override-base-101"
-    package-version="1.0.0">
-  
-    <xsl:override>
-    
-      <!-- illegal override, context item use does not match -->
-  
-      <xsl:template name="t" as="xs:string" visibility="public">
-        <xsl:context-item use="absent"/>
-        <xsl:param name="in" as="xs:string"/>
-        <xsl:param name="count" as="xs:integer"/>
-        <xsl:value-of>
-          <xsl:text>*</xsl:text>
-          <xsl:call-template name="t-final">
-            <xsl:with-param name="in" select="$in"/>
-            <xsl:with-param name="count" select="$count"/>
-          </xsl:call-template>
-          <xsl:text>*</xsl:text>
-        </xsl:value-of>
-      </xsl:template>
-    
-      <xsl:template name="t-abstract" as="xs:string" visibility="public">
-        <xsl:param name="in" as="xs:string"/>
-        <xsl:param name="count" as="xs:integer"/>
-        <xsl:sequence select="'abcd'"/>
-      </xsl:template>
-      
-    </xsl:override>  
-    
-  </xsl:use-package>
-  
- 
-   
-    <xsl:template name="main">
-    <out>
-      <xsl:call-template name="t">
-            <xsl:with-param name="in" select="'x'"/>
-            <xsl:with-param name="count" select="5"/>
-      </xsl:call-template>
-    </out>  
-    </xsl:template>
-    
-
-  
-</xsl:package>   
\ No newline at end of file
--- a/tests/decl/override/override-107.xsl	Tue Mar 24 19:37:57 2015 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,52 +0,0 @@
-<xsl:package 
-  name="http://www.w3.org/xslt30tests/override-101"
-  package-version="1.0.0"
-  version="3.0"
-  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-  xmlns:xs="http://www.w3.org/2001/XMLSchema"
-  xmlns:p="http://www.w3.org/xslt30tests/override-base-101"
-  exclude-result-prefixes="xs p">
-  
-  <xsl:use-package
-    name="http://www.w3.org/xslt30tests/override-base-101"
-    package-version="1.0.0">
-  
-    <xsl:override>
-  
-      <xsl:template name="t" as="xs:string" visibility="public">
-        <xsl:param name="in" as="xs:string"/>
-        <xsl:param name="count" as="xs:integer"/>
-        <xsl:value-of>
-          <xsl:text>*</xsl:text>
-          <xsl:call-template name="xsl:original">
-            <xsl:with-param name="in" select="$in"/>
-            <xsl:with-param name="count" select="$count"/>
-          </xsl:call-template>
-          <xsl:text>*</xsl:text>
-        </xsl:value-of>
-      </xsl:template>
-    
-      <xsl:template name="t-abstract" as="xs:string" visibility="public">
-        <xsl:param name="in" as="xs:string"/>
-        <xsl:param name="count" as="xs:integer"/>
-        <xsl:sequence select="'abcd'"/>
-      </xsl:template>
-      
-    </xsl:override>  
-    
-  </xsl:use-package>
-  
- 
-   
-    <xsl:template name="main">
-    <out>
-      <xsl:call-template name="t">
-            <xsl:with-param name="in" select="'x'"/>
-            <xsl:with-param name="count" select="5"/>
-      </xsl:call-template>
-    </out>  
-    </xsl:template>
-    
-
-  
-</xsl:package>   
\ No newline at end of file
--- a/tests/decl/override/override-201.xsl	Tue Mar 24 19:37:57 2015 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +0,0 @@
-<xsl:package 
-  name="http://www.w3.org/xslt30tests/override-201"
-  package-version="1.0.1"
-  version="3.0"
-  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-  xmlns:xs="http://www.w3.org/2001/XMLSchema"
-  exclude-result-prefixes="xs">
-  
-  <xsl:use-package
-    name="http://www.w3.org/xslt30tests/override-base-201"
-    package-version="1.0.0">
-  
-    <xsl:override>
-  
-      <xsl:variable name="v-public" as="xs:integer" visibility="public" select="42"/>
-    
-      <xsl:variable name="v-abstract" as="xs:integer" visibility="public" select="93"/>
-      
-    </xsl:override>  
-    
-  </xsl:use-package>
-  
-  
-   
-    <xsl:template name="main">
-      <xsl:choose>
-        <xsl:when test="$v-public = 42"><ok/></xsl:when>
-        <xsl:otherwise><wrong value="{$v-public}"/></xsl:otherwise>
-      </xsl:choose>
-    </xsl:template>
-    
- 
-  
-</xsl:package>   
\ No newline at end of file
--- a/tests/decl/override/override-202.xsl	Tue Mar 24 19:37:57 2015 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +0,0 @@
-<xsl:package 
-  name="http://www.w3.org/xslt30tests/override-201"
-  package-version="1.0.1"
-  version="3.0"
-  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-  xmlns:xs="http://www.w3.org/2001/XMLSchema"
-  exclude-result-prefixes="xs">
-  
-  <xsl:use-package
-    name="http://www.w3.org/xslt30tests/override-base-201"
-    package-version="1.0.0">
-  
-    <xsl:override>
-  
-      <xsl:variable name="v-base" as="xs:integer" visibility="public" select="42"/>
-    
-      <xsl:variable name="v-abstract" as="xs:integer" visibility="public" select="93"/>
-      
-    </xsl:override>  
-    
-  </xsl:use-package>
-  
- 
-   
-    <xsl:template name="main">
-      <xsl:choose>
-        <xsl:when test="$v-public = 41"><ok/></xsl:when>
-        <xsl:otherwise><wrong value="{$v-public}"/></xsl:otherwise>
-      </xsl:choose>
-    </xsl:template>
-    
-  
-  
-</xsl:package>   
\ No newline at end of file
--- a/tests/decl/override/override-203.xsl	Tue Mar 24 19:37:57 2015 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +0,0 @@
-<xsl:package 
-  name="http://www.w3.org/xslt30tests/override-201"
-  package-version="1.0.1"
-  version="3.0"
-  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-  xmlns:xs="http://www.w3.org/2001/XMLSchema"
-  exclude-result-prefixes="xs">
-  
-  <xsl:use-package
-    name="http://www.w3.org/xslt30tests/override-base-201"
-    package-version="1.0.0">
-  
-    <xsl:override>
-  
-      <xsl:variable name="v-public" as="xs:integer" visibility="public" select="xsl:original + 13"/>
-    
-      <xsl:variable name="v-abstract" as="xs:integer" visibility="public" select="93"/>
-      
-    </xsl:override>  
-    
-  </xsl:use-package>
-  
-  
-   
-    <xsl:template name="main">
-      <xsl:choose>
-        <xsl:when test="$v-public = 14"><ok/></xsl:when>
-        <xsl:otherwise><wrong value="{$v-public}"/></xsl:otherwise>
-      </xsl:choose>
-    </xsl:template>
-    
- 
-  
-</xsl:package>   
\ No newline at end of file
--- a/tests/decl/override/override-301.xsl	Tue Mar 24 19:37:57 2015 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-<xsl:package 
-  name="http://www.w3.org/xslt30tests/override-301"
-  package-version="1.0.1"
-  version="3.0"
-  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-  xmlns:xs="http://www.w3.org/2001/XMLSchema"
-  exclude-result-prefixes="xs">
-  
-  <xsl:use-package
-    name="http://www.w3.org/xslt30tests/override-base-301"
-    package-version="1.0.0">
-  
-    <xsl:override>
-  
-      <xsl:attribute-set name="as-public" visibility="public">
-        <xsl:attribute name="pub1" select="'pub1o'"/>
-        <xsl:attribute name="pub2" select="'pub2o'"/>
-      </xsl:attribute-set>
-    
-      <xsl:attribute-set name="as-abstract" visibility="public">
-        <xsl:attribute name="abs1" select="'abs1o'"/>
-        <xsl:attribute name="abs2" select="'abs2o'"/>
-      </xsl:attribute-set>
-      
-    </xsl:override>  
-    
-  </xsl:use-package>
-  
-  
-   
-    <xsl:template name="main">
-      <out>
-        <x xsl:use-attribute-sets="as-public"/>
-        <y xsl:use-attribute-sets="as-abstract"/>
-        <z xsl:use-attribute-sets="as-final"/>
-      </out>
-    </xsl:template>
-    
- 
-  
-</xsl:package>   
\ No newline at end of file
--- a/tests/decl/override/override-302.xsl	Tue Mar 24 19:37:57 2015 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-<xsl:package 
-  name="http://www.w3.org/xslt30tests/override-301"
-  package-version="1.0.1"
-  version="3.0"
-  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-  xmlns:xs="http://www.w3.org/2001/XMLSchema"
-  exclude-result-prefixes="xs">
-  
-  <xsl:use-package
-    name="http://www.w3.org/xslt30tests/override-base-301"
-    package-version="1.0.0">
-  
-    <xsl:override>
-  
-      <xsl:attribute-set name="as-public" visibility="public" use-attribute-sets="xsl:original">
-        <xsl:attribute name="pub1" select="'pub1o'"/>
-        <xsl:attribute name="pub3" select="'pub3o'"/>
-      </xsl:attribute-set>
-    
-      <xsl:attribute-set name="as-abstract" visibility="public">
-        <xsl:attribute name="abs1" select="'abs1o'"/>
-        <xsl:attribute name="abs2" select="'abs2o'"/>
-      </xsl:attribute-set>
-      
-    </xsl:override>  
-    
-  </xsl:use-package>
-  
-  
-   
-    <xsl:template name="main">
-      <out>
-        <x xsl:use-attribute-sets="as-public"/>
-        <y xsl:use-attribute-sets="as-abstract"/>
-        <z xsl:use-attribute-sets="as-final"/>
-      </out>
-    </xsl:template>
-    
- 
-  
-</xsl:package>   
\ No newline at end of file
--- a/tests/decl/override/override-303.xsl	Tue Mar 24 19:37:57 2015 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-<xsl:package 
-  name="http://www.w3.org/xslt30tests/override-301"
-  package-version="1.0.1"
-  version="3.0"
-  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-  xmlns:xs="http://www.w3.org/2001/XMLSchema"
-  exclude-result-prefixes="xs">
-  
-  <xsl:use-package
-    name="http://www.w3.org/xslt30tests/override-base-301"
-    package-version="1.0.0">
-  
-    <xsl:override>
-  
-      <xsl:attribute-set name="as-base" visibility="public" use-attribute-sets="as-public">
-        <xsl:attribute name="pub1" select="'base1o'"/>
-        <xsl:attribute name="pub3" select="'base3o'"/>
-      </xsl:attribute-set>
-    
-      <xsl:attribute-set name="as-abstract" visibility="public">
-        <xsl:attribute name="abs1" select="'abs1o'"/>
-        <xsl:attribute name="abs2" select="'abs2o'"/>
-      </xsl:attribute-set>
-      
-    </xsl:override>  
-    
-  </xsl:use-package>
-  
-  
-   
-    <xsl:template name="main">
-      <out>
-        <x xsl:use-attribute-sets="as-public"/>
-        <y xsl:use-attribute-sets="as-abstract"/>
-        <z xsl:use-attribute-sets="as-final"/>
-      </out>
-    </xsl:template>
-    
- 
-  
-</xsl:package>   
\ No newline at end of file
--- a/tests/decl/override/override-304.xsl	Tue Mar 24 19:37:57 2015 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-<xsl:package 
-  name="http://www.w3.org/xslt30tests/override-301"
-  package-version="1.0.1"
-  version="3.0"
-  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-  xmlns:xs="http://www.w3.org/2001/XMLSchema"
-  exclude-result-prefixes="xs">
-  
-  <xsl:use-package
-    name="http://www.w3.org/xslt30tests/override-base-301"
-    package-version="1.0.0">
-  
-    <xsl:override>
-  
-      <xsl:attribute-set name="as-private">
-        <xsl:attribute name="priv8" select="'base1o'"/>
-        <xsl:attribute name="priv9" select="'base3o'"/>
-      </xsl:attribute-set>
-    
-      <xsl:attribute-set name="as-abstract" visibility="public">
-        <xsl:attribute name="abs1" select="'abs1o'"/>
-        <xsl:attribute name="abs2" select="'abs2o'"/>
-      </xsl:attribute-set>
-      
-    </xsl:override>  
-    
-  </xsl:use-package>
-  
-  
-   
-    <xsl:template name="main">
-      <out>
-        <x xsl:use-attribute-sets="as-public"/>
-        <y xsl:use-attribute-sets="as-abstract"/>
-        <z xsl:use-attribute-sets="as-final"/>
-      </out>
-    </xsl:template>
-    
- 
-  
-</xsl:package>   
\ No newline at end of file
--- a/tests/decl/override/override-305.xsl	Tue Mar 24 19:37:57 2015 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-<xsl:package 
-  name="http://www.w3.org/xslt30tests/override-301"
-  package-version="1.0.1"
-  version="3.0"
-  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-  xmlns:xs="http://www.w3.org/2001/XMLSchema"
-  exclude-result-prefixes="xs">
-  
-  <xsl:use-package
-    name="http://www.w3.org/xslt30tests/override-base-301"
-    package-version="1.0.0">
-  
-    <xsl:override>
-    
-      <xsl:attribute-set name="as-abstract" visibility="public">
-        <xsl:attribute name="abs1" select="'abs1o'"/>
-        <xsl:attribute name="abs2" select="'abs2o'"/>
-      </xsl:attribute-set>
-      
-    </xsl:override>  
-    
-  </xsl:use-package>
-  
-  <xsl:attribute-set name="as-private">
-    <xsl:attribute name="priv8" select="'priv8'"/>
-    <xsl:attribute name="priv9" select="'priv9'"/>
-  </xsl:attribute-set>
-   
-    <xsl:template name="main">
-      <out>
-        <x xsl:use-attribute-sets="as-public"/>
-        <y xsl:use-attribute-sets="as-private"/>
-      </out>
-    </xsl:template>
-    
- 
-  
-</xsl:package>   
\ No newline at end of file
--- a/tests/decl/override/override-901.xsl	Tue Mar 24 19:37:57 2015 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +0,0 @@
-<xsl:package 
-  name="http://www.w3.org/xslt30tests/override-001"
-  package-version="1.0.1"
-  version="3.0"
-  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-  xmlns:xs="http://www.w3.org/2001/XMLSchema"
-  xmlns:p="http://www.w3.org/xslt30tests/override-base-001"
-  exclude-result-prefixes="xs p">
-  
-  <xsl:variable name="data"><e/><f/><g/></xsl:variable>
-  
-  <xsl:use-package
-    name="http://www.w3.org/xslt30tests/override-base-901"
-    package-version="1.0.0">
-    
-    <!-- Cannot override a key -->
-  
-    <xsl:override>
-  
-      <xsl:key name="k" match="comment()" use="."/>
-      
-    </xsl:override>  
-    
-  </xsl:use-package>
-  
- 
-   
-    <xsl:template name="main">
-      <out><xsl:value-of select="$data/key('k', 23)"/></out>
-    </xsl:template>
-    
- 
-  
-</xsl:package>   
\ No newline at end of file
--- a/tests/decl/override/override-902.xsl	Tue Mar 24 19:37:57 2015 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,36 +0,0 @@
-<xsl:package 
-  name="http://www.w3.org/xslt30tests/override-001"
-  package-version="1.0.1"
-  version="3.0"
-  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-  xmlns:xs="http://www.w3.org/2001/XMLSchema"
-  xmlns:p="http://www.w3.org/xslt30tests/override-base-001"
-  exclude-result-prefixes="xs p">
-  
-  <xsl:variable name="data"><e/><f/><g/></xsl:variable>
-  
-  <xsl:use-package
-    name="http://www.w3.org/xslt30tests/override-base-901"
-    package-version="1.0.0">
-    
-    <!-- Cannot override an accumulator -->
-  
-    <xsl:override>
-  
-      <xsl:accumulator name="ac" initial-value="17">
-        <xsl:accumulator-rule match="x" new-value="$value * 2"/>
-      </xsl:accumulator>
-      
-    </xsl:override>  
-    
-  </xsl:use-package>
-  
- 
-   
-    <xsl:template name="main">
-      <out><xsl:value-of select="$data/accumulator-after('ac')"/></out>
-    </xsl:template>
-    
- 
-  
-</xsl:package>   
\ No newline at end of file
--- a/tests/decl/override/override-903.xsl	Tue Mar 24 19:37:57 2015 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +0,0 @@
-<xsl:package 
-  name="http://www.w3.org/xslt30tests/override-001"
-  package-version="1.0.1"
-  version="3.0"
-  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-  xmlns:xs="http://www.w3.org/2001/XMLSchema"
-  xmlns:p="http://www.w3.org/xslt30tests/override-base-001"
-  exclude-result-prefixes="xs p">
-  
-  <xsl:variable name="data"><e/><f/><g/></xsl:variable>
-  
-  <xsl:use-package
-    name="http://www.w3.org/xslt30tests/override-base-901"
-    package-version="1.0.0">
-    
-    <!-- Cannot override a decimal format -->
-  
-    <xsl:override>
-  
-      <xsl:decimal-format name="d" NaN="0"/>
-      
-    </xsl:override>  
-    
-  </xsl:use-package>
-  
- 
-   
-    <xsl:template name="main">
-      <out><xsl:value-of select="format-number(17, '999', 'd')"/></out>
-    </xsl:template>
-    
- 
-  
-</xsl:package>   
\ No newline at end of file
--- a/tests/decl/override/override-904.xsl	Tue Mar 24 19:37:57 2015 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +0,0 @@
-<xsl:package 
-  name="http://www.w3.org/xslt30tests/override-001"
-  package-version="1.0.1"
-  version="3.0"
-  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-  xmlns:xs="http://www.w3.org/2001/XMLSchema"
-  xmlns:p="http://www.w3.org/xslt30tests/override-base-001"
-  exclude-result-prefixes="xs p">
-  
-  <xsl:variable name="data"><e>x</e><x>y</x><g>z</g></xsl:variable>
-  
-  <xsl:use-package
-    name="http://www.w3.org/xslt30tests/override-base-901"
-    package-version="1.0.0"/>
-    
-  <!-- Keys in different packages can share the same name -->
-  
-  <xsl:key name="k" match="*" use="name()"/>
-   
-    <xsl:template name="main">
-      <out>
-        <a><xsl:copy-of select="$data/key('k', 'x')"/></a>
-        <xsl:for-each select="$data">
-          <xsl:call-template name="k"/>
-        </xsl:for-each>
-      </out>
-    </xsl:template>
-    
- 
-  
-</xsl:package>   
\ No newline at end of file
--- a/tests/decl/override/override-905.xsl	Tue Mar 24 19:37:57 2015 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-<xsl:package 
-  name="http://www.w3.org/xslt30tests/override-001"
-  package-version="1.0.1"
-  version="3.0"
-  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-  xmlns:xs="http://www.w3.org/2001/XMLSchema"
-  xmlns:p="http://www.w3.org/xslt30tests/override-base-001"
-  exclude-result-prefixes="xs p">
-  
-  <xsl:variable name="data"><e>x</e><x>y</x><g>z</g></xsl:variable>
-  
-  <xsl:use-package
-    name="http://www.w3.org/xslt30tests/override-base-901"
-    package-version="1.0.0"/>
-    
-  <!-- Accumulators in different packages can share the same name -->
-  
-  <xsl:accumulator name="ac" initial-value="0">
-    <xsl:accumulator-rule match="*" new-value="$value - 1"></xsl:accumulator-rule>
-  </xsl:accumulator>
-   
-    <xsl:template name="main">
-      <xsl:for-each select="$data">
-        <out>
-          <a><xsl:copy-of select="accumulator-after('ac')"/></a>
-          <xsl:call-template name="ac"/>         
-        </out>
-      </xsl:for-each>
-    </xsl:template>
-    
- 
-  
-</xsl:package>   
\ No newline at end of file
--- a/tests/decl/override/override-906.xsl	Tue Mar 24 19:37:57 2015 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +0,0 @@
-<xsl:package 
-  name="http://www.w3.org/xslt30tests/override-001"
-  package-version="1.0.1"
-  version="3.0"
-  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-  xmlns:xs="http://www.w3.org/2001/XMLSchema"
-  xmlns:p="http://www.w3.org/xslt30tests/override-base-001"
-  exclude-result-prefixes="xs p">
-  
-  <xsl:variable name="data"><e>x</e><x>y</x><g>z</g></xsl:variable>
-  
-  <xsl:use-package
-    name="http://www.w3.org/xslt30tests/override-base-901"
-    package-version="1.0.0"/>
-    
-  <!-- Decimal formats in different packages can share the same name -->
-  
-  <xsl:decimal-format name="d" grouping-separator="!" decimal-separator=":"/>
-   
-    <xsl:template name="main">
-      <xsl:for-each select="$data">
-        <out>
-          <a><xsl:value-of select="format-number(123456.78, '0!000:00', 'd')"/></a>
-          <xsl:call-template name="d"/>         
-        </out>
-      </xsl:for-each>
-    </xsl:template>
-    
- 
-  
-</xsl:package>   
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/decl/override/override-as-001.xsl	Tue Mar 24 19:40:30 2015 +0100
@@ -0,0 +1,41 @@
+<xsl:package 
+  name="http://www.w3.org/xslt30tests/override-301"
+  package-version="1.0.1"
+  version="3.0"
+  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+  xmlns:xs="http://www.w3.org/2001/XMLSchema"
+  exclude-result-prefixes="xs">
+  
+  <xsl:use-package
+    name="http://www.w3.org/xslt30tests/override-base-301"
+    package-version="1.0.0">
+  
+    <xsl:override>
+  
+      <xsl:attribute-set name="as-public" visibility="public">
+        <xsl:attribute name="pub1" select="'pub1o'"/>
+        <xsl:attribute name="pub2" select="'pub2o'"/>
+      </xsl:attribute-set>
+    
+      <xsl:attribute-set name="as-abstract" visibility="public">
+        <xsl:attribute name="abs1" select="'abs1o'"/>
+        <xsl:attribute name="abs2" select="'abs2o'"/>
+      </xsl:attribute-set>
+      
+    </xsl:override>  
+    
+  </xsl:use-package>
+  
+  
+   
+    <xsl:template name="main">
+      <out>
+        <x xsl:use-attribute-sets="as-public"/>
+        <y xsl:use-attribute-sets="as-abstract"/>
+        <z xsl:use-attribute-sets="as-final"/>
+      </out>
+    </xsl:template>
+    
+ 
+  
+</xsl:package>   
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/decl/override/override-as-002.xsl	Tue Mar 24 19:40:30 2015 +0100
@@ -0,0 +1,41 @@
+<xsl:package 
+  name="http://www.w3.org/xslt30tests/override-301"
+  package-version="1.0.1"
+  version="3.0"
+  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+  xmlns:xs="http://www.w3.org/2001/XMLSchema"
+  exclude-result-prefixes="xs">
+  
+  <xsl:use-package
+    name="http://www.w3.org/xslt30tests/override-base-301"
+    package-version="1.0.0">
+  
+    <xsl:override>
+  
+      <xsl:attribute-set name="as-public" visibility="public" use-attribute-sets="xsl:original">
+        <xsl:attribute name="pub1" select="'pub1o'"/>
+        <xsl:attribute name="pub3" select="'pub3o'"/>
+      </xsl:attribute-set>
+    
+      <xsl:attribute-set name="as-abstract" visibility="public">
+        <xsl:attribute name="abs1" select="'abs1o'"/>
+        <xsl:attribute name="abs2" select="'abs2o'"/>
+      </xsl:attribute-set>
+      
+    </xsl:override>  
+    
+  </xsl:use-package>
+  
+  
+   
+    <xsl:template name="main">
+      <out>
+        <x xsl:use-attribute-sets="as-public"/>
+        <y xsl:use-attribute-sets="as-abstract"/>
+        <z xsl:use-attribute-sets="as-final"/>
+      </out>
+    </xsl:template>
+    
+ 
+  
+</xsl:package>   
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/decl/override/override-as-003.xsl	Tue Mar 24 19:40:30 2015 +0100
@@ -0,0 +1,41 @@
+<xsl:package 
+  name="http://www.w3.org/xslt30tests/override-301"
+  package-version="1.0.1"
+  version="3.0"
+  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+  xmlns:xs="http://www.w3.org/2001/XMLSchema"
+  exclude-result-prefixes="xs">
+  
+  <xsl:use-package
+    name="http://www.w3.org/xslt30tests/override-base-301"
+    package-version="1.0.0">
+  
+    <xsl:override>
+  
+      <xsl:attribute-set name="as-base" visibility="public" use-attribute-sets="as-public">
+        <xsl:attribute name="pub1" select="'base1o'"/>
+        <xsl:attribute name="pub3" select="'base3o'"/>
+      </xsl:attribute-set>
+    
+      <xsl:attribute-set name="as-abstract" visibility="public">
+        <xsl:attribute name="abs1" select="'abs1o'"/>
+        <xsl:attribute name="abs2" select="'abs2o'"/>
+      </xsl:attribute-set>
+      
+    </xsl:override>  
+    
+  </xsl:use-package>
+  
+  
+   
+    <xsl:template name="main">
+      <out>
+        <x xsl:use-attribute-sets="as-public"/>
+        <y xsl:use-attribute-sets="as-abstract"/>
+        <z xsl:use-attribute-sets="as-final"/>
+      </out>
+    </xsl:template>
+    
+ 
+  
+</xsl:package>   
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/decl/override/override-as-004.xsl	Tue Mar 24 19:40:30 2015 +0100
@@ -0,0 +1,41 @@
+<xsl:package 
+  name="http://www.w3.org/xslt30tests/override-301"
+  package-version="1.0.1"
+  version="3.0"
+  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+  xmlns:xs="http://www.w3.org/2001/XMLSchema"
+  exclude-result-prefixes="xs">
+  
+  <xsl:use-package
+    name="http://www.w3.org/xslt30tests/override-base-301"
+    package-version="1.0.0">
+  
+    <xsl:override>
+  
+      <xsl:attribute-set name="as-private">
+        <xsl:attribute name="priv8" select="'base1o'"/>
+        <xsl:attribute name="priv9" select="'base3o'"/>
+      </xsl:attribute-set>
+    
+      <xsl:attribute-set name="as-abstract" visibility="public">
+        <xsl:attribute name="abs1" select="'abs1o'"/>
+        <xsl:attribute name="abs2" select="'abs2o'"/>
+      </xsl:attribute-set>
+      
+    </xsl:override>  
+    
+  </xsl:use-package>
+  
+  
+   
+    <xsl:template name="main">
+      <out>
+        <x xsl:use-attribute-sets="as-public"/>
+        <y xsl:use-attribute-sets="as-abstract"/>
+        <z xsl:use-attribute-sets="as-final"/>
+      </out>
+    </xsl:template>
+    
+ 
+  
+</xsl:package>   
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/decl/override/override-as-005.xsl	Tue Mar 24 19:40:30 2015 +0100
@@ -0,0 +1,38 @@
+<xsl:package 
+  name="http://www.w3.org/xslt30tests/override-301"
+  package-version="1.0.1"
+  version="3.0"
+  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+  xmlns:xs="http://www.w3.org/2001/XMLSchema"
+  exclude-result-prefixes="xs">
+  
+  <xsl:use-package
+    name="http://www.w3.org/xslt30tests/override-base-301"
+    package-version="1.0.0">
+  
+    <xsl:override>
+    
+      <xsl:attribute-set name="as-abstract" visibility="public">
+        <xsl:attribute name="abs1" select="'abs1o'"/>
+        <xsl:attribute name="abs2" select="'abs2o'"/>
+      </xsl:attribute-set>
+      
+    </xsl:override>  
+    
+  </xsl:use-package>
+  
+  <xsl:attribute-set name="as-private">
+    <xsl:attribute name="priv8" select="'priv8'"/>
+    <xsl:attribute name="priv9" select="'priv9'"/>
+  </xsl:attribute-set>
+   
+    <xsl:template name="main">
+      <out>
+        <x xsl:use-attribute-sets="as-public"/>
+        <y xsl:use-attribute-sets="as-private"/>
+      </out>
+    </xsl:template>
+    
+ 
+  
+</xsl:package>   
\ No newline at end of file
--- a/tests/decl/override/override-base-001.xsl	Tue Mar 24 19:37:57 2015 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,43 +0,0 @@
-<xsl:package 
-  name="http://www.w3.org/xslt30tests/override-base-001"
-  package-version="1.0.0"
-  version="3.0"
-  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-  xmlns:xs="http://www.w3.org/2001/XMLSchema"
-  xmlns:p="http://www.w3.org/xslt30tests/override-base-001"
-  exclude-result-prefixes="xs p">
-  
-  
-  
-    <xsl:function name="p:f" as="xs:string" visibility="public">
-      <xsl:param name="in" as="xs:string"/>
-      <xsl:param name="count" as="xs:integer"/>
-      <xsl:sequence select="p:f-private($in, $count)"/>
-    </xsl:function>
-    
-    <xsl:function name="p:f-private" as="xs:string" visibility="private">
-      <xsl:param name="in" as="xs:string"/>
-      <xsl:param name="count" as="xs:integer"/>
-      <xsl:sequence select="string-join((1 to $count)!$in, '')"/>
-    </xsl:function>
-    
-    <xsl:function name="p:f-final" as="xs:string" visibility="final">
-      <xsl:param name="in" as="xs:string"/>
-      <xsl:param name="count" as="xs:integer"/>
-      <xsl:sequence select="p:f-private($in, $count)"/>
-    </xsl:function>
-    
-    <xsl:function name="p:f-abstract" as="xs:string" visibility="abstract" >
-      <xsl:param name="in" as="xs:string"/>
-      <xsl:param name="count" as="xs:integer"/>
-    </xsl:function>
-    
-    <xsl:variable name="p:final-var" select="p:f('+', 3)" visibility="final"/>
-    
-    <xsl:variable name="p:f-private-ref" select="p:f-private#2" visibility="public"/>
-    
-    <xsl:variable name="p:f-ref" select="p:f#2" visibility="public"/>
-    
-    <xsl:variable name="p:f-partial" select="p:f(?, 3)" visibility="public"/>
-  
-</xsl:package>   
\ No newline at end of file
--- a/tests/decl/override/override-base-101.xsl	Tue Mar 24 19:37:57 2015 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,52 +0,0 @@
-<xsl:package 
-  name="http://www.w3.org/xslt30tests/override-base-101"
-  package-version="1.0.0"
-  version="3.0"
-  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-  xmlns:xs="http://www.w3.org/2001/XMLSchema"
-  xmlns:p="http://www.w3.org/xslt30tests/override-base-101"
-  exclude-result-prefixes="xs p">
-  
-  
-  
-    <xsl:template name="t" as="xs:string" visibility="public">
-      <xsl:param name="in" as="xs:string"/>
-      <xsl:param name="count" as="xs:integer"/>
-      <xsl:call-template name="t-private">
-         <xsl:with-param name="in" select="$in"/>
-         <xsl:with-param name="count" select="$count"/>
-      </xsl:call-template>
-    </xsl:template>
-    
-    <xsl:template name="t-private" as="xs:string" visibility="private">
-      <xsl:param name="in" as="xs:string"/>
-      <xsl:param name="count" as="xs:integer"/>
-      <xsl:sequence select="string-join((1 to $count)!$in, '')"/>
-    </xsl:template>
-    
-    <xsl:template name="t-final" as="xs:string" visibility="final">
-      <xsl:param name="in" as="xs:string"/>
-      <xsl:param name="count" as="xs:integer"/>
-      <xsl:call-template name="t-private">
-         <xsl:with-param name="in" select="$in"/>
-         <xsl:with-param name="count" select="$count"/>
-      </xsl:call-template>
-    </xsl:template>
-    
-    <xsl:template name="t-abstract" as="xs:string" visibility="abstract" >
-      <xsl:param name="in" as="xs:string"/>
-      <xsl:param name="count" as="xs:integer"/>
-    </xsl:template>
-    
-    <xsl:template name="u" as="xs:string" visibility="public">
-      <xsl:param name="in" as="xs:string"/>
-      <xsl:param name="count" as="xs:integer"/>
-      <xsl:call-template name="t">
-         <xsl:with-param name="in" select="$in"/>
-         <xsl:with-param name="count" select="$count"/>
-      </xsl:call-template>
-    </xsl:template>
-    
-  
-  
-</xsl:package>   
\ No newline at end of file
--- a/tests/decl/override/override-base-201.xsl	Tue Mar 24 19:37:57 2015 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,23 +0,0 @@
-<xsl:package 
-  name="http://www.w3.org/xslt30tests/override-base-201"
-  package-version="1.0.0"
-  version="3.0"
-  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-  xmlns:xs="http://www.w3.org/2001/XMLSchema"
-  exclude-result-prefixes="xs">
-  
-  
-  
-    <xsl:variable name="v-public" as="xs:integer" visibility="public" select="$v-private - 1"/>
-    
-    <xsl:variable name="v-private" as="xs:integer" visibility="private" select="$v-base"/>
-    
-    <xsl:variable name="v-final" as="xs:integer" visibility="final" select="3"/>
-    
-    <xsl:variable name="v-abstract" as="xs:integer" visibility="abstract" />
-    
-    <xsl:variable name="v-base" as="xs:integer" visibility="public" select="2"/>
-    
-  
-  
-</xsl:package>   
\ No newline at end of file
--- a/tests/decl/override/override-base-301.xsl	Tue Mar 24 19:37:57 2015 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +0,0 @@
-<xsl:package 
-  name="http://www.w3.org/xslt30tests/override-base-301"
-  package-version="1.0.0"
-  version="3.0"
-  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-  xmlns:xs="http://www.w3.org/2001/XMLSchema"
-  exclude-result-prefixes="xs">
-  
-  
-  
-  <xsl:attribute-set name="as-public" visibility="public" use-attribute-sets="as-private">
-    <xsl:attribute name="pub1" select="'pub1'"/>
-    <xsl:attribute name="pub2" select="'pub2'"/>
-  </xsl:attribute-set>
-    
-  <xsl:attribute-set name="as-private" visibility="private" use-attribute-sets="as-base">
-    <xsl:attribute name="priv1" select="'priv1'"/>
-  </xsl:attribute-set>
-    
-  <xsl:attribute-set name="as-final" visibility="final">
-    <xsl:attribute name="final1" select="'final1'"/>
-  </xsl:attribute-set>
-    
-  <xsl:attribute-set name="as-abstract" visibility="abstract" />
-    
-  <xsl:attribute-set name="as-base" visibility="public">
-    <xsl:attribute name="base1" select="'base1'"/>
-  </xsl:attribute-set>
-    
-  
-  
-</xsl:package>   
\ No newline at end of file
--- a/tests/decl/override/override-base-901.xsl	Tue Mar 24 19:37:57 2015 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +0,0 @@
-<xsl:package 
-  name="http://www.w3.org/xslt30tests/override-base-901"
-  package-version="1.0.0"
-  version="3.0"
-  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-  xmlns:xs="http://www.w3.org/2001/XMLSchema"
-  xmlns:p="http://www.w3.org/xslt30tests/override-base-001"
-  exclude-result-prefixes="xs p">
-  
-  <xsl:key name="k" match="*" use="."/>
-  
-  <xsl:accumulator name="ac" initial-value="0">
-    <xsl:accumulator-rule match="*" new-value="$value+1"/>
-  </xsl:accumulator>
-  
-  <xsl:decimal-format name="d" grouping-separator="." decimal-separator=","/>
-  
-  <xsl:template name="k" visibility="public">
-    <b><xsl:copy-of select="key('k', 'x')"/></b>
-  </xsl:template>
-  
-  <xsl:template name="ac" visibility="public">
-    <b><xsl:value-of select="accumulator-after('ac')"/></b>
-  </xsl:template>
-  
-  <xsl:template name="d" visibility="public">
-    <b><xsl:value-of select="format-number(123456.78, '0.000,00', 'd')"/></b>
-  </xsl:template>
-  
-  
-  
-</xsl:package>   
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/decl/override/override-base-as-001.xsl	Tue Mar 24 19:40:30 2015 +0100
@@ -0,0 +1,32 @@
+<xsl:package 
+  name="http://www.w3.org/xslt30tests/override-base-301"
+  package-version="1.0.0"
+  version="3.0"
+  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+  xmlns:xs="http://www.w3.org/2001/XMLSchema"
+  exclude-result-prefixes="xs">
+  
+  
+  
+  <xsl:attribute-set name="as-public" visibility="public" use-attribute-sets="as-private">
+    <xsl:attribute name="pub1" select="'pub1'"/>
+    <xsl:attribute name="pub2" select="'pub2'"/>
+  </xsl:attribute-set>
+    
+  <xsl:attribute-set name="as-private" visibility="private" use-attribute-sets="as-base">
+    <xsl:attribute name="priv1" select="'priv1'"/>
+  </xsl:attribute-set>
+    
+  <xsl:attribute-set name="as-final" visibility="final">
+    <xsl:attribute name="final1" select="'final1'"/>
+  </xsl:attribute-set>
+    
+  <xsl:attribute-set name="as-abstract" visibility="abstract" />
+    
+  <xsl:attribute-set name="as-base" visibility="public">
+    <xsl:attribute name="base1" select="'base1'"/>
+  </xsl:attribute-set>
+    
+  
+  
+</xsl:package>   
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/decl/override/override-base-f-001.xsl	Tue Mar 24 19:40:30 2015 +0100
@@ -0,0 +1,43 @@
+<xsl:package 
+  name="http://www.w3.org/xslt30tests/override-base-001"
+  package-version="1.0.0"
+  version="3.0"
+  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+  xmlns:xs="http://www.w3.org/2001/XMLSchema"
+  xmlns:p="http://www.w3.org/xslt30tests/override-base-001"
+  exclude-result-prefixes="xs p">
+  
+  
+  
+    <xsl:function name="p:f" as="xs:string" visibility="public">
+      <xsl:param name="in" as="xs:string"/>
+      <xsl:param name="count" as="xs:integer"/>
+      <xsl:sequence select="p:f-private($in, $count)"/>
+    </xsl:function>
+    
+    <xsl:function name="p:f-private" as="xs:string" visibility="private">
+      <xsl:param name="in" as="xs:string"/>
+      <xsl:param name="count" as="xs:integer"/>
+      <xsl:sequence select="string-join((1 to $count)!$in, '')"/>
+    </xsl:function>
+    
+    <xsl:function name="p:f-final" as="xs:string" visibility="final">
+      <xsl:param name="in" as="xs:string"/>
+      <xsl:param name="count" as="xs:integer"/>
+      <xsl:sequence select="p:f-private($in, $count)"/>
+    </xsl:function>
+    
+    <xsl:function name="p:f-abstract" as="xs:string" visibility="abstract" >
+      <xsl:param name="in" as="xs:string"/>
+      <xsl:param name="count" as="xs:integer"/>
+    </xsl:function>
+    
+    <xsl:variable name="p:final-var" select="p:f('+', 3)" visibility="final"/>
+    
+    <xsl:variable name="p:f-private-ref" select="p:f-private#2" visibility="public"/>
+    
+    <xsl:variable name="p:f-ref" select="p:f#2" visibility="public"/>
+    
+    <xsl:variable name="p:f-partial" select="p:f(?, 3)" visibility="public"/>
+  
+</xsl:package>   
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/decl/override/override-base-misc-001.xsl	Tue Mar 24 19:40:30 2015 +0100
@@ -0,0 +1,32 @@
+<xsl:package 
+  name="http://www.w3.org/xslt30tests/override-base-901"
+  package-version="1.0.0"
+  version="3.0"
+  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+  xmlns:xs="http://www.w3.org/2001/XMLSchema"
+  xmlns:p="http://www.w3.org/xslt30tests/override-base-001"
+  exclude-result-prefixes="xs p">
+  
+  <xsl:key name="k" match="*" use="."/>
+  
+  <xsl:accumulator name="ac" initial-value="0">
+    <xsl:accumulator-rule match="*" new-value="$value+1"/>
+  </xsl:accumulator>
+  
+  <xsl:decimal-format name="d" grouping-separator="." decimal-separator=","/>
+  
+  <xsl:template name="k" visibility="public">
+    <b><xsl:copy-of select="key('k', 'x')"/></b>
+  </xsl:template>
+  
+  <xsl:template name="ac" visibility="public">
+    <b><xsl:value-of select="accumulator-after('ac')"/></b>
+  </xsl:template>
+  
+  <xsl:template name="d" visibility="public">
+    <b><xsl:value-of select="format-number(123456.78, '0.000,00', 'd')"/></b>
+  </xsl:template>
+  
+  
+  
+</xsl:package>   
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/decl/override/override-base-misc-002.xsl	Tue Mar 24 19:40:30 2015 +0100
@@ -0,0 +1,25 @@
+<xsl:package 
+  name="http://www.w3.org/xslt30tests/override-base-misc-002"
+  package-version="1.0.0"
+  version="3.0"
+  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+  xmlns:xs="http://www.w3.org/2001/XMLSchema"
+  xmlns:p="http://www.w3.org/xslt30tests/override-base-misc-002"
+  exclude-result-prefixes="xs p">
+  
+  <xsl:key name="k" match="*" use="."/>
+  
+  <xsl:accumulator name="ac" initial-value="0" streamable="yes">
+    <xsl:accumulator-rule match="*" new-value="$value+1"/>
+  </xsl:accumulator>
+  
+  
+  <xsl:template name="use-base" visibility="public">
+    <xsl:stream href="../accumulator/books.xml" use-accumulators="ac">
+      <a><count nodes="{count(//*)}"/><acc value="{accumulator-after('ac')}"/></a>
+    </xsl:stream>  
+  </xsl:template>
+
+  
+  
+</xsl:package>   
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/decl/override/override-base-t-001.xsl	Tue Mar 24 19:40:30 2015 +0100
@@ -0,0 +1,52 @@
+<xsl:package 
+  name="http://www.w3.org/xslt30tests/override-base-101"
+  package-version="1.0.0"
+  version="3.0"
+  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+  xmlns:xs="http://www.w3.org/2001/XMLSchema"
+  xmlns:p="http://www.w3.org/xslt30tests/override-base-101"
+  exclude-result-prefixes="xs p">
+  
+  
+  
+    <xsl:template name="t" as="xs:string" visibility="public">
+      <xsl:param name="in" as="xs:string"/>
+      <xsl:param name="count" as="xs:integer"/>
+      <xsl:call-template name="t-private">
+         <xsl:with-param name="in" select="$in"/>
+         <xsl:with-param name="count" select="$count"/>
+      </xsl:call-template>
+    </xsl:template>
+    
+    <xsl:template name="t-private" as="xs:string" visibility="private">
+      <xsl:param name="in" as="xs:string"/>
+      <xsl:param name="count" as="xs:integer"/>
+      <xsl:sequence select="string-join((1 to $count)!$in, '')"/>
+    </xsl:template>
+    
+    <xsl:template name="t-final" as="xs:string" visibility="final">
+      <xsl:param name="in" as="xs:string"/>
+      <xsl:param name="count" as="xs:integer"/>
+      <xsl:call-template name="t-private">
+         <xsl:with-param name="in" select="$in"/>
+         <xsl:with-param name="count" select="$count"/>
+      </xsl:call-template>
+    </xsl:template>
+    
+    <xsl:template name="t-abstract" as="xs:string" visibility="abstract" >
+      <xsl:param name="in" as="xs:string"/>
+      <xsl:param name="count" as="xs:integer"/>
+    </xsl:template>
+    
+    <xsl:template name="u" as="xs:string" visibility="public">
+      <xsl:param name="in" as="xs:string"/>
+      <xsl:param name="count" as="xs:integer"/>
+      <xsl:call-template name="t">
+         <xsl:with-param name="in" select="$in"/>
+         <xsl:with-param name="count" select="$count"/>
+      </xsl:call-template>
+    </xsl:template>
+    
+  
+  
+</xsl:package>   
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/decl/override/override-base-v-001.xsl	Tue Mar 24 19:40:30 2015 +0100
@@ -0,0 +1,23 @@
+<xsl:package 
+  name="http://www.w3.org/xslt30tests/override-base-201"
+  package-version="1.0.0"
+  version="3.0"
+  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+  xmlns:xs="http://www.w3.org/2001/XMLSchema"
+  exclude-result-prefixes="xs">
+  
+  
+  
+    <xsl:variable name="v-public" as="xs:integer" visibility="public" select="$v-private - 1"/>
+    
+    <xsl:variable name="v-private" as="xs:integer" visibility="private" select="$v-base"/>
+    
+    <xsl:variable name="v-final" as="xs:integer" visibility="final" select="3"/>
+    
+    <xsl:variable name="v-abstract" as="xs:integer" visibility="abstract" />
+    
+    <xsl:variable name="v-base" as="xs:integer" visibility="public" select="2"/>
+    
+  
+  
+</xsl:package>   
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/decl/override/override-f-001.xsl	Tue Mar 24 19:40:30 2015 +0100
@@ -0,0 +1,43 @@
+<xsl:package 
+  name="http://www.w3.org/xslt30tests/override-001"
+  package-version="1.0.1"
+  version="3.0"
+  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+  xmlns:xs="http://www.w3.org/2001/XMLSchema"
+  xmlns:p="http://www.w3.org/xslt30tests/override-base-001"
+  exclude-result-prefixes="xs p">
+  
+  <xsl:use-package
+    name="http://www.w3.org/xslt30tests/override-base-001"
+    package-version="1.0.0">
+  
+    <xsl:override>
+  
+      <xsl:function name="p:f" as="xs:string" visibility="public">
+        <xsl:param name="in" as="xs:string"/>
+        <xsl:param name="count" as="xs:integer"/>
+        <xsl:sequence select="'*' || p:f-final($in, $count) || '*'"/>
+      </xsl:function>
+    
+      <xsl:function name="p:f-abstract" as="xs:string" visibility="public">
+        <xsl:param name="in" as="xs:string"/>
+        <xsl:param name="count" as="xs:integer"/>
+        <xsl:sequence select="'abcd'"/>
+      </xsl:function>
+      
+    </xsl:override>  
+    
+  </xsl:use-package>
+  
+ 
+   
+    <xsl:template name="main">
+      <xsl:choose>
+        <xsl:when test="p:f('x', 5) = '*xxxxx*'"><ok/></xsl:when>
+        <xsl:otherwise><wrong value="{p:f('x', 5)}"/></xsl:otherwise>
+      </xsl:choose>
+    </xsl:template>
+    
+ 
+  
+</xsl:package>   
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/decl/override/override-f-002.xsl	Tue Mar 24 19:40:30 2015 +0100
@@ -0,0 +1,36 @@
+<xsl:package 
+  name="http://www.w3.org/xslt30tests/use-package-004"
+  package-version="1.0.0"
+  version="3.0"
+  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+  xmlns:xs="http://www.w3.org/2001/XMLSchema"
+  xmlns:p="http://www.w3.org/xslt30tests/override-base-001"
+  exclude-result-prefixes="xs p">
+  
+  <xsl:use-package
+    name="http://www.w3.org/xslt30tests/override-base-001"
+    package-version="1.0.0">
+    <xsl:override>
+      <xsl:function name="p:f" as="xs:string" visibility="public">
+        <xsl:param name="in" as="xs:string"/>
+        <xsl:param name="count" as="xs:integer"/>
+        <xsl:sequence select="string-join((1 to $count)!$in, ',')"/>
+      </xsl:function>
+    </xsl:override>
+  </xsl:use-package>
+
+  
+ 
+  
+    <!-- Call public function defined in used package -->
+   
+    <xsl:template name="main">
+      <xsl:choose>
+        <xsl:when test="p:f('x', 5) = 'x,x,x,x,x'"><ok/></xsl:when>
+        <xsl:otherwise><wrong value="{p:f('x', 5)}"/></xsl:otherwise>
+      </xsl:choose>
+    </xsl:template>
+    
+ 
+  
+</xsl:package>   
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/decl/override/override-f-003.xsl	Tue Mar 24 19:40:30 2015 +0100
@@ -0,0 +1,36 @@
+<xsl:package 
+  name="http://www.w3.org/xslt30tests/override-003"
+  package-version="1.0.0"
+  version="3.0"
+  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+  xmlns:xs="http://www.w3.org/2001/XMLSchema"
+  xmlns:p="http://www.w3.org/xslt30tests/override-base-001"
+  exclude-result-prefixes="xs p">
+  
+  <xsl:use-package
+    name="http://www.w3.org/xslt30tests/override-base-001"
+    package-version="1.0.0">
+    <xsl:override>
+      <xsl:function name="p:f" as="xs:integer" visibility="public">
+        <xsl:param name="in" as="xs:integer"/>
+        <xsl:param name="count" as="xs:integer"/>
+        <xsl:sequence select="()"/>
+      </xsl:function>
+    </xsl:override>
+  </xsl:use-package>
+
+  
+ 
+  
+    <!-- Call public function defined in used package -->
+   
+    <xsl:template name="main">
+      <xsl:choose>
+        <xsl:when test="p:f('5', 5) = 'xxxxx'"><ok/></xsl:when>
+        <xsl:otherwise><wrong value="p:f('5', 5)"/></xsl:otherwise>
+      </xsl:choose>
+    </xsl:template>
+    
+ 
+  
+</xsl:package>   
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/decl/override/override-f-004.xsl	Tue Mar 24 19:40:30 2015 +0100
@@ -0,0 +1,35 @@
+<xsl:package 
+  name="http://www.w3.org/xslt30tests/override-004"
+  package-version="1.0.0"
+  version="3.0"
+  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+  xmlns:xs="http://www.w3.org/2001/XMLSchema"
+  xmlns:p="http://www.w3.org/xslt30tests/use-package-base-001"
+  exclude-result-prefixes="xs p">
+  
+  <xsl:use-package
+    name="http://www.w3.org/xslt30tests/override-base-001"
+    package-version="1.0.0">
+    <xsl:override>
+      <xsl:function name="p:fa" as="xs:string" visibility="public">
+        <xsl:param name="in" as="xs:string"/>
+        <xsl:param name="count" as="xs:integer"/>
+        <xsl:sequence select="string-join((1 to $count)!$in, ',')"/>
+      </xsl:function>
+    </xsl:override>
+  </xsl:use-package>
+
+  
+  
+    <!-- Call public function defined in used package -->
+   
+    <xsl:template name="main">
+      <xsl:choose>
+        <xsl:when test="p:f('x', 5) = 'xxxxx'"><ok/></xsl:when>
+        <xsl:otherwise><wrong value="p:f('x', 5)"/></xsl:otherwise>
+      </xsl:choose>
+    </xsl:template>
+    
+ 
+  
+</xsl:package>   
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/decl/override/override-f-005.xsl	Tue Mar 24 19:40:30 2015 +0100
@@ -0,0 +1,38 @@
+<xsl:package 
+  name="http://www.w3.org/xslt30tests/override-base-001"
+  package-version="1.0.0"
+  version="3.0"
+  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+  xmlns:xs="http://www.w3.org/2001/XMLSchema"
+  xmlns:p="http://www.w3.org/xslt30tests/override-base-001"
+  exclude-result-prefixes="xs p">
+  
+  <!-- disallow text as a child of xsl:override -->
+  
+  <xsl:use-package
+    name="http://www.w3.org/xslt30tests/override-base-001"
+    package-version="1.0.0">
+  
+    <xsl:override>
+  
+      <xsl:function name="p:f" as="xs:string" visibility="public">
+        <xsl:param name="in" as="xs:string"/>
+        <xsl:param name="count" as="xs:integer"/>
+        <xsl:sequence select="'*' || p:f-final($in, $count) || '*'"/>
+      </xsl:function>
+    
+		Gotcha!
+      
+    </xsl:override>  
+    
+  </xsl:use-package>
+  
+ 
+   
+    <xsl:template name="main">
+      <out/>
+    </xsl:template>
+    
+  
+  
+</xsl:package>   
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/decl/override/override-f-006.xsl	Tue Mar 24 19:40:30 2015 +0100
@@ -0,0 +1,38 @@
+<xsl:package 
+  name="http://www.w3.org/xslt30tests/override-base-001"
+  package-version="1.0.0"
+  version="3.0"
+  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+  xmlns:xs="http://www.w3.org/2001/XMLSchema"
+  xmlns:p="http://www.w3.org/xslt30tests/override-base-001"
+  exclude-result-prefixes="xs p">
+  
+  <!-- disallow LRE as a child of xsl:override (even in a namespace) -->
+  
+  <xsl:use-package
+    name="http://www.w3.org/xslt30tests/override-base-001"
+    package-version="1.0.0">
+  
+    <xsl:override>
+  
+      <xsl:function name="p:f" as="xs:string" visibility="public">
+        <xsl:param name="in" as="xs:string"/>
+        <xsl:param name="count" as="xs:integer"/>
+        <xsl:sequence select="'*' || p:f-final($in, $count) || '*'"/>
+      </xsl:function>
+    
+	  <p:out/>
+      
+    </xsl:override>  
+    
+  </xsl:use-package>
+  
+ 
+   
+    <xsl:template name="main">
+      <out/>
+    </xsl:template>
+    
+ 
+  
+</xsl:package>   
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/decl/override/override-f-007.xsl	Tue Mar 24 19:40:30 2015 +0100
@@ -0,0 +1,38 @@
+<xsl:package 
+  name="http://www.w3.org/xslt30tests/override-base-001"
+  package-version="1.0.0"
+  version="3.0"
+  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+  xmlns:xs="http://www.w3.org/2001/XMLSchema"
+  xmlns:p="http://www.w3.org/xslt30tests/override-base-001"
+  exclude-result-prefixes="xs p">
+  
+  <!-- disallow xsl:override as a child of xsl:override  -->
+  
+  <xsl:use-package
+    name="http://www.w3.org/xslt30tests/override-base-001"
+    package-version="1.0.0">
+  
+    <xsl:override>
+  
+      <xsl:function name="p:f" as="xs:string" visibility="public">
+        <xsl:param name="in" as="xs:string"/>
+        <xsl:param name="count" as="xs:integer"/>
+        <xsl:sequence select="'*' || p:f-final($in, $count) || '*'"/>
+      </xsl:function>
+    
+	  <xsl:override/>
+      
+    </xsl:override>  
+    
+  </xsl:use-package>
+  
+ 
+   
+    <xsl:template name="main">
+      <out/>
+    </xsl:template>
+    
+  
+  
+</xsl:package>   
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/decl/override/override-f-008.xsl	Tue Mar 24 19:40:30 2015 +0100
@@ -0,0 +1,28 @@
+<xsl:package 
+  name="http://www.w3.org/xslt30tests/override-base-001"
+  package-version="1.0.0"
+  version="3.0"
+  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+  xmlns:xs="http://www.w3.org/2001/XMLSchema"
+  xmlns:p="http://www.w3.org/xslt30tests/override-base-001"
+  exclude-result-prefixes="xs p">
+  
+  <!-- empty xsl:override is OK  -->
+  
+  <xsl:use-package
+    name="http://www.w3.org/xslt30tests/override-base-001"
+    package-version="1.0.0">
+  
+    <xsl:override/>
+    
+  </xsl:use-package>
+  
+  
+   
+    <xsl:template name="main">
+      <out/>
+    </xsl:template>
+    
+ 
+  
+</xsl:package>   
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/decl/override/override-f-009.xsl	Tue Mar 24 19:40:30 2015 +0100
@@ -0,0 +1,48 @@
+<xsl:package 
+  name="http://www.w3.org/xslt30tests/override-001"
+  package-version="1.0.1"
+  version="3.0"
+  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+  xmlns:xs="http://www.w3.org/2001/XMLSchema"
+  xmlns:p="http://www.w3.org/xslt30tests/override-base-001"
+  exclude-result-prefixes="xs p">
+  
+  <xsl:use-package
+    name="http://www.w3.org/xslt30tests/override-base-001"
+    package-version="1.0.0">
+  
+    <xsl:override>
+  
+      <xsl:function name="p:f" as="xs:string" visibility="public">
+        <xsl:param name="in" as="xs:string"/>
+        <xsl:param name="count" as="xs:integer"/>
+        <xsl:sequence select="'*' || p:f-final($in, $count) || '*'"/>
+      </xsl:function>
+    
+      <xsl:function name="p:f-abstract" as="xs:string" visibility="public">
+        <xsl:param name="in" as="xs:string"/>
+        <xsl:param name="count" as="xs:integer"/>
+        <xsl:sequence select="'abcd'"/>
+      </xsl:function>
+      
+    </xsl:override>  
+    
+  </xsl:use-package>
+  
+ 
+  
+    <xsl:function name="p:local-function">
+      <xsl:param name="cond" as="xs:boolean"/>
+      <xsl:sequence select="if ($cond) then p:f('x', 5) else p:local-function(true())"/>
+    </xsl:function>
+   
+    <xsl:template name="main">
+      <xsl:choose>
+        <xsl:when test="p:local-function(true()) = '*xxxxx*'"><ok/></xsl:when>
+        <xsl:otherwise><wrong value="{p:local-function(true())}"/></xsl:otherwise>
+      </xsl:choose>
+    </xsl:template>
+    
+ 
+  
+</xsl:package>   
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/decl/override/override-f-010.xsl	Tue Mar 24 19:40:30 2015 +0100
@@ -0,0 +1,45 @@
+<xsl:package 
+  name="http://www.w3.org/xslt30tests/override-001"
+  package-version="1.0.1"
+  version="3.0"
+  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+  xmlns:xs="http://www.w3.org/2001/XMLSchema"
+  xmlns:p="http://www.w3.org/xslt30tests/override-base-001"
+  exclude-result-prefixes="xs p">
+  
+  <xsl:use-package
+    name="http://www.w3.org/xslt30tests/override-base-001"
+    package-version="1.0.0">
+  
+    <xsl:override>
+  
+      <xsl:function name="p:f" as="xs:string" visibility="public">
+        <xsl:param name="in" as="xs:string"/>
+        <xsl:param name="count" as="xs:integer"/>
+        <xsl:sequence select="'*' || p:f-final($in, $count) || '*'"/>
+      </xsl:function>
+    
+      <xsl:function name="p:f-abstract" as="xs:string" visibility="public">
+        <xsl:param name="in" as="xs:string"/>
+        <xsl:param name="count" as="xs:integer"/>
+        <xsl:sequence select="'abcd'"/>
+      </xsl:function>
+      
+    </xsl:override>  
+    
+  </xsl:use-package>
+  
+  
+  
+    <xsl:variable name="v" select="p:f('x', 5)"/>
+   
+    <xsl:template name="main">
+      <xsl:choose>
+        <xsl:when test="$v = '*xxxxx*'"><ok/></xsl:when>
+        <xsl:otherwise><wrong value="{$v}"/></xsl:otherwise>
+      </xsl:choose>
+    </xsl:template>
+    
+ 
+  
+</xsl:package>   
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/decl/override/override-f-011.xsl	Tue Mar 24 19:40:30 2015 +0100
@@ -0,0 +1,52 @@
+<xsl:package 
+  name="http://www.w3.org/xslt30tests/override-001"
+  package-version="1.0.1"
+  version="3.0"
+  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+  xmlns:xs="http://www.w3.org/2001/XMLSchema"
+  xmlns:p="http://www.w3.org/xslt30tests/override-base-001"
+  exclude-result-prefixes="xs p">
+  
+  <xsl:use-package
+    name="http://www.w3.org/xslt30tests/override-base-001"
+    package-version="1.0.0">
+  
+    <xsl:override>
+  
+      <xsl:function name="p:f" as="xs:string" visibility="public">
+        <xsl:param name="in" as="xs:string"/>
+        <xsl:param name="count" as="xs:integer"/>
+        <xsl:sequence select="'*' || p:f-final($in, $count) || '*'"/>
+      </xsl:function>
+    
+      <xsl:function name="p:f-abstract" as="xs:string" visibility="public">
+        <xsl:param name="in" as="xs:string"/>
+        <xsl:param name="count" as="xs:integer"/>
+        <xsl:sequence select="'abcd'"/>
+      </xsl:function>
+      
+    </xsl:override>  
+    
+  </xsl:use-package>
+  
+  
+  
+    <xsl:variable name="g"><a/></xsl:variable>
+    
+    <xsl:template match="a" as="xs:string">
+      <xsl:sequence select="p:f('x', 5)"/>
+    </xsl:template>  
+   
+    <xsl:template name="main">
+      <xsl:variable name="v" as="xs:string">
+        <xsl:apply-templates select="$g//a"/>
+      </xsl:variable>
+      <xsl:choose>
+        <xsl:when test="$v = '*xxxxx*'"><ok/></xsl:when>
+        <xsl:otherwise><wrong value="{$v}"/></xsl:otherwise>
+      </xsl:choose>
+    </xsl:template>
+    
+ 
+  
+</xsl:package>   
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/decl/override/override-f-012.xsl	Tue Mar 24 19:40:30 2015 +0100
@@ -0,0 +1,44 @@
+<xsl:package 
+  name="http://www.w3.org/xslt30tests/override-001"
+  package-version="1.0.1"
+  version="3.0"
+  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+  xmlns:xs="http://www.w3.org/2001/XMLSchema"
+  xmlns:p="http://www.w3.org/xslt30tests/override-base-001"
+  exclude-result-prefixes="xs p">
+  
+  <xsl:use-package
+    name="http://www.w3.org/xslt30tests/override-base-001"
+    package-version="1.0.0">
+  
+    <xsl:override>
+  
+      <xsl:function name="p:f" as="xs:string" visibility="public">
+        <xsl:param name="in" as="xs:string"/>
+        <xsl:param name="count" as="xs:integer"/>
+        <xsl:sequence select="'*' || p:f-final($in, $count) || '*'"/>
+      </xsl:function>
+    
+      <xsl:function name="p:f-abstract" as="xs:string" visibility="public">
+        <xsl:param name="in" as="xs:string"/>
+        <xsl:param name="count" as="xs:integer"/>
+        <xsl:sequence select="'abcd'"/>
+      </xsl:function>
+      
+    </xsl:override>  
+    
+  </xsl:use-package>
+  
+ 
+  
+   
+    <xsl:template name="main">
+      <xsl:choose>
+        <xsl:when test="$p:final-var = '*+++*'"><ok/></xsl:when>
+        <xsl:otherwise><wrong value="{$p:final-var}"/></xsl:otherwise>
+      </xsl:choose>
+    </xsl:template>
+    
+ 
+  
+</xsl:package>   
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/decl/override/override-f-013.xsl	Tue Mar 24 19:40:30 2015 +0100
@@ -0,0 +1,45 @@
+<xsl:package 
+  name="http://www.w3.org/xslt30tests/override-001"
+  package-version="1.0.1"
+  version="3.0"
+  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+  xmlns:xs="http://www.w3.org/2001/XMLSchema"
+  xmlns:p="http://www.w3.org/xslt30tests/override-base-001"
+  exclude-result-prefixes="xs p">
+  
+  <!-- Use a function reference from a used package -->
+  
+  <xsl:use-package
+    name="http://www.w3.org/xslt30tests/override-base-001"
+    package-version="1.0.0">
+  
+    <xsl:override>
+  
+      <xsl:function name="p:f" as="xs:string" visibility="public">
+        <xsl:param name="in" as="xs:string"/>
+        <xsl:param name="count" as="xs:integer"/>
+        <xsl:sequence select="'*' || p:f-final($in, $count) || '*'"/>
+      </xsl:function>
+    
+      <xsl:function name="p:f-abstract" as="xs:string" visibility="public">
+        <xsl:param name="in" as="xs:string"/>
+        <xsl:param name="count" as="xs:integer"/>
+        <xsl:sequence select="'abcd'"/>
+      </xsl:function>
+      
+    </xsl:override>  
+    
+  </xsl:use-package>
+  
+ 
+   
+    <xsl:template name="main">
+      <xsl:choose>
+        <xsl:when test="$p:f-ref('x', 5) = '*xxxxx*'"><ok/></xsl:when>
+        <xsl:otherwise><wrong value="{$p:f-ref('x', 5)}"/></xsl:otherwise>
+      </xsl:choose>
+    </xsl:template>
+    
+ 
+  
+</xsl:package>   
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/decl/override/override-f-014.xsl	Tue Mar 24 19:40:30 2015 +0100
@@ -0,0 +1,45 @@
+<xsl:package 
+  name="http://www.w3.org/xslt30tests/override-001"
+  package-version="1.0.1"
+  version="3.0"
+  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+  xmlns:xs="http://www.w3.org/2001/XMLSchema"
+  xmlns:p="http://www.w3.org/xslt30tests/override-base-001"
+  exclude-result-prefixes="xs p">
+  
+  <!-- Use a function reference to a private function from a used package -->
+  
+  <xsl:use-package
+    name="http://www.w3.org/xslt30tests/override-base-001"
+    package-version="1.0.0">
+  
+    <xsl:override>
+  
+      <xsl:function name="p:f" as="xs:string" visibility="public">
+        <xsl:param name="in" as="xs:string"/>
+        <xsl:param name="count" as="xs:integer"/>
+        <xsl:sequence select="'*' || p:f-final($in, $count) || '*'"/>
+      </xsl:function>
+    
+      <xsl:function name="p:f-abstract" as="xs:string" visibility="public">
+        <xsl:param name="in" as="xs:string"/>
+        <xsl:param name="count" as="xs:integer"/>
+        <xsl:sequence select="'abcd'"/>
+      </xsl:function>
+      
+    </xsl:override>  
+    
+  </xsl:use-package>
+  
+ 
+   
+    <xsl:template name="main">
+      <xsl:choose>
+        <xsl:when test="$p:f-private-ref('x', 5) = 'xxxxx'"><ok/></xsl:when>
+        <xsl:otherwise><wrong value="{$p:f-private-ref('x', 5)}"/></xsl:otherwise>
+      </xsl:choose>
+    </xsl:template>
+    
+ 
+  
+</xsl:package>   
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/decl/override/override-f-015.xsl	Tue Mar 24 19:40:30 2015 +0100
@@ -0,0 +1,45 @@
+<xsl:package 
+  name="http://www.w3.org/xslt30tests/override-001"
+  package-version="1.0.1"
+  version="3.0"
+  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+  xmlns:xs="http://www.w3.org/2001/XMLSchema"
+  xmlns:p="http://www.w3.org/xslt30tests/override-base-001"
+  exclude-result-prefixes="xs p">
+  
+  <!-- Use a partial application of an overridden function -->
+  
+  <xsl:use-package
+    name="http://www.w3.org/xslt30tests/override-base-001"
+    package-version="1.0.0">
+  
+    <xsl:override>
+  
+      <xsl:function name="p:f" as="xs:string" visibility="public">
+        <xsl:param name="in" as="xs:string"/>
+        <xsl:param name="count" as="xs:integer"/>
+        <xsl:sequence select="'*' || p:f-final($in, $count) || '*'"/>
+      </xsl:function>
+    
+      <xsl:function name="p:f-abstract" as="xs:string" visibility="public">
+        <xsl:param name="in" as="xs:string"/>
+        <xsl:param name="count" as="xs:integer"/>
+        <xsl:sequence select="'abcd'"/>
+      </xsl:function>
+      
+    </xsl:override>  
+    
+  </xsl:use-package>
+  
+ 
+   
+    <xsl:template name="main">
+      <xsl:choose>
+        <xsl:when test="$p:f-partial('o') = '*ooo*'"><ok/></xsl:when>
+        <xsl:otherwise><wrong value="{$p:f-partial('o')}"/></xsl:otherwise>
+      </xsl:choose>
+    </xsl:template>
+    
+ 
+  
+</xsl:package>   
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/decl/override/override-f-016.xsl	Tue Mar 24 19:40:30 2015 +0100
@@ -0,0 +1,43 @@
+<xsl:package 
+  name="http://www.w3.org/xslt30tests/override-001"
+  package-version="1.0.1"
+  version="3.0"
+  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+  xmlns:xs="http://www.w3.org/2001/XMLSchema"
+  xmlns:p="http://www.w3.org/xslt30tests/override-base-001"
+  exclude-result-prefixes="xs p">
+  
+  <xsl:use-package
+    name="http://www.w3.org/xslt30tests/override-base-001"
+    package-version="1.0.0">
+  
+    <xsl:override>
+  
+      <xsl:function name="p:f" as="xs:string" visibility="public">
+        <xsl:param name="in" as="xs:string"/>
+        <xsl:param name="count" as="xs:integer"/>
+        <xsl:sequence select="'*' || xsl:original($in, $count) || '*'"/>
+      </xsl:function>
+    
+      <xsl:function name="p:f-abstract" as="xs:string" visibility="public">
+        <xsl:param name="in" as="xs:string"/>
+        <xsl:param name="count" as="xs:integer"/>
+        <xsl:sequence select="'abcd'"/>
+      </xsl:function>
+      
+    </xsl:override>  
+    
+  </xsl:use-package>
+  
+ 
+   
+    <xsl:template name="main">
+      <xsl:choose>
+        <xsl:when test="p:f('x', 5) = '*xxxxx*'"><ok/></xsl:when>
+        <xsl:otherwise><wrong value="{p:f('x', 5)}"/></xsl:otherwise>
+      </xsl:choose>
+    </xsl:template>
+    
+ 
+  
+</xsl:package>   
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/decl/override/override-f-017.xsl	Tue Mar 24 19:40:30 2015 +0100
@@ -0,0 +1,49 @@
+<xsl:package 
+  name="http://www.w3.org/xslt30tests/override-001"
+  package-version="1.0.1"
+  version="3.0"
+  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+  xmlns:xs="http://www.w3.org/2001/XMLSchema"
+  xmlns:p="http://www.w3.org/xslt30tests/override-base-001"
+  exclude-result-prefixes="xs p">
+  
+  <xsl:use-package
+    name="http://www.w3.org/xslt30tests/override-base-001"
+    package-version="1.0.0">
+  
+    <xsl:override>
+  
+      <xsl:function name="p:f" as="xs:string" visibility="public">
+        <xsl:param name="in" as="xs:string"/>
+        <xsl:param name="count" as="xs:integer"/>
+        <xsl:variable name="orig" as="function(*)" select="xsl:original#2"/>
+        <xsl:sequence select="p:action($orig, $in, $count)"/>
+      </xsl:function>
+    
+      <xsl:function name="p:f-abstract" as="xs:string" visibility="public">
+        <xsl:param name="in" as="xs:string"/>
+        <xsl:param name="count" as="xs:integer"/>
+        <xsl:sequence select="'abcd'"/>
+      </xsl:function>
+      
+    </xsl:override>  
+    
+  </xsl:use-package>
+  
+    <xsl:function name="p:action">
+      <xsl:param name="f" as="function(*)"/>
+      <xsl:param name="in" as="xs:string"/>
+      <xsl:param name="count" as="xs:integer"/>
+      <xsl:sequence select="'*' || $f($in, $count) || '*'"/>
+    </xsl:function>
+   
+    <xsl:template name="main">
+      <xsl:choose>
+        <xsl:when test="p:f('x', 5) = '*xxxxx*'"><ok/></xsl:when>
+        <xsl:otherwise><wrong value="{p:f('x', 5)}"/></xsl:otherwise>
+      </xsl:choose>
+    </xsl:template>
+    
+ 
+  
+</xsl:package>   
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/decl/override/override-f-018.xsl	Tue Mar 24 19:40:30 2015 +0100
@@ -0,0 +1,48 @@
+<xsl:package 
+  name="http://www.w3.org/xslt30tests/override-001"
+  package-version="1.0.1"
+  version="3.0"
+  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+  xmlns:xs="http://www.w3.org/2001/XMLSchema"
+  xmlns:p="http://www.w3.org/xslt30tests/override-base-001"
+  exclude-result-prefixes="xs p">
+  
+  <xsl:use-package
+    name="http://www.w3.org/xslt30tests/override-base-001"
+    package-version="1.0.0">
+  
+    <xsl:override>
+  
+      <xsl:function name="p:f" as="xs:string" visibility="public">
+        <xsl:param name="in" as="xs:string"/>
+        <xsl:param name="count" as="xs:integer"/>
+        <xsl:variable name="orig" as="function(*)" select="xsl:original(?, $count)"/>
+        <xsl:sequence select="p:action($orig, $in)"/>
+      </xsl:function>
+    
+      <xsl:function name="p:f-abstract" as="xs:string" visibility="public">
+        <xsl:param name="in" as="xs:string"/>
+        <xsl:param name="count" as="xs:integer"/>
+        <xsl:sequence select="'abcd'"/>
+      </xsl:function>
+      
+    </xsl:override>  
+    
+  </xsl:use-package>
+  
+    <xsl:function name="p:action">
+      <xsl:param name="f" as="function(*)"/>
+      <xsl:param name="in" as="xs:string"/>
+      <xsl:sequence select="'*' || $f($in) || '*'"/>
+    </xsl:function>
+   
+    <xsl:template name="main">
+      <xsl:choose>
+        <xsl:when test="p:f('x', 5) = '*xxxxx*'"><ok/></xsl:when>
+        <xsl:otherwise><wrong value="{p:f('x', 5)}"/></xsl:otherwise>
+      </xsl:choose>
+    </xsl:template>
+    
+ 
+  
+</xsl:package>   
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/decl/override/override-misc-001.xsl	Tue Mar 24 19:40:30 2015 +0100
@@ -0,0 +1,34 @@
+<xsl:package 
+  name="http://www.w3.org/xslt30tests/override-001"
+  package-version="1.0.1"
+  version="3.0"
+  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+  xmlns:xs="http://www.w3.org/2001/XMLSchema"
+  xmlns:p="http://www.w3.org/xslt30tests/override-base-001"
+  exclude-result-prefixes="xs p">
+  
+  <xsl:variable name="data"><e/><f/><g/></xsl:variable>
+  
+  <xsl:use-package
+    name="http://www.w3.org/xslt30tests/override-base-901"
+    package-version="1.0.0">
+    
+    <!-- Cannot override a key -->
+  
+    <xsl:override>
+  
+      <xsl:key name="k" match="comment()" use="."/>
+      
+    </xsl:override>  
+    
+  </xsl:use-package>
+  
+ 
+   
+    <xsl:template name="main">
+      <out><xsl:value-of select="$data/key('k', 23)"/></out>
+    </xsl:template>
+    
+ 
+  
+</xsl:package>   
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/decl/override/override-misc-002.xsl	Tue Mar 24 19:40:30 2015 +0100
@@ -0,0 +1,36 @@
+<xsl:package 
+  name="http://www.w3.org/xslt30tests/override-001"
+  package-version="1.0.1"
+  version="3.0"
+  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+  xmlns:xs="http://www.w3.org/2001/XMLSchema"
+  xmlns:p="http://www.w3.org/xslt30tests/override-base-001"
+  exclude-result-prefixes="xs p">
+  
+  <xsl:variable name="data"><e/><f/><g/></xsl:variable>
+  
+  <xsl:use-package
+    name="http://www.w3.org/xslt30tests/override-base-901"
+    package-version="1.0.0">
+    
+    <!-- Cannot override an accumulator -->
+  
+    <xsl:override>
+  
+      <xsl:accumulator name="ac" initial-value="17">
+        <xsl:accumulator-rule match="x" new-value="$value * 2"/>
+      </xsl:accumulator>
+      
+    </xsl:override>  
+    
+  </xsl:use-package>
+  
+ 
+   
+    <xsl:template name="main">
+      <out><xsl:value-of select="$data/accumulator-after('ac')"/></out>
+    </xsl:template>
+    
+ 
+  
+</xsl:package>   
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/decl/override/override-misc-003.xsl	Tue Mar 24 19:40:30 2015 +0100
@@ -0,0 +1,34 @@
+<xsl:package 
+  name="http://www.w3.org/xslt30tests/override-001"
+  package-version="1.0.1"
+  version="3.0"
+  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+  xmlns:xs="http://www.w3.org/2001/XMLSchema"
+  xmlns:p="http://www.w3.org/xslt30tests/override-base-001"
+  exclude-result-prefixes="xs p">
+  
+  <xsl:variable name="data"><e/><f/><g/></xsl:variable>
+  
+  <xsl:use-package
+    name="http://www.w3.org/xslt30tests/override-base-901"
+    package-version="1.0.0">
+    
+    <!-- Cannot override a decimal format -->
+  
+    <xsl:override>
+  
+      <xsl:decimal-format name="d" NaN="0"/>
+      
+    </xsl:override>  
+    
+  </xsl:use-package>
+  
+ 
+   
+    <xsl:template name="main">
+      <out><xsl:value-of select="format-number(17, '999', 'd')"/></out>
+    </xsl:template>
+    
+ 
+  
+</xsl:package>   
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/decl/override/override-misc-004.xsl	Tue Mar 24 19:40:30 2015 +0100
@@ -0,0 +1,31 @@
+<xsl:package 
+  name="http://www.w3.org/xslt30tests/override-001"
+  package-version="1.0.1"
+  version="3.0"
+  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+  xmlns:xs="http://www.w3.org/2001/XMLSchema"
+  xmlns:p="http://www.w3.org/xslt30tests/override-base-001"
+  exclude-result-prefixes="xs p">
+  
+  <xsl:variable name="data"><e>x</e><x>y</x><g>z</g></xsl:variable>
+  
+  <xsl:use-package
+    name="http://www.w3.org/xslt30tests/override-base-901"
+    package-version="1.0.0"/>
+    
+  <!-- Keys in different packages can share the same name -->
+  
+  <xsl:key name="k" match="*" use="name()"/>
+   
+    <xsl:template name="main">
+      <out>
+        <a><xsl:copy-of select="$data/key('k', 'x')"/></a>
+        <xsl:for-each select="$data">
+          <xsl:call-template name="k"/>
+        </xsl:for-each>
+      </out>
+    </xsl:template>
+    
+ 
+  
+</xsl:package>   
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/decl/override/override-misc-005.xsl	Tue Mar 24 19:40:30 2015 +0100
@@ -0,0 +1,33 @@
+<xsl:package 
+  name="http://www.w3.org/xslt30tests/override-001"
+  package-version="1.0.1"
+  version="3.0"
+  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+  xmlns:xs="http://www.w3.org/2001/XMLSchema"
+  xmlns:p="http://www.w3.org/xslt30tests/override-base-001"
+  exclude-result-prefixes="xs p">
+  
+  <xsl:variable name="data"><e>x</e><x>y</x><g>z</g></xsl:variable>
+  
+  <xsl:use-package
+    name="http://www.w3.org/xslt30tests/override-base-901"
+    package-version="1.0.0"/>
+    
+  <!-- Accumulators in different packages can share the same name -->
+  
+  <xsl:accumulator name="ac" initial-value="0">
+    <xsl:accumulator-rule match="*" new-value="$value - 1"></xsl:accumulator-rule>
+  </xsl:accumulator>
+   
+    <xsl:template name="main">
+      <xsl:for-each select="$data">
+        <out>
+          <a><xsl:copy-of select="accumulator-after('ac')"/></a>
+          <xsl:call-template name="ac"/>         
+        </out>
+      </xsl:for-each>
+    </xsl:template>
+    
+ 
+  
+</xsl:package>   
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/decl/override/override-misc-006.xsl	Tue Mar 24 19:40:30 2015 +0100
@@ -0,0 +1,31 @@
+<xsl:package 
+  name="http://www.w3.org/xslt30tests/override-001"
+  package-version="1.0.1"
+  version="3.0"
+  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+  xmlns:xs="http://www.w3.org/2001/XMLSchema"
+  xmlns:p="http://www.w3.org/xslt30tests/override-base-001"
+  exclude-result-prefixes="xs p">
+  
+  <xsl:variable name="data"><e>x</e><x>y</x><g>z</g></xsl:variable>
+  
+  <xsl:use-package
+    name="http://www.w3.org/xslt30tests/override-base-901"
+    package-version="1.0.0"/>
+    
+  <!-- Decimal formats in different packages can share the same name -->
+  
+  <xsl:decimal-format name="d" grouping-separator="!" decimal-separator=":"/>
+   
+    <xsl:template name="main">
+      <xsl:for-each select="$data">
+        <out>
+          <a><xsl:value-of select="format-number(123456.78, '0!000:00', 'd')"/></a>
+          <xsl:call-template name="d"/>         
+        </out>
+      </xsl:for-each>
+    </xsl:template>
+    
+ 
+  
+</xsl:package>   
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/decl/override/override-misc-007.xsl	Tue Mar 24 19:40:30 2015 +0100
@@ -0,0 +1,36 @@
+<xsl:package 
+  name="http://www.w3.org/xslt30tests/override-001"
+  package-version="1.0.1"
+  version="3.0"
+  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+  xmlns:xs="http://www.w3.org/2001/XMLSchema"
+  xmlns:p="http://www.w3.org/xslt30tests/override-base-misc-002"
+  exclude-result-prefixes="xs p">
+  
+  
+  <xsl:use-package
+    name="http://www.w3.org/xslt30tests/override-base-misc-002"
+    package-version="1.0.0"/>
+    
+  <!-- Streamed accumulators in different packages can share the same name -->
+  
+  <xsl:accumulator name="ac" initial-value="0" streamable="yes">
+    <xsl:accumulator-rule match="*" new-value="$value - 1"></xsl:accumulator-rule>
+  </xsl:accumulator>
+  
+  <xsl:template name="use-this" visibility="public">
+    <xsl:stream href="../accumulator/books.xml" use-accumulators="ac">
+      <b><count nodes="{count(//*)}"/><acc value="{accumulator-after('ac')}"/></b>
+    </xsl:stream>  
+  </xsl:template>
+   
+    <xsl:template name="main">
+        <out>
+          <xsl:call-template name="use-base"/>
+          <xsl:call-template name="use-this"/>
+        </out>   
+    </xsl:template>
+    
+ 
+  
+</xsl:package>   
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/decl/override/override-t-001.xsl	Tue Mar 24 19:40:30 2015 +0100
@@ -0,0 +1,52 @@
+<xsl:package 
+  name="http://www.w3.org/xslt30tests/override-101"
+  package-version="1.0.0"
+  version="3.0"
+  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+  xmlns:xs="http://www.w3.org/2001/XMLSchema"
+  xmlns:p="http://www.w3.org/xslt30tests/override-base-101"
+  exclude-result-prefixes="xs p">
+  
+  <xsl:use-package
+    name="http://www.w3.org/xslt30tests/override-base-101"
+    package-version="1.0.0">
+  
+    <xsl:override>
+  
+      <xsl:template name="t" as="xs:string" visibility="public">
+        <xsl:param name="in" as="xs:string"/>
+        <xsl:param name="count" as="xs:integer"/>
+        <xsl:value-of>
+          <xsl:text>*</xsl:text>
+          <xsl:call-template name="t-final">
+            <xsl:with-param name="in" select="$in"/>
+            <xsl:with-param name="count" select="$count"/>
+          </xsl:call-template>
+          <xsl:text>*</xsl:text>
+        </xsl:value-of>
+      </xsl:template>
+    
+      <xsl:template name="t-abstract" as="xs:string" visibility="public">
+        <xsl:param name="in" as="xs:string"/>
+        <xsl:param name="count" as="xs:integer"/>
+        <xsl:sequence select="'abcd'"/>
+      </xsl:template>
+      
+    </xsl:override>  
+    
+  </xsl:use-package>
+  
+ 
+   
+    <xsl:template name="main">
+    <out>
+      <xsl:call-template name="t">
+            <xsl:with-param name="in" select="'x'"/>
+            <xsl:with-param name="count" select="5"/>
+      </xsl:call-template>
+    </out>  
+    </xsl:template>
+    
+
+  
+</xsl:package>   
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/decl/override/override-t-002.xsl	Tue Mar 24 19:40:30 2015 +0100
@@ -0,0 +1,54 @@
+<xsl:package 
+  name="http://www.w3.org/xslt30tests/override-101"
+  package-version="1.0.0"
+  version="3.0"
+  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+  xmlns:xs="http://www.w3.org/2001/XMLSchema"
+  xmlns:p="http://www.w3.org/xslt30tests/override-base-101"
+  exclude-result-prefixes="xs p">
+  
+  <xsl:use-package
+    name="http://www.w3.org/xslt30tests/override-base-101"
+    package-version="1.0.0">
+  
+    <xsl:override>
+  
+      <xsl:template name="t" as="xs:string" visibility="public">
+        <xsl:param name="in" as="xs:string"/>
+        <xsl:param name="count" as="xs:integer"/>
+        <xsl:value-of>
+          <xsl:text>*</xsl:text>
+          <xsl:call-template name="t-final">
+            <xsl:with-param name="in" select="$in"/>
+            <xsl:with-param name="count" select="$count"/>
+          </xsl:call-template>
+          <xsl:text>*</xsl:text>
+        </xsl:value-of>
+      </xsl:template>
+    
+      <xsl:template name="t-abstract" as="xs:string" visibility="public">
+        <xsl:param name="in" as="xs:string"/>
+        <xsl:param name="count" as="xs:integer"/>
+        <xsl:sequence select="'abcd'"/>
+      </xsl:template>
+      
+    </xsl:override>  
+    
+  </xsl:use-package>
+  
+  
+  
+    <!-- Demonstrate that the named template u in the base package is rebound to the declaration of t in this package -->
+   
+    <xsl:template name="main">
+    <out>
+      <xsl:call-template name="u">
+            <xsl:with-param name="in" select="'x'"/>
+            <xsl:with-param name="count" select="5"/>
+      </xsl:call-template>
+    </out>  
+    </xsl:template>
+    
+ 
+  
+</xsl:package>   
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/decl/override/override-t-003.xsl	Tue Mar 24 19:40:30 2015 +0100
@@ -0,0 +1,49 @@
+<xsl:package 
+  name="http://www.w3.org/xslt30tests/override-103"
+  package-version="1.0.0"
+  version="3.0"
+  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+  xmlns:xs="http://www.w3.org/2001/XMLSchema"
+  xmlns:p="http://www.w3.org/xslt30tests/override-base-101"
+  exclude-result-prefixes="xs p">
+  
+  <xsl:use-package
+    name="http://www.w3.org/xslt30tests/override-base-101"
+    package-version="1.0.0">
+  
+    <xsl:override>
+  
+      <xsl:template name="t" as="xs:string" visibility="public">
+        <xsl:param name="in" as="xs:string"/>
+        <xsl:param name="count" as="xs:integer"/>
+        <xsl:value-of>
+          <xsl:text>*</xsl:text>
+          <xsl:call-template name="t-abstract">
+            <xsl:with-param name="in" select="$in"/>
+            <xsl:with-param name="count" select="$count"/>
+          </xsl:call-template>
+          <xsl:text>*</xsl:text>
+        </xsl:value-of>
+      </xsl:template>
+    
+
+    </xsl:override>  
+    
+  </xsl:use-package>
+  
+  
+  
+    <!-- Demonstrate that the named template u in the base package is rebound to the declaration of t in this package -->
+   
+    <xsl:template name="main">
+    <out>
+      <xsl:call-template name="u">
+            <xsl:with-param name="in" select="'x'"/>
+            <xsl:with-param name="count" select="5"/>
+      </xsl:call-template>
+    </out>  
+    </xsl:template>
+    
+  
+  
+</xsl:package>   
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/decl/override/override-t-004.xsl	Tue Mar 24 19:40:30 2015 +0100
@@ -0,0 +1,54 @@
+<xsl:package 
+  name="http://www.w3.org/xslt30tests/override-101"
+  package-version="1.0.0"
+  version="3.0"
+  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+  xmlns:xs="http://www.w3.org/2001/XMLSchema"
+  xmlns:p="http://www.w3.org/xslt30tests/override-base-101"
+  exclude-result-prefixes="xs p">
+  
+  <xsl:use-package
+    name="http://www.w3.org/xslt30tests/override-base-101"
+    package-version="1.0.0">
+  
+    <xsl:override>
+    
+      <!-- illegal override, types do not match -->
+  
+      <xsl:template name="t" as="xs:string" visibility="public">
+        <xsl:param name="in" as="xs:string"/>
+        <xsl:param name="count" as="xs:decimal"/>
+        <xsl:value-of>
+          <xsl:text>*</xsl:text>
+          <xsl:call-template name="t-final">
+            <xsl:with-param name="in" select="$in"/>
+            <xsl:with-param name="count" select="$count"/>
+          </xsl:call-template>
+          <xsl:text>*</xsl:text>
+        </xsl:value-of>
+      </xsl:template>
+    
+      <xsl:template name="t-abstract" as="xs:string" visibility="public">
+        <xsl:param name="in" as="xs:string"/>
+        <xsl:param name="count" as="xs:integer"/>
+        <xsl:sequence select="'abcd'"/>
+      </xsl:template>
+      
+    </xsl:override>  
+    
+  </xsl:use-package>
+  
+ 
+   
+    <xsl:template name="main">
+    <out>
+      <xsl:call-template name="t">
+            <xsl:with-param name="in" select="'x'"/>
+            <xsl:with-param name="count" select="5"/>
+      </xsl:call-template>
+    </out>  
+    </xsl:template>
+    
+
+  
+</xsl:package>   
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/decl/override/override-t-005.xsl	Tue Mar 24 19:40:30 2015 +0100
@@ -0,0 +1,55 @@
+<xsl:package 
+  name="http://www.w3.org/xslt30tests/override-101"
+  package-version="1.0.0"
+  version="3.0"
+  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+  xmlns:xs="http://www.w3.org/2001/XMLSchema"
+  xmlns:p="http://www.w3.org/xslt30tests/override-base-101"
+  exclude-result-prefixes="xs p">
+  
+  <xsl:use-package
+    name="http://www.w3.org/xslt30tests/override-base-101"
+    package-version="1.0.0">
+  
+    <xsl:override>
+    
+      <!-- illegal override, context item types do not match -->
+  
+      <xsl:template name="t" as="xs:string" visibility="public">
+        <xsl:context-item as="xs:anyURI"/>
+        <xsl:param name="in" as="xs:string"/>
+        <xsl:param name="count" as="xs:integer"/>
+        <xsl:value-of>
+          <xsl:text>*</xsl:text>
+          <xsl:call-template name="t-final">
+            <xsl:with-param name="in" select="$in"/>
+            <xsl:with-param name="count" select="$count"/>
+          </xsl:call-template>
+          <xsl:text>*</xsl:text>
+        </xsl:value-of>
+      </xsl:template>
+    
+      <xsl:template name="t-abstract" as="xs:string" visibility="public">
+        <xsl:param name="in" as="xs:string"/>
+        <xsl:param name="count" as="xs:integer"/>
+        <xsl:sequence select="'abcd'"/>
+      </xsl:template>
+      
+    </xsl:override>  
+    
+  </xsl:use-package>
+  
+ 
+   
+    <xsl:template name="main">
+    <out>
+      <xsl:call-template name="t">
+            <xsl:with-param name="in" select="'x'"/>
+            <xsl:with-param name="count" select="5"/>
+      </xsl:call-template>
+    </out>  
+    </xsl:template>
+    
+
+  
+</xsl:package>   
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/decl/override/override-t-006.xsl	Tue Mar 24 19:40:30 2015 +0100
@@ -0,0 +1,55 @@
+<xsl:package 
+  name="http://www.w3.org/xslt30tests/override-101"
+  package-version="1.0.0"
+  version="3.0"
+  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+  xmlns:xs="http://www.w3.org/2001/XMLSchema"
+  xmlns:p="http://www.w3.org/xslt30tests/override-base-101"
+  exclude-result-prefixes="xs p">
+  
+  <xsl:use-package
+    name="http://www.w3.org/xslt30tests/override-base-101"
+    package-version="1.0.0">
+  
+    <xsl:override>
+    
+      <!-- illegal override, context item use does not match -->
+  
+      <xsl:template name="t" as="xs:string" visibility="public">
+        <xsl:context-item use="absent"/>
+        <xsl:param name="in" as="xs:string"/>
+        <xsl:param name="count" as="xs:integer"/>
+        <xsl:value-of>
+          <xsl:text>*</xsl:text>
+          <xsl:call-template name="t-final">
+            <xsl:with-param name="in" select="$in"/>
+            <xsl:with-param name="count" select="$count"/>
+          </xsl:call-template>
+          <xsl:text>*</xsl:text>
+        </xsl:value-of>
+      </xsl:template>
+    
+      <xsl:template name="t-abstract" as="xs:string" visibility="public">
+        <xsl:param name="in" as="xs:string"/>
+        <xsl:param name="count" as="xs:integer"/>
+        <xsl:sequence select="'abcd'"/>
+      </xsl:template>
+      
+    </xsl:override>  
+    
+  </xsl:use-package>
+  
+ 
+   
+    <xsl:template name="main">
+    <out>
+      <xsl:call-template name="t">
+            <xsl:with-param name="in" select="'x'"/>
+            <xsl:with-param name="count" select="5"/>
+      </xsl:call-template>
+    </out>  
+    </xsl:template>
+    
+
+  
+</xsl:package>   
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/decl/override/override-t-007.xsl	Tue Mar 24 19:40:30 2015 +0100
@@ -0,0 +1,52 @@
+<xsl:package 
+  name="http://www.w3.org/xslt30tests/override-101"
+  package-version="1.0.0"
+  version="3.0"
+  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+  xmlns:xs="http://www.w3.org/2001/XMLSchema"
+  xmlns:p="http://www.w3.org/xslt30tests/override-base-101"
+  exclude-result-prefixes="xs p">
+  
+  <xsl:use-package
+    name="http://www.w3.org/xslt30tests/override-base-101"
+    package-version="1.0.0">
+  
+    <xsl:override>
+  
+      <xsl:template name="t" as="xs:string" visibility="public">
+        <xsl:param name="in" as="xs:string"/>
+        <xsl:param name="count" as="xs:integer"/>
+        <xsl:value-of>
+          <xsl:text>*</xsl:text>
+          <xsl:call-template name="xsl:original">
+            <xsl:with-param name="in" select="$in"/>
+            <xsl:with-param name="count" select="$count"/>
+          </xsl:call-template>
+          <xsl:text>*</xsl:text>
+        </xsl:value-of>
+      </xsl:template>
+    
+      <xsl:template name="t-abstract" as="xs:string" visibility="public">
+        <xsl:param name="in" as="xs:string"/>
+        <xsl:param name="count" as="xs:integer"/>
+        <xsl:sequence select="'abcd'"/>
+      </xsl:template>
+      
+    </xsl:override>  
+    
+  </xsl:use-package>
+  
+ 
+   
+    <xsl:template name="main">
+    <out>
+      <xsl:call-template name="t">
+            <xsl:with-param name="in" select="'x'"/>
+            <xsl:with-param name="count" select="5"/>
+      </xsl:call-template>
+    </out>  
+    </xsl:template>
+    
+
+  
+</xsl:package>   
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/decl/override/override-v-001.xsl	Tue Mar 24 19:40:30 2015 +0100
@@ -0,0 +1,34 @@
+<xsl:package 
+  name="http://www.w3.org/xslt30tests/override-201"
+  package-version="1.0.1"
+  version="3.0"
+  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+  xmlns:xs="http://www.w3.org/2001/XMLSchema"
+  exclude-result-prefixes="xs">
+  
+  <xsl:use-package
+    name="http://www.w3.org/xslt30tests/override-base-201"
+    package-version="1.0.0">
+  
+    <xsl:override>
+  
+      <xsl:variable name="v-public" as="xs:integer" visibility="public" select="42"/>
+    
+      <xsl:variable name="v-abstract" as="xs:integer" visibility="public" select="93"/>
+      
+    </xsl:override>  
+    
+  </xsl:use-package>
+  
+  
+   
+    <xsl:template name="main">
+      <xsl:choose>
+        <xsl:when test="$v-public = 42"><ok/></xsl:when>
+        <xsl:otherwise><wrong value="{$v-public}"/></xsl:otherwise>
+      </xsl:choose>
+    </xsl:template>
+    
+ 
+  
+</xsl:package>   
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/decl/override/override-v-002.xsl	Tue Mar 24 19:40:30 2015 +0100
@@ -0,0 +1,34 @@
+<xsl:package 
+  name="http://www.w3.org/xslt30tests/override-201"
+  package-version="1.0.1"
+  version="3.0"
+  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+  xmlns:xs="http://www.w3.org/2001/XMLSchema"
+  exclude-result-prefixes="xs">
+  
+  <xsl:use-package
+    name="http://www.w3.org/xslt30tests/override-base-201"
+    package-version="1.0.0">
+  
+    <xsl:override>
+  
+      <xsl:variable name="v-base" as="xs:integer" visibility="public" select="42"/>
+    
+      <xsl:variable name="v-abstract" as="xs:integer" visibility="public" select="93"/>
+      
+    </xsl:override>  
+    
+  </xsl:use-package>
+  
+ 
+   
+    <xsl:template name="main">
+      <xsl:choose>
+        <xsl:when test="$v-public = 41"><ok/></xsl:when>
+        <xsl:otherwise><wrong value="{$v-public}"/></xsl:otherwise>
+      </xsl:choose>
+    </xsl:template>
+    
+  
+  
+</xsl:package>   
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/decl/override/override-v-003.xsl	Tue Mar 24 19:40:30 2015 +0100
@@ -0,0 +1,34 @@
+<xsl:package 
+  name="http://www.w3.org/xslt30tests/override-201"
+  package-version="1.0.1"
+  version="3.0"
+  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+  xmlns:xs="http://www.w3.org/2001/XMLSchema"
+  exclude-result-prefixes="xs">
+  
+  <xsl:use-package
+    name="http://www.w3.org/xslt30tests/override-base-201"
+    package-version="1.0.0">
+  
+    <xsl:override>
+  
+      <xsl:variable name="v-public" as="xs:integer" visibility="public" select="xsl:original + 13"/>
+    
+      <xsl:variable name="v-abstract" as="xs:integer" visibility="public" select="93"/>
+      
+    </xsl:override>  
+    
+  </xsl:use-package>
+  
+  
+   
+    <xsl:template name="main">
+      <xsl:choose>
+        <xsl:when test="$v-public = 14"><ok/></xsl:when>
+        <xsl:otherwise><wrong value="{$v-public}"/></xsl:otherwise>
+      </xsl:choose>
+    </xsl:template>
+    
+ 
+  
+</xsl:package>   
\ No newline at end of file
--- a/tests/expr/expression/_expression-test-set.xml	Tue Mar 24 19:37:57 2015 +0100
+++ b/tests/expr/expression/_expression-test-set.xml	Tue Mar 24 19:40:30 2015 +0100
@@ -1222,9 +1222,10 @@
    <test-case name="expression-1904">
       <description>PURPOSE test unparsed-entity-uri#2 function</description>
       <created by="Michael Kay" on="2015-01-15"/>
+      <modified by="Michael Kay" on="2015-03-20" change="mark dependency, bug 28249"/>
       <environment ref="expression-19"/>
       <dependencies>
-         <spec value="XSLT20+"/>
+         <spec value="XSLT30+"/>
       </dependencies>
       <test>
          <stylesheet file="expression-1904.xsl"/>
--- a/tests/expr/math/_math-test-set.xml	Tue Mar 24 19:37:57 2015 +0100
+++ b/tests/expr/math/_math-test-set.xml	Tue Mar 24 19:40:30 2015 +0100
@@ -2494,6 +2494,7 @@
    <test-case name="math-3501">
       <description>a recursive decimal-to-hex conversion</description>
       <created by="Michael Kay" on="2012-11-07"/>
+      <modified by="Michael Kay" on="2015-03-20" change="remove whitespace from result, see bug 24035"/>
       <environment ref="math-35"/>
       <dependencies>
          <spec value="XSLT10+"/>
@@ -2502,13 +2503,8 @@
          <stylesheet file="math-3501.xsl"/>
       </test>
       <result>
-         <assert-xml><![CDATA[<o>
-<out dec="1">1</out>
-<out dec="23">17</out>
-<out dec="255">FF</out>
-<out dec="65536">10000</out>
-<out dec="4294967295">FFFFFFFF</out>
-</o>]]></assert-xml>
+         <assert-xml><![CDATA[<o><out dec="1">1</out><out dec="23">17</out><out dec="255">FF</out
+         ><out dec="65536">10000</out><out dec="4294967295">FFFFFFFF</out></o>]]></assert-xml>
       </result>
    </test-case>
 
--- a/tests/fn/json-to-xml/data001.json	Tue Mar 24 19:37:57 2015 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,22 +0,0 @@
-{
-    "glossary": {
-        "title": "example glossary",
-		"GlossDiv": {
-            "title": "S",
-			"GlossList": {
-                "GlossEntry": {
-                    "ID": "SGML",
-					"SortAs": "SGML",
-					"GlossTerm": "Standard Generalized Markup Language",
-					"Acronym": "SGML",
-					"Abbrev": "ISO 8879:1986",
-					"GlossDef": {
-                        "para": "A meta-markup language, used to create markup languages such as DocBook.",
-						"GlossSeeAlso": ["GML", "XML"]
-                    },
-					"GlossSee": "markup"
-                }
-            }
-        }
-    }
-}
\ No newline at end of file
--- a/tests/fn/json-to-xml/data005.json	Tue Mar 24 19:37:57 2015 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +0,0 @@
-{"menu": {
-    "header": "SVG Viewer",
-    "items": [
-        {"id": "Open"},
-        {"id": "OpenNew", "label": "Open New"},
-        null,
-        {"id": "ZoomIn", "label": "Zoom In"},
-        {"id": "ZoomOut", "label": "Zoom Out"},
-        {"id": "OriginalView", "label": "Original View"},
-        null,
-        {"id": "Quality"},
-        {"id": "Pause"},
-        {"id": "Mute"},
-        null,
-        {"id": "Find", "label": "Find..."},
-        {"id": "FindAgain", "label": "Find Again"},
-        {"id": "Copy"},
-        {"id": "CopyAgain", "label": "Copy Again"},
-        {"id": "CopySVG", "label": "Copy SVG"},
-        {"id": "ViewSVG", "label": "View SVG"},
-        {"id": "ViewSource", "label": "View Source"},
-        {"id": "SaveAs", "label": "Save As"},
-        null,
-        {"id": "Help"},
-        {"id": "About", "label": "About Adobe CVG Viewer..."}
-    ]
-}}
\ No newline at end of file
--- a/tests/fn/json-to-xml/escapeText.json	Tue Mar 24 19:37:57 2015 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,3 +0,0 @@
-{
-    "key" : "Data with \" within it"
-}
\ No newline at end of file
--- a/tests/fn/json-to-xml/json-to-xml-A.xsl	Tue Mar 24 19:37:57 2015 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,298 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xsl:stylesheet version="3.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-    xmlns:j="http://www.w3.org/2013/XSL/json">
-    <xsl:param name="options.escape" select="map{'unescape':false()}"/>
-    <xsl:param name="options.validate" select="map{'validate':true()}"/>
-
-    <!--<xsl:param name="options.rfc" select="map{'spec':'RFC4627'}"/>
-    <xsl:param name="options.ecma" select="map{'spec':'ECMA-262'}"/>-->
-
-    <xsl:param name="s0.map" select="'{}'"/>
-    <xsl:param name="s0.array" select="'[]'"/>
-    <xsl:param name="s1.number" select="'[1]'"/>
-    <xsl:param name="s1.string" select="'[&#34;a&#34;]'"/>
-    <xsl:param name="s1.true" select="'[true]'"/>
-    <xsl:param name="s1.false" select="'[false]'"/>
-    <xsl:param name="s1.null" select="'[null]'"/>
-
-    <xsl:param name="s2" select="'{&#34;x&#34;:1, &#34;y&#34;:[1,2,3]}'"/>
-
-    <xsl:param name="escape.1" select="'[&#34;Data with \&#34; within it&#34;]'"/>
-    <xsl:param name="escape.2"
-        select="'{&#34;Key \&#34; with quote&#34;:&#34;Data with \&#34; within it&#34;}'"/>
-
-
-    <xsl:template name="json-to-xml-001">
-        <xsl:variable name="metadata">
-            <description>Empty object as document-node</description>
-            <created by="John Lumley" on="2013-10-01"/>
-            <environment ref="JSON-XML"/>
-        </xsl:variable>
-        <xsl:copy-of select=" json-to-xml($s0.map) "/>
-        <xsl:variable name="expected-results">
-            <all-of>
-                <assert-count>1</assert-count>
-                <assert-type>document-node()</assert-type>
-            </all-of>
-        </xsl:variable>
-    </xsl:template>
-    <xsl:template name="json-to-xml-002">
-        <xsl:variable name="metadata">
-            <description>Empty object</description>
-            <created by="John Lumley" on="2013-10-01"/>
-            <environment ref="JSON-XML"/>
-        </xsl:variable>
-        <xsl:copy-of select=" json-to-xml($s0.map) "/>
-        <xsl:variable name="expected-results">
-            <all-of>
-                <assert-count>1</assert-count>
-                <assert-type>element(Q{http://www.w3.org/2013/XSL/json}map)</assert-type>
-                <assert>count($result/*) eq 0</assert>
-            </all-of>
-        </xsl:variable>
-    </xsl:template>
-    <xsl:template name="json-to-xml-003">
-        <xsl:variable name="metadata">
-            <description>Empty array as document-node</description>
-            <created by="John Lumley" on="2013-10-01"/>
-            <environment ref="JSON-XML"/>
-        </xsl:variable>
-        <xsl:copy-of select=" json-to-xml($s0.array) "/>
-        <xsl:variable name="expected-results">
-            <all-of>
-                <assert-count>1</assert-count>
-                <assert-type>document-node()</assert-type>
-            </all-of>
-        </xsl:variable>
-    </xsl:template>
-    <xsl:template name="json-to-xml-004">
-        <xsl:variable name="metadata">
-            <description>Empty array</description>
-            <created by="John Lumley" on="2013-10-01"/>
-            <environment ref="JSON-XML"/>
-        </xsl:variable>
-        <xsl:copy-of select=" json-to-xml($s0.array) "/>
-        <xsl:variable name="expected-results">
-            <all-of>
-                <assert-count>1</assert-count>
-                <assert-type>element(Q{http://www.w3.org/2013/XSL/json}array)</assert-type>
-                <assert>count($result/*) eq 0</assert>
-            </all-of>
-        </xsl:variable>
-    </xsl:template>
-    <xsl:template name="json-to-xml-005">
-        <xsl:variable name="metadata">
-            <description>Array Number</description>
-            <created by="John Lumley" on="2013-10-01"/>
-            <environment ref="JSON-XML"/>
-        </xsl:variable>
-        <xsl:copy-of select=" json-to-xml($s1.number) "/>
-        <xsl:variable name="expected-results">
-            <all-of>
-                <assert-count>1</assert-count>
-                <assert-type>element(Q{http://www.w3.org/2013/XSL/json}array)</assert-type>
-                <assert>count($result/*) eq 1</assert>
-                <assert>$result/*[1] instance of element(j:number,xs:untyped)</assert>
-                <assert>xs:double($result/*[1]) eq 1</assert>
-            </all-of>
-        </xsl:variable>
-    </xsl:template>
-    <xsl:template name="json-to-xml-006">
-        <xsl:variable name="metadata">
-            <description>Array String</description>
-            <created by="John Lumley" on="2013-10-01"/>
-            <environment ref="JSON-XML"/>
-        </xsl:variable>
-        <xsl:copy-of select=" json-to-xml($s1.string) "/>
-        <xsl:variable name="expected-results">
-            <all-of>
-                <assert-count>1</assert-count>
-                <assert-type>element(*)</assert-type>
-                <assert>count($result/*) eq 1</assert>
-                <assert>$result/*[1] instance of element(j:string,xs:untyped)</assert>
-                <assert>xs:string($result/*[1]) eq "a"</assert>
-            </all-of>
-        </xsl:variable>
-    </xsl:template>
-    <xsl:template name="json-to-xml-007">
-        <xsl:variable name="metadata">
-            <description>Array True</description>
-            <created by="John Lumley" on="2013-10-01"/>
-            <environment ref="JSON-XML"/>
-        </xsl:variable>
-        <xsl:copy-of select=" json-to-xml($s1.true) "/>
-        <xsl:variable name="expected-results">
-            <all-of>
-                <assert-count>1</assert-count>
-                <assert-type>element(*)</assert-type>
-                <assert>count($result/*) eq 1</assert>
-                <assert>$result/*[1] instance of element(j:boolean,xs:untyped)</assert>
-                <assert>xs:boolean($result/*[1]) eq true()</assert>
-            </all-of>
-        </xsl:variable>
-    </xsl:template>
-    <xsl:template name="json-to-xml-008">
-        <xsl:variable name="metadata">
-            <description>Array False</description>
-            <created by="John Lumley" on="2013-10-01"/>
-            <environment ref="JSON-XML"/>
-        </xsl:variable>
-        <xsl:copy-of select=" json-to-xml($s1.false) "/>
-        <xsl:variable name="expected-results">
-            <all-of>
-                <assert-count>1</assert-count>
-                <assert-type>element(*)</assert-type>
-                <assert>count($result/*) eq 1</assert>
-                <assert>$result/*[1] instance of element(j:boolean,xs:untyped)</assert>
-                <assert>xs:boolean($result/*[1]) eq false()</assert>
-            </all-of>
-        </xsl:variable>
-    </xsl:template>
-    <xsl:template name="json-to-xml-009">
-        <xsl:variable name="metadata">
-            <description>Array Null</description>
-            <created by="John Lumley" on="2013-10-01"/>
-            <environment ref="JSON-XML"/>
-        </xsl:variable>
-        <xsl:copy-of select=" json-to-xml($s1.null) "/>
-        <xsl:variable name="expected-results">
-            <all-of>
-                <assert-count>1</assert-count>
-                <assert-type>element(*)</assert-type>
-                <assert>count($result/*) eq 1</assert>
-                <assert>$result/*[1] instance of element(j:null,xs:untyped)</assert>
-                <assert>empty($result/*[1]/(*|text()))</assert>
-            </all-of>
-        </xsl:variable>
-    </xsl:template>
-    <xsl:template name="json-to-xml-010">
-        <xsl:variable name="metadata">
-            <description>Larger 2</description>
-            <created by="John Lumley" on="2013-10-01"/>
-            <environment ref="JSON-XML"/>
-        </xsl:variable>
-        <xsl:copy-of select=" json-to-xml(unparsed-text('data001.json')) "/>
-        <xsl:variable name="expected-results">
-            <all-of>
-                <assert-count>1</assert-count>
-                <assert-type>element(*)</assert-type>
-                <assert>count($result/*) eq 1</assert>
-            </all-of>
-        </xsl:variable>
-    </xsl:template>
-    <xsl:template name="json-to-xml-011">
-        <xsl:variable name="metadata">
-            <description>Larger 2</description>
-            <created by="John Lumley" on="2013-10-01"/>
-            <environment ref="JSON-XML"/>
-        </xsl:variable>
-        <xsl:copy-of select=" json-to-xml(unparsed-text('data005.json')) "/>
-    </xsl:template>
-    <xsl:template name="json-to-xml-012">
-        <xsl:variable name="metadata">
-            <description>Larger 2</description>
-            <created by="John Lumley" on="2013-10-01"/>
-            <environment ref="JSON-XML"/>
-        </xsl:variable>
-        <xsl:copy-of select=" json-to-xml(unparsed-text('escapeText.json')) "/>
-    </xsl:template>
-
-    <!-- Escaping tests -->
-    <xsl:template name="json-to-xml-escape-001">
-        <xsl:variable name="metadata">
-            <description>Escaped quote string</description>
-            <created by="John Lumley" on="2013-10-01"/>
-            <environment ref="JSON-XML"/>
-        </xsl:variable>
-        <xsl:copy-of select=" json-to-xml($escape.1)//j:string "/>
-        <xsl:variable name="expected-results">
-            <test> json-to-xml($escape.1)//j:string</test>
-            <result>
-                <all-of>
-                    <!--<assert-count>1</assert-count>
-                    <assert-type>element(Q{http://www.w3.org/2013/XSL/json}string)</assert-type>
-                    <assert-string-value>Data with " within it</assert-string-value>
-                    <any-of>
-                        <assert>empty($result/@escaped)</assert>
-                        <assert>$result/@escaped eq "false"</assert>
-                    </any-of>
-                    <any-of>
-                        <assert>empty($result/@escaped-key)</assert>
-                        <assert>$result/@escaped-key eq "false"</assert>
-                    </any-of>-->
-                </all-of>
-            </result>
-        </xsl:variable>
-    </xsl:template>
-    <xsl:template name="json-to-xml-escape-002">
-        <xsl:variable name="metadata">
-            <description>Escaped quote and key string</description>
-            <created by="John Lumley" on="2013-10-01"/>
-            <environment ref="JSON-XML"/>
-        </xsl:variable>
-        <xsl:copy-of select=" json-to-xml($escape.2)//j:string "/>
-        <xsl:variable name="expected-results">
-            <test> json-to-xml($escape.2)//j:string</test>
-            <result>
-                <all-of>
-                    <!--<assert-count>1</assert-count>
-                    <assert-type>element(Q{http://www.w3.org/2013/XSL/json}string)</assert-type>
-                    <assert-string-value>Data with " within it</assert-string-value>
-                    <assert>$result/@key eq 'Key " with quote'</assert>
-                    <any-of>
-                        <assert>empty($result/@escaped)</assert>
-                        <assert>$result/@escaped eq "false"</assert>
-                    </any-of>
-                    <any-of>
-                        <assert>empty($result/@escaped-key)</assert>
-                        <assert>$result/@escaped-key eq "false"</assert>
-                    </any-of>-->
-                </all-of>
-            </result>
-        </xsl:variable>
-    </xsl:template>
-    <xsl:template name="json-to-xml-escape-003">
-        <xsl:variable name="metadata">
-            <description>Escaped quote string - remaining escaped</description>
-            <created by="John Lumley" on="2013-10-01"/>
-            <environment ref="JSON-XML"/>
-        </xsl:variable>
-        <xsl:copy-of select=" json-to-xml($escape.1,$options.escape)//j:string "/>
-        <xsl:variable name="expected-results">
-            <test> json-to-xml($escape.1,$options.escape)//j:string</test>
-            <result>
-                <!-- <all-of>
-                    <assert-count>1</assert-count>
-                    <assert-type>element(Q{http://www.w3.org/2013/XSL/json}string)</assert-type>
-                    <assert-string-value>Data with \" within it</assert-string-value>
-                    <assert>$result/@escaped eq "true"</assert>
-                    <any-of>
-                        <assert>empty($result/@escaped-key)</assert>
-                        <assert>$result/@escaped-key eq "false"</assert>
-                    </any-of>
-                </all-of>-->
-            </result>
-        </xsl:variable>
-    </xsl:template>
-    <xsl:template name="json-to-xml-escape-004">
-        <xsl:variable name="metadata">
-            <description>Escaped quote string and key - remaining escaped</description>
-            <created by="John Lumley" on="2013-10-01"/>
-            <environment ref="JSON-XML"/>
-        </xsl:variable>
-        <xsl:copy-of select=" json-to-xml($escape.2,$options.escape)//j:string "/>
-        <xsl:variable name="expected-results">
-            <test> json-to-xml($escape.2,$options.escape)//j:string</test>
-            <result>
-                <!--<all-of>
-                    <assert-count>1</assert-count>
-                    <assert-type>element(Q{http://www.w3.org/2013/XSL/json}string)</assert-type>
-                    <assert-string-value>Data with \" within it</assert-string-value>
-                    <assert>$result/@key eq 'Key \" with quote'</assert>
-                    <assert>$result/@escaped eq "true"</assert>
-                    <assert>$result/@escaped-key eq "true"</assert>
-                </all-of>-->
-            </result>
-        </xsl:variable>
-    </xsl:template>
-</xsl:stylesheet>
--- a/tests/fn/json-to-xml/json-to-xml-E.xsl	Tue Mar 24 19:37:57 2015 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,262 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xsl:stylesheet version="3.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
-    <xsl:template name="json-to-xml-error-001">
-        <xsl:variable name="metadata">
-            <description>Empty string</description>
-            <created by="John Lumley" on="2013-10-01"/>
-            <environment ref="JSON-XML"/>
-        </xsl:variable>
-        <xsl:variable name="json" select="''"/>
-        <xsl:copy-of select="json-to-xml($json)"/>
-    </xsl:template>
-    <xsl:template name="json-to-xml-error-002">
-        <xsl:variable name="metadata">
-            <description>Unknown token</description>
-            <created by="John Lumley" on="2013-10-01"/>
-            <environment ref="JSON-XML"/>
-        </xsl:variable>
-        <xsl:variable name="json">{error}</xsl:variable>
-        <xsl:copy-of select="json-to-xml($json)"/>
-    </xsl:template>
-    <xsl:template name="json-to-xml-error-003">
-        <xsl:variable name="metadata">
-            <description>Unknown token</description>
-            <created by="John Lumley" on="2013-10-01"/>
-            <environment ref="JSON-XML"/>
-        </xsl:variable>
-        <xsl:variable name="json">{terriblyWrong}</xsl:variable>
-        <xsl:copy-of select="json-to-xml($json)"/>
-    </xsl:template>
-    <xsl:template name="json-to-xml-error-004">
-        <xsl:variable name="metadata">
-            <description>Extra token</description>
-            <created by="John Lumley" on="2013-10-01"/>
-            <environment ref="JSON-XML"/>
-        </xsl:variable>
-        <xsl:variable name="json">{}"extra token"</xsl:variable>
-        <xsl:copy-of select="json-to-xml($json)"/>
-    </xsl:template>
-    <xsl:template name="json-to-xml-error-005">
-        <xsl:variable name="metadata">
-            <description>Non-string key</description>
-            <created by="John Lumley" on="2013-10-01"/>
-            <environment ref="JSON-XML"/>
-        </xsl:variable>
-        <xsl:variable name="json">{1:1}</xsl:variable>
-        <xsl:copy-of select="json-to-xml($json)"/>
-    </xsl:template>
-    <xsl:template name="json-to-xml-error-006">
-        <xsl:variable name="metadata">
-            <description>Non-string key</description>
-            <created by="John Lumley" on="2013-10-01"/>
-            <environment ref="JSON-XML"/>
-        </xsl:variable>
-        <xsl:variable name="json">{true:1}</xsl:variable>
-        <xsl:copy-of select="json-to-xml($json)"/>
-    </xsl:template>
-    <xsl:template name="json-to-xml-error-007">
-        <xsl:variable name="metadata">
-            <description>Missing colon after key</description>
-            <created by="John Lumley" on="2013-10-01"/>
-            <environment ref="JSON-XML"/>
-        </xsl:variable>
-        <xsl:variable name="json">{"key" 1}</xsl:variable>
-        <xsl:copy-of select="json-to-xml($json)"/>
-    </xsl:template>
-    <xsl:template name="json-to-xml-error-008">
-        <xsl:variable name="metadata">
-            <description>Extra token after map value</description>
-            <created by="John Lumley" on="2013-10-01"/>
-            <environment ref="JSON-XML"/>
-        </xsl:variable>
-        <xsl:variable name="json">{"key":1 2}</xsl:variable>
-        <xsl:copy-of select="json-to-xml($json)"/>
-    </xsl:template>
-    <xsl:template name="json-to-xml-error-009">
-        <xsl:variable name="metadata">
-            <description>Extra token after array value</description>
-            <created by="John Lumley" on="2013-10-01"/>
-            <environment ref="JSON-XML"/>
-        </xsl:variable>
-        <xsl:variable name="json">["key",1 2]</xsl:variable>
-        <xsl:copy-of select="json-to-xml($json)"/>
-    </xsl:template>
-    <xsl:template name="json-to-xml-error-010">
-        <xsl:variable name="metadata">
-            <description>Leading + on number</description>
-            <created by="John Lumley" on="2013-10-01"/>
-            <environment ref="JSON-XML"/>
-        </xsl:variable>
-        <xsl:variable name="json">[+1]</xsl:variable>
-        <xsl:copy-of select="json-to-xml($json)"/>
-    </xsl:template>
-    <xsl:template name="json-to-xml-error-011">
-        <xsl:variable name="metadata">
-            <description>Redundant leading 0 on number</description>
-            <created by="John Lumley" on="2013-10-01"/>
-            <environment ref="JSON-XML"/>
-        </xsl:variable>
-        <xsl:variable name="json">[01]</xsl:variable>
-        <xsl:copy-of select="json-to-xml($json)"/>
-    </xsl:template>
-    <xsl:template name="json-to-xml-error-012">
-        <xsl:variable name="metadata">
-            <description>Hex number</description>
-            <created by="John Lumley" on="2013-10-01"/>
-            <environment ref="JSON-XML"/>
-        </xsl:variable>
-        <xsl:variable name="json">[1234A]</xsl:variable>
-        <xsl:copy-of select="json-to-xml($json)"/>
-    </xsl:template>
-    <xsl:template name="json-to-xml-error-013">
-        <xsl:variable name="metadata">
-            <description>Trailing backslash</description>
-            <created by="John Lumley" on="2013-10-01"/>
-            <environment ref="JSON-XML"/>
-        </xsl:variable>
-        <xsl:variable name="json">["123\"]</xsl:variable>
-        <xsl:copy-of select="json-to-xml($json)"/>
-    </xsl:template>
-    <xsl:template name="json-to-xml-error-014">
-        <xsl:variable name="metadata">
-            <description>Short unicode</description>
-            <created by="John Lumley" on="2013-10-01"/>
-            <environment ref="JSON-XML"/>
-        </xsl:variable>
-        <xsl:variable name="json">["123\u234"]</xsl:variable>
-        <xsl:copy-of select="json-to-xml($json)"/>
-    </xsl:template>
-    <xsl:template name="json-to-xml-error-015">
-        <xsl:variable name="metadata">
-            <description>Unicode null</description>
-            <created by="John Lumley" on="2013-10-01"/>
-            <environment ref="JSON-XML"/>
-        </xsl:variable>
-        <xsl:variable name="json">["String with \u0000 backspace"]</xsl:variable>
-        <xsl:copy-of select="json-to-xml($json)"/>
-    </xsl:template>
-    <xsl:template name="json-to-xml-error-016">
-        <xsl:variable name="metadata">
-            <description>Trailing comma in object</description>
-            <created by="John Lumley" on="2013-10-01"/>
-            <environment ref="JSON-XML"/>
-        </xsl:variable>
-        <xsl:variable name="json">{"key":123,}</xsl:variable>
-        <xsl:copy-of select="json-to-xml($json)"/>
-    </xsl:template>
-    <xsl:template name="json-to-xml-error-017">
-        <xsl:variable name="metadata">
-            <description>Trailing comma in object - liberal spec</description>
-            <created by="John Lumley" on="2013-10-01"/>
-            <modified by="John Lumley" on="2014-07-22"
-                change="option 'spec':'liberal' altered to 'liberal':true()"/>
-            <environment ref="JSON-XML"/>
-        </xsl:variable>
-        <xsl:variable name="json">{"key":123 ,}</xsl:variable>
-        <xsl:copy-of select="json-to-xml($json,map{'liberal':true()})"/>
-    </xsl:template>
-    <xsl:template name="json-to-xml-error-018">
-        <xsl:variable name="metadata">
-            <description>Trailing comma in array</description>
-            <created by="John Lumley" on="2013-10-01"/>
-            <environment ref="JSON-XML"/>
-        </xsl:variable>
-        <xsl:variable name="json">["key",123,]</xsl:variable>
-        <xsl:copy-of select="json-to-xml($json)"/>
-    </xsl:template>
-    <xsl:template name="json-to-xml-error-019">
-        <xsl:variable name="metadata">
-            <description>Trailing comma in array - liberal spec</description>
-            <created by="John Lumley" on="2013-10-01"/>
-            <modified by="John Lumley" on="2014-07-22"
-                change="option 'spec':'liberal' altered to 'liberal':true()"/>
-            <environment ref="JSON-XML"/>
-        </xsl:variable>
-        <xsl:variable name="json">["key",123,]</xsl:variable>
-        <xsl:copy-of select="json-to-xml($json,map{'liberal':true()})"/>
-    </xsl:template>
-    <xsl:template name="json-to-xml-error-020">
-        <xsl:variable name="metadata">
-            <description>Liberal option error</description>
-            <created by="John Lumley" on="2013-10-01"/>
-            <modified by="John Lumley" on="2014-07-22" change="option 'spec' altered to 'liberal'"/>
-            <environment ref="JSON-XML"/>
-        </xsl:variable>
-        <xsl:variable name="json">["String"]</xsl:variable>
-        <xsl:copy-of select="json-to-xml($json,map{'liberal':()})"/>
-    </xsl:template>
-    <xsl:template name="json-to-xml-error-021">
-        <xsl:variable name="metadata">
-            <description>Liberal option error</description>
-            <created by="John Lumley" on="2013-10-01"/>
-            <modified by="John Lumley" on="2014-07-22" change="option 'spec' altered to 'liberal'"/>
-            <environment ref="JSON-XML"/>
-        </xsl:variable>
-        <xsl:variable name="json">["String"]</xsl:variable>
-        <xsl:copy-of select="json-to-xml($json,map{'liberal':'some string'})"/>
-    </xsl:template>
-    <xsl:template name="json-to-xml-error-022">
-        <xsl:variable name="metadata">
-            <description>Validate option error</description>
-            <created by="John Lumley" on="2013-10-01"/>
-            <environment ref="JSON-XML"/>
-        </xsl:variable>
-        <xsl:variable name="json">["String"]</xsl:variable>
-        <xsl:copy-of select="json-to-xml($json, map{'validate':()})"/>
-    </xsl:template>
-    <xsl:template name="json-to-xml-error-023">
-        <xsl:variable name="metadata">
-            <description>Validate option error</description>
-            <created by="John Lumley" on="2013-10-01"/>
-            <environment ref="JSON-XML"/>
-        </xsl:variable>
-        <xsl:variable name="json">["String"]</xsl:variable>
-        <xsl:copy-of select="json-to-xml($json, map{'validate':(true(),true())})"/>
-    </xsl:template>
-    <xsl:template name="json-to-xml-error-024">
-        <xsl:variable name="metadata">
-            <description>Validate option error</description>
-            <created by="John Lumley" on="2013-10-01"/>
-            <environment ref="JSON-XML"/>
-        </xsl:variable>
-        <xsl:variable name="json">["String"]</xsl:variable>
-        <xsl:copy-of select="json-to-xml($json, map{'validate':'EMCA-262'})"/>
-    </xsl:template>
-    <xsl:template name="json-to-xml-error-025">
-        <xsl:variable name="metadata">
-            <description>Unescape option error</description>
-            <created by="John Lumley" on="2013-10-01"/>
-            <environment ref="JSON-XML"/>
-        </xsl:variable>
-        <xsl:variable name="json">["String"]</xsl:variable>
-        <xsl:copy-of select="json-to-xml($json, map{'unescape':()})"/>
-    </xsl:template>
-    <xsl:template name="json-to-xml-error-026">
-        <xsl:variable name="metadata">
-            <description>Unescape option error</description>
-            <created by="John Lumley" on="2013-10-01"/>
-            <environment ref="JSON-XML"/>
-        </xsl:variable>
-        <xsl:variable name="json">["String"]</xsl:variable>
-        <xsl:copy-of select="json-to-xml($json,map{'unescape':(true(),true())})"/>
-    </xsl:template>
-    <xsl:template name="json-to-xml-error-027">
-        <xsl:variable name="metadata">
-            <description>Unescape option error</description>
-            <created by="John Lumley" on="2013-10-01"/>
-            <environment ref="JSON-XML"/>
-        </xsl:variable>
-        <xsl:variable name="json">["String"]</xsl:variable>
-        <xsl:copy-of select="json-to-xml($json, map{'unescape':'EMCA-262'})"/>
-    </xsl:template>
-    <xsl:template name="json-to-xml-error-028">
-        <xsl:variable name="metadata">
-            <description>Fallback option not function </description>
-            <created by="John Lumley" on="2013-10-01"/>
-            <modified by="Abel Braaksma" on="2014-10-21" change="':=' for maps is replaced by ':'" />
-            <environment ref="JSON-XML"/>
-        </xsl:variable>
-        <xsl:variable name="json">["String"]</xsl:variable>
-        <xsl:copy-of select="json-to-xml($json,map{'fallback':'dummy'})"/>
-    </xsl:template>
-</xsl:stylesheet>
--- a/tests/fn/json-to-xml/json-to-xml-typed.xsl	Tue Mar 24 19:37:57 2015 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,129 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xsl:stylesheet version="3.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-    xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:j="http://www.w3.org/2013/XSL/json">
-
-    <!-- Tests for schema aware typing of nodes from json-to-xml()
-    Note that these *only* check type and little more -
-    the other non-typed tests should be employed for structure etc. 
-    -->
-    <xsl:param name="options.validate" select="map{'validate':true()}"/>
-
-    <xsl:param name="s0.map" select="'{}'"/>
-    <xsl:param name="s0.array" select="'[]'"/>
-    <xsl:param name="s1.number" select="'[1]'"/>
-    <xsl:param name="s1.string" select="'[&#34;a&#34;]'"/>
-    <xsl:param name="s1.true" select="'[true]'"/>
-    <xsl:param name="s1.false" select="'[false]'"/>
-    <xsl:param name="s1.null" select="'[null]'"/>
-
-
-    <!--<xsl:import-schema namespace="http://www.w3.org/2013/XSL/json"
-        schema-location="http://www.w3.org/TR/2013/WD-xslt-30-20131212/schema-for-json.xsd"/>-->
-    <xsl:import-schema namespace="http://www.w3.org/2013/XSL/json"
-        schema-location="schema-for-json.xsd"/>
-
-    <!-- Note that whilst it would be cleaner perhaps to do the type checking in the assertions
-        (though they are in another file :-( ) there appears to be no way for
-        schema association with *result* documents, as opposed to source, 
-        to be described in the XLST test schema 
-    
-    Consequently we do the tests here and transmit true/false to the harness, in a very inelegant manner.
-    
-    When invocation of a function within XSLT is permitted, there will have to be some modifications I suspect
-    -->
-    <xsl:template name="json-to-xml-typed-001">
-        <!-- <description>Basic map type</description>
-        <created by="John Lumley" on="2013-10-08"/>
-        <environment ref="JSON-XML-typed"/>-->
-        <result>
-            <xsl:value-of
-                select=" json-to-xml($s0.map,$options.validate)/* instance of element(j:map,j:mapType) "
-            />
-        </result>
-    </xsl:template>
-    <xsl:template name="json-to-xml-typed-002">
-        <!-- <description>Basic array type</description>
-        <created by="John Lumley" on="2013-10-08"/>
-        <environment ref="JSON-XML-typed"/>-->
-        <result>
-            <xsl:value-of
-                select=" json-to-xml($s0.array,$options.validate)/* instance of element(j:array,j:arrayType) "
-            />
-        </result>
-    </xsl:template>
-
-    <xsl:template name="json-to-xml-typed-003">
-        <!--<description>Array Number typed</description>
-        <created by="John Lumley" on="2013-10-08"/>
-        <environment ref="JSON-XML-typed"/>-->
-        <result>
-            <xsl:value-of
-                select=" let $result := json-to-xml($s1.number,$options.validate)/* return
-            count($result) = 1 and
-            $result instance of element(j:array) and
-            $result/*[1] instance of element(j:number,j:numberType) and
-            xs:double($result/*[1]) eq 1.0"
-            />
-        </result>
-    </xsl:template>
-
-    <xsl:template name="json-to-xml-typed-004">
-        <!--<description>Array String typed</description>
-        <created by="John Lumley" on="2013-10-08"/>
-        <environment ref="JSON-XML-typed"/>-->
-        <result>
-            <xsl:value-of
-                select=" let $result := json-to-xml($s1.string,$options.validate)/* return
-            count($result) = 1 and
-            $result instance of element(j:array) and
-            $result/*[1] instance of element(j:string,j:stringType) and
-            xs:string($result/*[1]) eq 'a'"
-            />
-        </result>
-    </xsl:template>
-    <xsl:template name="json-to-xml-typed-005">
-        <!--<description>Array True typed</description>
-        <created by="John Lumley" on="2013-10-08"/>
-        <environment ref="JSON-XML-typed"/>-->
-        <result>
-            <xsl:value-of
-                select=" let $result := json-to-xml($s1.true,$options.validate)/* return
-            count($result) = 1 and
-            $result instance of element(j:array) and
-            $result/*[1] instance of element(j:boolean,xs:boolean) and
-            xs:boolean($result/*[1]) eq true()"
-            />
-        </result>
-    </xsl:template>
-    <xsl:template name="json-to-xml-typed-006">
-        <!--<description>Array False typed</description>
-        <created by="John Lumley" on="2013-10-08"/>
-        <environment ref="JSON-XML-typed"/>-->
-        <result>
-            <xsl:value-of
-                select=" let $result := json-to-xml($s1.false,$options.validate)/* return
-            count($result) = 1 and
-            $result instance of element(j:array) and
-            $result/*[1] instance of element(j:boolean,xs:boolean) and
-            xs:boolean($result/*[1]) eq false()"
-            />
-        </result>
-    </xsl:template>
-    <xsl:template name="json-to-xml-typed-007">
-        <!--<description>Array Null typed</description>
-        <created by="John Lumley" on="2013-10-08"/>
-        <environment ref="JSON-XML-typed"/>-->
-        <result>
-            <xsl:value-of
-                select=" let $result := json-to-xml($s1.null,$options.validate)/* return
-            count($result) = 1 and
-            $result instance of element(j:array) and
-            $result/*[1] instance of element(j:null,j:nullType) and
-            empty($result/*[1]/(*|text()))"
-            />
-        </result>
-    </xsl:template>
-
-
-
-</xsl:stylesheet>
--- a/tests/fn/json-to-xml/schema-for-json.xsd	Tue Mar 24 19:37:57 2015 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,128 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
-    elementFormDefault="qualified"
-    targetNamespace="http://www.w3.org/2013/XSL/json"
-    xmlns:j="http://www.w3.org/2013/XSL/json">
-    
-    <!-- 
-     * This is a schema for the XML representation of JSON used as the target for the
-     * XSLT 3.0 function fn:json-to-xml()
-     *
-     * The schema is made available under the terms of the W3C software notice and license
-     * at http://www.w3.org/Consortium/Legal/copyright-software-19980720
-     *
-    -->
-    
-    <xs:element name="map" type="j:mapType">
-        <xs:unique name="unique-key">
-            <xs:selector xpath="*"/>
-            <xs:field xpath="@key"/>
-        </xs:unique>
-    </xs:element>
-    
-    <xs:element name="array" type="j:arrayType"/>
-    
-    <xs:element name="string" type="j:stringType"/>
-    
-    <xs:element name="number" type="j:numberType"/>
-    
-    <xs:element name="boolean" type="xs:boolean"/>
-    
-    <xs:element name="null" type="j:nullType"/>
-    
-    <xs:complexType name="nullType">
-        <xs:sequence/>
-    </xs:complexType>
-    
-    <xs:complexType name="stringType">
-        <xs:simpleContent>
-            <xs:extension base="xs:string">
-                <xs:attribute name="escaped" type="xs:boolean" use="optional" default="false"/>
-            </xs:extension>
-        </xs:simpleContent>
-    </xs:complexType>
-    
-    <xs:simpleType name="numberType">
-        <xs:restriction base="xs:double">
-            <!-- exclude positive and negative infinity, and NaN -->
-            <xs:minExclusive value="-INF"/>
-            <xs:maxExclusive value="INF"/>
-        </xs:restriction>
-    </xs:simpleType>
-    
-    <xs:complexType name="arrayType">
-        <xs:choice minOccurs="0" maxOccurs="unbounded">
-            <xs:element ref="j:map"/>
-            <xs:element ref="j:array"/>
-            <xs:element ref="j:string"/>
-            <xs:element ref="j:number"/>
-            <xs:element ref="j:boolean"/>
-            <xs:element ref="j:null"/>
-        </xs:choice>       
-    </xs:complexType>
-    
-    <xs:complexType name="mapType">
-        <xs:choice minOccurs="0" maxOccurs="unbounded">
-            <xs:element name="map">
-                <xs:complexType>
-                    <xs:complexContent>
-                        <xs:extension base="j:mapType">
-                            <xs:attribute name="key" type="xs:string"/>
-                        </xs:extension>
-                    </xs:complexContent>
-                </xs:complexType>
-                <xs:unique name="unique-key-2">
-                    <xs:selector xpath="*"/>
-                    <xs:field xpath="@key"/>
-                </xs:unique>
-            </xs:element>
-            <xs:element name="array">
-                <xs:complexType>
-                    <xs:complexContent>
-                        <xs:extension base="j:arrayType">
-                            <xs:attributeGroup ref="j:key-group"/>
-                        </xs:extension>
-                    </xs:complexContent>
-                </xs:complexType>
-            </xs:element>
-            <xs:element name="string">
-                <xs:complexType>
-                    <xs:simpleContent>
-                        <xs:extension base="j:stringType">
-                            <xs:attributeGroup ref="j:key-group"/>
-                        </xs:extension>
-                    </xs:simpleContent>
-                </xs:complexType>
-            </xs:element>
-            <xs:element name="number">
-                <xs:complexType>
-                    <xs:simpleContent>
-                        <xs:extension base="j:numberType">
-                            <xs:attributeGroup ref="j:key-group"/>
-                        </xs:extension>
-                    </xs:simpleContent>
-                </xs:complexType>
-            </xs:element>
-            <xs:element name="boolean">
-                <xs:complexType>
-                    <xs:simpleContent>
-                        <xs:extension base="xs:boolean">
-                            <xs:attributeGroup ref="j:key-group"/>
-                        </xs:extension>
-                    </xs:simpleContent>
-                </xs:complexType>
-            </xs:element>
-            <xs:element name="null">
-                <xs:complexType>
-                    <xs:attributeGroup ref="j:key-group"/>
-                </xs:complexType>
-            </xs:element>
-        </xs:choice>
-    </xs:complexType>
-    
-    <xs:attributeGroup name="key-group">
-        <xs:attribute name="key" type="xs:string"/>
-        <xs:attribute name="escaped-key" type="xs:boolean" use="optional" default="false"/>
-    </xs:attributeGroup>
-    
-</xs:schema>
--- a/tests/fn/position/_position-test-set.xml	Tue Mar 24 19:37:57 2015 +0100
+++ b/tests/fn/position/_position-test-set.xml	Tue Mar 24 19:40:30 2015 +0100
@@ -2090,16 +2090,16 @@
       <description/>
       <created by="Michael Kay" on="2012-11-07"/>
       <modified by="John Lumley" on="2014-09-04" change="Declared serialization requirement"/>
+      <modified by="Michael Kay" on="2015-03-20" change="Removed serialization requirement, bug 20894"/>
       <environment ref="position-18"/>
       <dependencies>
          <spec value="XSLT20+"/>
       </dependencies>
       <test>
          <stylesheet file="position-1801.xsl"/>
-         <output serialize="yes"/>
       </test>
       <result>
-         <assert-serialization method="html" file="pos64.out"/>
+         <assert-xml><![CDATA[<html><body><P>1</P><P>2</P><P>3</P>4</body></html>]]></assert-xml>
       </result>
    </test-case>
 
--- a/tests/fn/position/pos64.out	Tue Mar 24 19:37:57 2015 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<html>
-   <body>
-      
-      <P>1</P>
-      
-      <P>2</P>
-      
-      <P>3</P>
-      4
-      
-   </body>
-</html>
\ No newline at end of file
--- a/tests/fn/position/position-1801.xsl	Tue Mar 24 19:37:57 2015 +0100
+++ b/tests/fn/position/position-1801.xsl	Tue Mar 24 19:40:30 2015 +0100
@@ -2,8 +2,8 @@
 <?spec fo#func-position?>
 <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
                 version="2.0">
-
-  <xsl:output method="html"/>
+                
+  <xsl:strip-space elements="*"/>              
 
   <xsl:template match="/">
     <html>
--- a/tests/insn/call-template/_call-template-test-set.xml	Tue Mar 24 19:37:57 2015 +0100
+++ b/tests/insn/call-template/_call-template-test-set.xml	Tue Mar 24 19:40:30 2015 +0100
@@ -308,9 +308,10 @@
    <test-case name="call-template-0108">
       <description>Test with declared return type</description>
       <created by="Michael Kay" on="2013-07-31"/>
+      <modified by="Michael Kay" on="2015-03-20" change="add dependency, see bug 24032"/>
       <environment ref="call-template-01"/>
       <dependencies>
-         <spec value="XSLT20+"/>
+         <spec value="XSLT30+"/>
       </dependencies>
       <test>
          <stylesheet file="call-template-0108.xsl"/>
--- a/tests/misc/bug/_bug-test-set.xml	Tue Mar 24 19:37:57 2015 +0100
+++ b/tests/misc/bug/_bug-test-set.xml	Tue Mar 24 19:40:30 2015 +0100
@@ -568,8 +568,10 @@
    <test-case name="bug-1203">
       <description>disable-output-escaping affected by optimization. Saxon bug 2312.</description>
       <created by="Michael Kay" on="2015-02-06"/>
+      <modified by="Michael Kay" on="2015-03-20" change="add dependency, see bug 28247"/>
       <dependencies>
          <spec value="XSLT10+"/>
+         <feature value="disabling_output_escaping"/>
       </dependencies>
       <test>
          <stylesheet file="bug-1203.xsl"/>
@@ -770,6 +772,7 @@
          gives the number of nodes before applying the predicates.</description>
       <created by="Michael Kay" on="2012-11-07"/>
       <modified by="John Lumley" on="2014-09-02" change="Declared serialization requirement"/>
+      <modified by="Michael Kay" on="2015-03-20" change="Fix bug 26606"/>
       <environment>
          <source role="." file="bug-17.xml"/>
       </environment>
--- a/tests/misc/bug/bug-1701.xsl	Tue Mar 24 19:37:57 2015 +0100
+++ b/tests/misc/bug/bug-1701.xsl	Tue Mar 24 19:40:30 2015 +0100
@@ -30,15 +30,15 @@
         <xsl:variable name="this" select="."/>
         <xsl:variable name="played" select="count($matches[team=$this])"/>
         <xsl:variable name="won" 
-            select="count($matches[team=$this][number(team[.=$this]/@score) &gt; number(team[.!=$this]/@score)])"/>
+            select="count($matches[if (team=$this) then number(team[.=$this]/@score) &gt; number(team[.!=$this]/@score) else false()])"/>
         <xsl:variable name="lost"
-            select="count($matches[team=$this][number(team[.=$this]/@score) &lt; number(team[.!=$this]/@score)])"/>
+            select="count($matches[if (team=$this) then number(team[.=$this]/@score) &lt; number(team[.!=$this]/@score) else false()])"/>
         <xsl:variable name="drawn"
-            select="count($matches[team=$this][number(team[.=$this]/@score) = number(team[.!=$this]/@score)])"/>
+            select="count($matches[if (team=$this) then number(team[.=$this]/@score) = number(team[.!=$this]/@score) else false()])"/>
         <xsl:variable name="for"
             select="sum($matches/team[.=current()]/@score)"/>
         <xsl:variable name="against"
-            select="sum($matches[team=$this][team=current()]/team/@score) - $for"/>
+            select="sum($matches[if (team=$this) then team=current() else false()]/team/@score) - $for"/>
 
         <tr>
         <td><xsl:value-of select="."/></td>
--- a/tests/misc/embedded-stylesheet/embedded-stylesheet-013.out	Tue Mar 24 19:37:57 2015 +0100
+++ b/tests/misc/embedded-stylesheet/embedded-stylesheet-013.out	Tue Mar 24 19:40:30 2015 +0100
@@ -1,6 +1,3 @@
-<?xml version="1.0" encoding="UTF-8"?><out>
-<elem>1  Matched Item element: Inside main stylesheet</elem>
-<elem>2  Matched Item element: Inside main stylesheet</elem>
-<elem>3  Matched Item element: Inside main stylesheet</elem>
-<str>1  Matched Str element: Inside main stylesheet</str>
-<str>2  Matched Str element: Inside main stylesheet</str></out>
\ No newline at end of file
+<?xml version="1.0" encoding="UTF-8"?><out><elem>1  Matched Item element: Inside main stylesheet</elem
+><elem>2  Matched Item element: Inside main stylesheet</elem><elem>3  Matched Item element: Inside main stylesheet</elem
+><str>1  Matched Str element: Inside main stylesheet</str><str>2  Matched Str element: Inside main stylesheet</str></out>
\ No newline at end of file
--- a/tests/strm/si-copy/_si-copy-test-set.xml	Tue Mar 24 19:37:57 2015 +0100
+++ b/tests/strm/si-copy/_si-copy-test-set.xml	Tue Mar 24 19:40:30 2015 +0100
@@ -382,7 +382,7 @@
          <initial-template name="cy-047"/>
       </test>
       <result>
-         <assert>/out/a</assert>
+         <assert>/out/*/is-empty</assert>
       </result>
    </test-case>
    
@@ -399,6 +399,30 @@
       </result>
    </test-case>
    
+   <test-case name="si-copy-049">
+      <description>Use xsl:copy: with xsl:conditional-content (empty element constructed)</description>
+      <created by="Michael Kay" on="2015-03-16"/>
+      <environment ref="si-copy-A"/>
+      <test>
+         <initial-template name="cy-049"/>
+      </test>
+      <result>
+         <assert>/out/a</assert>
+      </result>
+   </test-case>
+   
+   <test-case name="si-copy-050">
+      <description>Use xsl:copy: with xsl:conditional-content (empty document constructed)</description>
+      <created by="Michael Kay" on="2015-03-16"/>
+      <environment ref="si-copy-A"/>
+      <test>
+         <initial-template name="cy-050"/>
+      </test>
+      <result>
+         <assert>/out</assert>
+      </result>
+   </test-case>
+   
    <test-case name="si-copy-101">
       <description>Use xsl:copy: schema-aware, validation=strict</description>
       <created by="Michael Kay" on="2012-12-19"/>
--- a/tests/strm/si-copy/si-copy-A.xsl	Tue Mar 24 19:37:57 2015 +0100
+++ b/tests/strm/si-copy/si-copy-A.xsl	Tue Mar 24 19:40:30 2015 +0100
@@ -437,12 +437,12 @@
   <xsl:template name="cy-047" use-when="$RUN">
     <out>
       <xsl:variable name="a">
-        <a/>
+        <is-empty/>
       </xsl:variable>
       <xsl:stream href="../docs/citygml.xml">
         <xsl:copy select="/*">
           <xsl:copy-of select="a/b/c/d/e/f/g"/>
-          <xsl:on-empty select="$a/a"/>
+          <xsl:on-empty select="$a/is-empty"/>
         </xsl:copy>
       </xsl:stream>
     </out>
@@ -453,17 +453,52 @@
   <xsl:template name="cy-048" use-when="$RUN">
     <out>
       <xsl:variable name="a">
-        <a/>
+        <is-empty/>
       </xsl:variable>
       <xsl:stream href="../docs/citygml.xml">
         <xsl:copy>
           <xsl:copy-of select="a/b/c/d/e/f/g"/>
-          <xsl:on-empty select="$a/a"/>
+          <xsl:on-empty select="$a/is-empty"/>
         </xsl:copy>
       </xsl:stream>
     </out>
   </xsl:template>
+  
+    <!-- within xsl:stream, use xsl:copy with xsl:conditional-content: empty element constructed -->
+
+  <xsl:template name="cy-049" use-when="$RUN">
+    <out>
+      <xsl:variable name="a">
+        <a/>
+      </xsl:variable>
+      <xsl:stream href="../docs/citygml.xml">
+        <xsl:conditional-content>
+          <xsl:copy select="/*">
+            <xsl:copy-of select="a/b/c/d/e/f/g"/>
+          </xsl:copy>
+        </xsl:conditional-content>  
+      </xsl:stream>
+    </out>
+  </xsl:template>
+
+  <!-- within xsl:stream, use xsl:copy with xsl:conditional-content: empty document constructed -->
+
+  <xsl:template name="cy-050" use-when="$RUN">
+    <out>
+      <xsl:variable name="a">
+        <a/>
+      </xsl:variable>
+      <xsl:stream href="../docs/citygml.xml">
+        <xsl:conditional-content>
+          <xsl:copy>
+            <xsl:copy-of select="a/b/c/d/e/f/g"/>
+          </xsl:copy>
+        </xsl:conditional-content>  
+      </xsl:stream>
+    </out>
+  </xsl:template>
 
 
 
+
 </xsl:transform>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/strm/su-unclassified/_su-unclassified-test-set.xml	Tue Mar 24 19:40:30 2015 +0100
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<test-set xmlns="http://www.w3.org/2012/10/xslt-test-catalog" xmlns:xs="http://www.w3.org/2001/XMLSchema" name="su-unclassified">
+   <description>Streamable stylesheet functions: category "unclassified"</description>
+   
+   <environment name="su-unclassified-A">
+      <stylesheet file="su-unclassified-A.xsl"/>
+   </environment>
+   
+   <dependencies>
+      <spec value="XSLT30+"/>
+      <feature value="streaming"/>
+   </dependencies>
+   
+   <test-case name="su-unclassified-001">
+      <description>Call a zero-arity stylesheet function</description>
+      <created by="Michael Kay" on="2015-03-16"/>
+      <environment ref="su-unclassified-A"/>
+      <test>
+         <initial-template name="t-001"/>
+      </test>
+      <result>
+         <assert>count(/out/ITEM) = 6</assert>
+      </result>       
+   </test-case>
+   
+   <test-case name="su-unclassified-002">
+      <description>Call an arity=1 stylesheet function that atomizes first argument</description>
+      <created by="Michael Kay" on="2015-03-16"/>
+      <environment ref="su-unclassified-A"/>
+      <test>
+         <initial-template name="t-002"/>
+      </test>
+      <result>
+         <assert>/out = 9.06</assert>
+      </result>       
+   </test-case>
+   
+   <test-case name="su-unclassified-003">
+      <description>Call a recursive arity=1 stylesheet function that atomizes first argument</description>
+      <created by="Michael Kay" on="2015-03-16"/>
+      <environment ref="su-unclassified-A"/>
+      <test>
+         <initial-template name="t-003"/>
+      </test>
+      <result>
+         <assert>/out = 9.06</assert>
+      </result>       
+   </test-case>
+
+
+</test-set>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/strm/su-unclassified/su-unclassified-A.xsl	Tue Mar 24 19:40:30 2015 +0100
@@ -0,0 +1,90 @@
+<xsl:stylesheet version="3.0" 
+    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+    xmlns:map="http://www.w3.org/2005/xpath-functions/map"
+    xmlns:err="http://www.w3.org/2005/xqt-errors"
+    xmlns:xs="http://www.w3.org/2001/XMLSchema"
+    xmlns:f="http://www.w3.org/xslt30tests/functions"
+    exclude-result-prefixes="map xs err f">
+    
+    <xsl:variable name="RUN" select="true()" static="yes"/>
+    <xsl:strip-space elements="*"/>
+
+    
+    <!-- Test zero-arity unclassified function -->
+    
+    <xsl:function name="f:f-001" streamability="unclassified">
+      <xsl:sequence select="42"/>
+    </xsl:function>
+    
+    <xsl:template name="t-001" use-when="$RUN">
+      <xsl:stream href="../docs/books.xml">
+        <out>
+          <xsl:copy-of select="/BOOKLIST/BOOKS/ITEM[position() ne f:f-001()]"/>
+        </out>
+      </xsl:stream>
+    </xsl:template>
+    
+    <!-- Test arity=1 unclassified function that atomizes first argument -->
+    
+    <xsl:function name="f:f-002" streamability="unclassified">
+      <xsl:param name="in" as="xs:decimal*"/>
+      <xsl:sequence select="round(avg($in), 2)"/>
+    </xsl:function>
+    
+    <xsl:template name="t-002" use-when="$RUN">
+      <xsl:stream href="../docs/books.xml">
+        <out>
+          <xsl:sequence select="f:f-002(/BOOKLIST/BOOKS/ITEM/PRICE)"/>
+        </out>
+      </xsl:stream>
+    </xsl:template>
+    
+    <!-- Test arity=1 unclassified recursive function that atomizes first argument -->
+    
+    <xsl:function name="f:f-003" streamability="unclassified">
+      <xsl:param name="in" as="xs:decimal*"/>
+      <xsl:sequence select="round(avg((head($in), f:f-003(tail($in)))))"/>
+    </xsl:function>
+    
+    <xsl:template name="t-003" use-when="$RUN">
+      <xsl:stream href="../docs/books.xml">
+        <out>
+          <xsl:sequence select="f:f-003(/BOOKLIST/BOOKS/ITEM/PRICE)"/>
+        </out>
+      </xsl:stream>
+    </xsl:template>
+    
+    <!-- Test arity=2 unclassified function that atomizes first argument -->
+    
+    <xsl:function name="f:f-004" streamability="unclassified">
+      <xsl:param name="in" as="xs:decimal*"/>
+      <xsl:param name="two" as="xs:decimal"/>
+      <xsl:sequence select="round(avg($in), 2) + $two"/>
+    </xsl:function>
+    
+    <xsl:template name="t-004" use-when="$RUN">
+      <xsl:stream href="../docs/books.xml">
+        <out>
+          <xsl:sequence select="f:f-004(/BOOKLIST/BOOKS/ITEM/PRICE, 2)"/>
+        </out>
+      </xsl:stream>
+    </xsl:template>
+    
+    <!-- Test arity=2 unclassified recursive function that atomizes first argument -->
+    
+    <xsl:function name="f:f-005" streamability="unclassified">
+      <xsl:param name="in" as="xs:decimal*"/>
+      <xsl:param name="two" as="xs:decimal"/>
+      <xsl:sequence select="round(avg((head($in), f:f-005(tail($in), $two)))) + $two"/>
+    </xsl:function>
+    
+    <xsl:template name="t-005" use-when="$RUN">
+      <xsl:stream href="../docs/books.xml">
+        <out>
+          <xsl:sequence select="f:f-005(/BOOKLIST/BOOKS/ITEM/PRICE, 2)"/>
+        </out>
+      </xsl:stream>
+    </xsl:template>
+        
+
+</xsl:stylesheet>
\ No newline at end of file