Bug #5122
closedUse of fn:all gives System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.
Added by Martin Honnen about 3 years ago. Updated over 2 years ago.
100%
Description
I am not able to use the new fn:all
function with SaxonCS 11 EE, both from XSLT 4 and XPath 4 I run into an exception "System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection."
Stacktrace for some C# test bed to run "XSLT 4":
Unhandled exception. System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection. (Parameter 'index')
at System.Collections.Generic.List`1.get_Item(Int32 index)
at Saxon.Hej.functions.registry.SefFunction.callFunction(XPathContext context, F name, Sequence[] args)
at Saxon.Hej.expr.FunctionCall.iterate(XPathContext context)
at Saxon.Hej.expr.Expression.process(Outputter output, XPathContext context)
at Saxon.Hej.expr.SystemFunctionCall.process(Outputter output, XPathContext context)
at Saxon.Hej.expr.instruct.NamedTemplate.expand(Outputter output, XPathContext context)
at Saxon.Hej.trans.XsltController.callTemplate(StructuredQName initialTemplateName, Receiver out)
at Saxon.Hej.s9api.Xslt30Transformer.callTemplate(QName templateName, Destination destination)
at Saxon.Api.Xslt30Transformer.CallTemplate(QName templateName, IDestination destination)
at SaxonCSRunXSLT4.Program.Main(String[] args) in C:\Users\marti\source\repos\SaxonCSRunXSLT4\SaxonCSRunXSLT4\Program.cs:line 37
It is run against the XSLT
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="4.0"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
exclude-result-prefixes="#all"
expand-text="yes">
<xsl:output method="adaptive" indent="yes" build-tree="no"/>
<xsl:template match="/" name="xsl:initial-template">
<xsl:sequence select="all((1, 3, 7), ->{. mod 2 = 1})"/>
</xsl:template>
</xsl:stylesheet>
C# code:
using System;
using System.IO;
using Saxon.Api;
namespace SaxonCSRunXSLT4
{
class Program
{
static void Main(string[] args)
{
var processor = new Processor();
processor.SetProperty<bool>(Feature<bool>.TIMING, true);
var xsltCompiler = processor.NewXsltCompiler();
xsltCompiler.XsltLanguageVersion = "4.0";
XsltExecutable xsltExecutable;
using (var fs = File.OpenRead(args[0]))
{
xsltExecutable = xsltCompiler.Compile(fs);
}
Xslt30Transformer xslt40Transformer = xsltExecutable.Load30();
if (args.Length == 2)
{
using (var fs = File.OpenRead(args[1]))
{
xslt40Transformer.ApplyTemplates(fs, processor.NewSerializer(Console.Out));
}
}
else
{
xslt40Transformer.CallTemplate(null, processor.NewSerializer(Console.Out));
}
Console.WriteLine();
}
}
}
Updated by Martin Honnen about 3 years ago
Trying to use fn:some
instead of fn:all
gives the same stack trace, it appears:
Unhandled exception. System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection. (Parameter 'index')
at System.Collections.Generic.List`1.get_Item(Int32 index)
at Saxon.Hej.functions.registry.SefFunction.callFunction(XPathContext context, F name, Sequence[] args)
at Saxon.Hej.expr.FunctionCall.iterate(XPathContext context)
at Saxon.Hej.expr.Expression.process(Outputter output, XPathContext context)
at Saxon.Hej.expr.SystemFunctionCall.process(Outputter output, XPathContext context)
at Saxon.Hej.expr.instruct.NamedTemplate.expand(Outputter output, XPathContext context)
at Saxon.Hej.trans.XsltController.callTemplate(StructuredQName initialTemplateName, Receiver out)
at Saxon.Hej.s9api.Xslt30Transformer.callTemplate(QName templateName, Destination destination)
at Saxon.Api.Xslt30Transformer.CallTemplate(QName templateName, IDestination destination)
at SaxonCSRunXSLT4.Program.Main(String[] args) in C:\Users\Martin Honnen\Source\Repos\martin-honnen\SaxonCSRunXSLT4\SaxonCSRunXSLT4\Program.cs:line 37
Updated by Michael Kay about 3 years ago
First thing I notice is that although the tests for fn:some
and fn:all
(qt4cg/qt4tests with -lang:QT40) run fine in the development environment, there doesn't seem to be an entry in the gradle scripts to run the QT3 test driver with this particular combination, which means that the tests might not have been run on the production build.
Looking at the code, this leads me to suspect that (a) there was a failure (in the production build) to load the embedded resource sef/function-library.sef.xml, and (b) the ArgumentOutOfRangeException is a secondary error while trying to analyse and report this failure.
fn:some
and fn:all
, along with some other experimental proposed 4.0 functions, are implemented in XSLT, and the compiled SEF file generated from the XSLT, contained in sef/function-library.sef.xml, is -- in theory -- shipped with the DLL as an embedded resource. I'm not sure this mechanism has been fully integrated into the build process, partly because the XSLT source code for these functions is actually in the Saxon-JS repository - it's probably the only source code shared between the SaxonJ and SaxonJS products which makes it an exception case for the build).
The gradle build script looks as if it ought to include this SEF file in the DLL, but I'm not aware of a tool that allows me to inspect the DLL to check whether it has actually done so.
Meanwhile I'll ask Norm (our gradle guru) to upgrade the test driver build scripts to run these tests so we can check whether they work.
Updated by Michael Kay about 3 years ago
Note: it would of course be trivial to implement fn:some
and fn:all
the way most functions are implemented, in Java. Implementing them in XSLT was done because we wanted to find a way of single-sourcing function implementations across different versions of the product, and these two were convenient ways of pioneering the approach. The functions implemented this way are:
all, identity, index-where, in-scope-namespaces, is-NaN, items-after, items-before, items-from, items-until, range, slice, some
and my guess would be that they all fail the same way.
Updated by Vladimir Nesterovsky about 3 years ago
but I'm not aware of a tool that allows me to inspect the DLL to check whether it has actually done so.
https://github.com/icsharpcode/ILSpy is a good tool for this task.
Updated by Michael Kay about 3 years ago
I've added diagnostics to display the list of embedded resources in the DLL. Specifically, I added the following code to DotNetPlatform:
public void showEmbeddedResources() {
System.Reflection.Assembly ass = System.Reflection.Assembly.GetExecutingAssembly();
var resourceNames = ass.GetManifestResourceNames();
foreach (string name in resourceNames) {
Console.WriteLine("Resource: " + name);
}
}
and created a diagnostic build in which this is invoked from Version.main(). The result of executing dotnet SaxonCS.dll version
is now:
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/.DS_Store
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/.DS_Store
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/.DS_Store
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/.DS_Store
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/.DS_Store
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/.DS_Store
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/analyze-string.xsd
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/json.xsd
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/xlink/xlink.xsd
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/xslt3/xslt30.xsd
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/xpath-functions.xsd
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/casevariants.xml
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/categories.xml
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/sef/function-library.sef.xml
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/unicodeBlocks.xml
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/catalog.xml
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/chameleon.xsl
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/override.xsl
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/profile-json.xsl
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/profile.xsl
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/generate-resolver.xsl
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/xml-to-json-indent.xsl
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/xml-to-json-pkg.xsl
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/xml-to-json.xsl
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/catalog.dtd
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/mathml/mathml1/mathml.dtd
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/mathml/mathml2/mathml2-a.dtd
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/mathml/mathml2/mathml2.dtd
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/mathml/mathml2/xhtml-math11-f-a.dtd
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/mathml/mathml2/xhtml-math11-f.dtd
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/mathml/mathml2/xhtml-math11.dtd
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/mathml/mathml3/mathml3.dtd
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/rddl/rddl-xhtml.dtd
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/rddl/xhtml11.dtd
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/svg10/svg10.dtd
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/svg11/svg11-basic-flat.dtd
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/svg11/svg11-basic.dtd
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/svg11/svg11-flat-20030114.dtd
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/svg11/svg11-flat.dtd
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/svg11/svg11-tiny-flat.dtd
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/svg11/svg11-tiny.dtd
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/svg11/svg11.dtd
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/svg11/templates/svg11-template.dtd
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/xhtml10/xhtml-basic10.dtd
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/xhtml10/xhtml1-frameset.dtd
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/xhtml10/xhtml1-strict.dtd
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/xhtml10/xhtml1-transitional.dtd
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/xhtml11/xhtml-basic11.dtd
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/xhtml11/xhtml11.dtd
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/xmlschema10/datatypes.dtd
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/xmlschema10/XMLSchema.dtd
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/xmlschema11/datatypes.dtd
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/xmlschema11/XMLSchema.dtd
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/xmlspec/xmlspec.dtd
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/mathml/mathml1/isoamsa.ent
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/mathml/mathml1/isoamsb.ent
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/mathml/mathml1/isoamsc.ent
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/mathml/mathml1/isoamsn.ent
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/mathml/mathml1/isoamso.ent
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/mathml/mathml1/isoamsr.ent
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/mathml/mathml1/isobox.ent
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/mathml/mathml1/isocyr1.ent
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/mathml/mathml1/isocyr2.ent
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/mathml/mathml1/isodia.ent
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/mathml/mathml1/isogrk1.ent
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/mathml/mathml1/isogrk2.ent
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/mathml/mathml1/isogrk3.ent
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/mathml/mathml1/isogrk4.ent
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/mathml/mathml1/isolat1.ent
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/mathml/mathml1/isolat2.ent
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/mathml/mathml1/isomfrk.ent
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/mathml/mathml1/isomopf.ent
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/mathml/mathml1/isomscr.ent
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/mathml/mathml1/isonum.ent
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/mathml/mathml1/isopub.ent
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/mathml/mathml1/isotech.ent
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/mathml/mathml1/mmlalias.ent
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/mathml/mathml1/mmlextra.ent
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/mathml/mathml2/html/lat1.ent
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/mathml/mathml2/html/special.ent
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/mathml/mathml2/html/symbol.ent
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/mathml/mathml2/iso8879/isoamsa.ent
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/mathml/mathml2/iso8879/isoamsb.ent
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/mathml/mathml2/iso8879/isoamsc.ent
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/mathml/mathml2/iso8879/isoamsn.ent
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/mathml/mathml2/iso8879/isoamso.ent
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/mathml/mathml2/iso8879/isoamsr.ent
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/mathml/mathml2/iso8879/isobox.ent
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/mathml/mathml2/iso8879/isocyr1.ent
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/mathml/mathml2/iso8879/isocyr2.ent
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/mathml/mathml2/iso8879/isodia.ent
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/mathml/mathml2/iso8879/isogrk1.ent
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/mathml/mathml2/iso8879/isogrk2.ent
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/mathml/mathml2/iso8879/isogrk3.ent
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/mathml/mathml2/iso8879/isogrk4.ent
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/mathml/mathml2/iso8879/isolat1.ent
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/mathml/mathml2/iso8879/isolat2.ent
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/mathml/mathml2/iso8879/isonum.ent
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/mathml/mathml2/iso8879/isopub.ent
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/mathml/mathml2/iso8879/isotech.ent
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/mathml/mathml2/iso9573-13/isoamsa.ent
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/mathml/mathml2/iso9573-13/isoamsb.ent
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/mathml/mathml2/iso9573-13/isoamsc.ent
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/mathml/mathml2/iso9573-13/isoamsn.ent
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/mathml/mathml2/iso9573-13/isoamso.ent
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/mathml/mathml2/iso9573-13/isoamsr.ent
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/mathml/mathml2/iso9573-13/isogrk3.ent
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/mathml/mathml2/iso9573-13/isogrk4.ent
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/mathml/mathml2/iso9573-13/isomfrk.ent
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/mathml/mathml2/iso9573-13/isomopf.ent
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/mathml/mathml2/iso9573-13/isomscr.ent
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/mathml/mathml2/iso9573-13/isotech.ent
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/mathml/mathml2/isoamsa.ent
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/mathml/mathml2/isoamsb.ent
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/mathml/mathml2/isoamsc.ent
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/mathml/mathml2/isoamsn.ent
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/mathml/mathml2/isoamso.ent
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/mathml/mathml2/isoamsr.ent
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/mathml/mathml2/isobox.ent
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/mathml/mathml2/isocyr1.ent
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/mathml/mathml2/isocyr2.ent
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/mathml/mathml2/isodia.ent
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/mathml/mathml2/isogrk3.ent
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/mathml/mathml2/isolat1.ent
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/mathml/mathml2/isolat2.ent
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/mathml/mathml2/isomfrk.ent
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/mathml/mathml2/isomopf.ent
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/mathml/mathml2/isomscr.ent
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/mathml/mathml2/isonum.ent
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/mathml/mathml2/isopub.ent
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/mathml/mathml2/isotech.ent
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/mathml/mathml2/mathml/mmlalias.ent
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/mathml/mathml2/mathml/mmlextra.ent
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/mathml/mathml2/mmlalias.ent
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/mathml/mathml2/mmlextra.ent
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/mathml/mathml3/isoamsa.ent
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/mathml/mathml3/isoamsb.ent
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/mathml/mathml3/isoamsc.ent
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/mathml/mathml3/isoamsn.ent
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/mathml/mathml3/isoamso.ent
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/mathml/mathml3/isoamsr.ent
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/mathml/mathml3/isobox.ent
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/mathml/mathml3/isocyr1.ent
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/mathml/mathml3/isocyr2.ent
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/mathml/mathml3/isodia.ent
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/mathml/mathml3/isogrk3.ent
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/mathml/mathml3/isolat1.ent
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/mathml/mathml3/isolat2.ent
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/mathml/mathml3/isomfrk.ent
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/mathml/mathml3/isomopf.ent
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/mathml/mathml3/isomscr.ent
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/mathml/mathml3/isonum.ent
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/mathml/mathml3/isopub.ent
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/mathml/mathml3/isotech.ent
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/mathml/mathml3/mmlalias.ent
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/mathml/mathml3/mmlextra.ent
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/xhtml-lat1.ent
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/xhtml-special.ent
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/xhtml-symbol.ent
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/mathml/mathml2/mathml2-qname-1.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/mathml/mathml3/mathml3-qname.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/rddl/rddl-qname-1.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/rddl/rddl-resource-1.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/rddl/xhtml-arch-1.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/rddl/xhtml-attribs-1.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/rddl/xhtml-base-1.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/rddl/xhtml-basic-form-1.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/rddl/xhtml-basic-table-1.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/rddl/xhtml-blkphras-1.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/rddl/xhtml-blkstruct-1.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/rddl/xhtml-charent-1.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/rddl/xhtml-datatypes-1.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/rddl/xhtml-events-1.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/rddl/xhtml-framework-1.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/rddl/xhtml-hypertext-1.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/rddl/xhtml-image-1.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/rddl/xhtml-inlphras-1.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/rddl/xhtml-inlstruct-1.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/rddl/xhtml-link-1.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/rddl/xhtml-list-1.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/rddl/xhtml-meta-1.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/rddl/xhtml-notations-1.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/rddl/xhtml-object-1.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/rddl/xhtml-param-1.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/rddl/xhtml-qname-1.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/rddl/xhtml-rddl-model-1.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/rddl/xhtml-struct-1.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/rddl/xhtml-text-1.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/rddl/xlink-module-1.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/svg11/svg-animation.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/svg11/svg-animevents-attrib.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/svg11/svg-basic-clip.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/svg11/svg-basic-filter.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/svg11/svg-basic-font.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/svg11/svg-basic-graphics-attrib.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/svg11/svg-basic-paint-attrib.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/svg11/svg-basic-structure.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/svg11/svg-basic-text.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/svg11/svg-clip.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/svg11/svg-conditional.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/svg11/svg-container-attrib.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/svg11/svg-core-attrib.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/svg11/svg-cursor.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/svg11/svg-datatypes.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/svg11/svg-docevents-attrib.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/svg11/svg-extensibility.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/svg11/svg-extresources-attrib.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/svg11/svg-filter.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/svg11/svg-font.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/svg11/svg-framework.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/svg11/svg-gradient.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/svg11/svg-graphevents-attrib.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/svg11/svg-graphics-attrib.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/svg11/svg-hyperlink.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/svg11/svg-image.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/svg11/svg-marker.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/svg11/svg-mask.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/svg11/svg-opacity-attrib.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/svg11/svg-paint-attrib.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/svg11/svg-pattern.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/svg11/svg-profile.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/svg11/svg-qname.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/svg11/svg-script.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/svg11/svg-shape.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/svg11/svg-structure.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/svg11/svg-style.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/svg11/svg-text.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/svg11/svg-view.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/svg11/svg-viewport-attrib.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/svg11/svg-xlink-attrib.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/svg11/svg11-attribs.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/svg11/svg11-basic-attribs.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/svg11/svg11-basic-model.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/svg11/svg11-model.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/svg11/svg11-tiny-attribs.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/svg11/svg11-tiny-model.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/svg11/templates/svg-template-qname.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/svg11/templates/svg-template.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/xhtml11/xhtml-access-1.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/xhtml11/xhtml-access-qname-1.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/xhtml11/xhtml-applet-1.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/xhtml11/xhtml-arch-1.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/xhtml11/xhtml-attribs-1.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/xhtml11/xhtml-base-1.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/xhtml11/xhtml-basic-form-1.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/xhtml11/xhtml-basic-table-1.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/xhtml11/xhtml-basic10-model-1.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/xhtml11/xhtml-basic11-model-1.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/xhtml11/xhtml-bdo-1.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/xhtml11/xhtml-blkphras-1.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/xhtml11/xhtml-blkpres-1.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/xhtml11/xhtml-blkstruct-1.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/xhtml11/xhtml-charent-1.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/xhtml11/xhtml-csismap-1.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/xhtml11/xhtml-datatypes-1.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/xhtml11/xhtml-edit-1.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/xhtml11/xhtml-events-1.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/xhtml11/xhtml-form-1.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/xhtml11/xhtml-frames-1.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/xhtml11/xhtml-framework-1.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/xhtml11/xhtml-hyperAttributes-1.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/xhtml11/xhtml-hypertext-1.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/xhtml11/xhtml-iframe-1.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/xhtml11/xhtml-image-1.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/xhtml11/xhtml-inlphras-1.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/xhtml11/xhtml-inlpres-1.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/xhtml11/xhtml-inlstruct-1.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/xhtml11/xhtml-inlstyle-1.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/xhtml11/xhtml-inputmode-1.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/xhtml11/xhtml-legacy-1.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/xhtml11/xhtml-legacy-redecl-1.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/xhtml11/xhtml-link-1.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/xhtml11/xhtml-list-1.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/xhtml11/xhtml-meta-1.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/xhtml11/xhtml-meta-2.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/xhtml11/xhtml-metaAttributes-1.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/xhtml11/xhtml-nameident-1.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/xhtml11/xhtml-notations-1.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/xhtml11/xhtml-object-1.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/xhtml11/xhtml-param-1.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/xhtml11/xhtml-pres-1.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/xhtml11/xhtml-print10-model-1.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/xhtml11/xhtml-qname-1.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/xhtml11/xhtml-rdfa-model-1.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/xhtml11/xhtml-rdfa-qname-1.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/xhtml11/xhtml-role-1.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/xhtml11/xhtml-role-qname-1.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/xhtml11/xhtml-ruby-1.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/xhtml11/xhtml-script-1.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/xhtml11/xhtml-ssismap-1.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/xhtml11/xhtml-struct-1.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/xhtml11/xhtml-style-1.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/xhtml11/xhtml-table-1.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/xhtml11/xhtml-target-1.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/xhtml11/xhtml-text-1.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/xhtml11/xhtml11-model-1.mod
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/xpath-functions.scm
There are some obvious oddities here: we don't really want to be exposing the full path of the files in the build machine, but this isn't stopping things working; in general these resources are found correctly. Also, we really don't want to include the .DS_Store files.
So what's different about sef/function-library.sef.xml
?
Updated by Michael Kay about 3 years ago
Well, I made two changes: (a) I renamed the file "function-library.sef" (without the double extension), and (b) I put it in the top level data
directory (loading it without the directory prefix sef/
. With these changes, the file is picked up correctly and queries that use these functions work properly.
(The first change on its own wasn't enough. I haven't determined whether the second change on its own would be enough.)
This is a data point that should point the way to a solution, but it doesn't explain what exactly the problem is.
Updated by Michael Kay about 3 years ago
I've now gone back to the original filename sef/xpath-functions.sef.xml
, and it works if I take out the code in DotNetPlatform.loadResource() that replaces "/" by ".".
Unfortunately this code is needed to find the resource in my Rider build.
So currently, to make it work in both, I'm first trying to find the resource using the name as supplied (which works in the production build), and if that fails, I'm trying to find it using the filename after mangling (which works in Rider). That's a viable but thoroughly ugly way forward.
Updated by Michael Kay about 3 years ago
Now ran the code to list embedded resources in my Rider build and it comes out as:
Resource: Saxon.resources.net.sf.saxon.data.casevariants.xml
Resource: Saxon.resources.net.sf.saxon.data.categories.xml
Resource: Saxon.resources.net.sf.saxon.data.sef.function-library.sef.xml
which explains why the slash-to-dot replacement needs to be done in this case.
The resources were added to the Rider project using "Add existing item" followed by "Create Link", and they appear in the .csproj file as a long sequence of entries in the form
<EmbeddedResource Include="..\..\..\GitHub\saxon2020\src\main\resources\net\sf\saxon\data\xml-to-json.xsl">
<Link>resources\net\sf\saxon\data\xml-to-json.xsl</Link>
</EmbeddedResource>
In contrast the production .csproj file has a single entry of the form
<EmbeddedResource Include="../../src/main/resources/**/*">
<LogicalName>$(AssemblyName).$([System.IO.Path]::GetFullPath('%(Identity)'))</LogicalName>
</EmbeddedResource>
documents the use of the syntax $(AssemblyName)
to substitute the values of variables into the file content, though it doesn't actually mention that AssemblyName
is a predefined variable. Nor does it explain the syntax $([System.IO.Path]::GetFullPath('%(Identity)'))
which is clearly being used to get the full path of each resource and use it to compute a logical name. It seems from this that the substitution of "/" by "." in logical names is a convention rather than a requirement, and that "/" is a valid character in a logical resource name. But it's very hard to get information on this.
I've changed my Rider project, so instead of having a long list of EmbeddedResource
elements in the format created by Rider when I add the whole folder, I now have a manually created entry in the form:
<ItemGroup>
<EmbeddedResource Include="/Users/mike/GitHub/saxon2020/src/main/resources/**/*">
<LogicalName>SaxonCS.$([System.IO.Path]::GetFullPath('%(Identity)'))</LogicalName>
</EmbeddedResource>
</ItemGroup>
and this appears to do the trick. The diagnostic "version" output now lists the resources as:
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/analyze-string.xsd
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/json.xsd
Resource: SaxonCS./Users/mike/GitHub/saxon2020/src/main/resources/net/sf/saxon/data/w3c/xlink/xlink.xsd
and it finds them at run-time without the slash-to-dot substitution. So I think I'm going to stick with that.
I've found I can also add the attribute Exclude="/Users/mike/GitHub/saxon2020/src/main/resources/**/.DS_Store"
Updated by Michael Kay about 3 years ago
Other changes made:
(a) SefFunction produces clean diagnostics if it fails to load the SEF resource, rather than crashing
(b) I've left the diagnostics in, with a control switch: dotnet SaxonCS version -resources
will now display the names of the embedded resources on system error output.
It remains to check that the build script now runs the qt4 tests that were previously omitted.
Updated by Michael Kay about 3 years ago
Changes committed; now running th4 qt4 tests from the build (with -lang:XQ40). Getting
23504 successes, 18 failures, 0 incorrect ErrorCode, 9617 not run
Failing tests:
fn-highest - 2
fn-lowest - 1
fn-parts - 13
app-spec-examples - 2
This is the same result as we get in Rider. I need to look at these failures and see whether they are bugs (in the product or the tests or the documentation) but if there are issues, they don't come within the scope of this bug, which I think can now be marked as resolved.
Updated by Michael Kay about 3 years ago
- Status changed from New to Resolved
The failing tests are now the subject of their own bug reports. Marking as resolved.
Updated by O'Neil Delpratt almost 3 years ago
- % Done changed from 0 to 100
- Fixed in Maintenance Release 11.1 added
- Platforms .NET, Java added
Bug fix applied in the Saxon 11.1 release.
Updated by O'Neil Delpratt almost 3 years ago
- Fix Committed on Branch trunk added
Updated by O'Neil Delpratt almost 3 years ago
- Status changed from Resolved to Closed
Updated by Michael Kay almost 3 years ago
- Status changed from Closed to In Progress
Looks like we have two issues:
(a) the change to the way we handle embedded resources in 11.1 seems to have stopped this one being picked up
(b) the tests are working in Rider but not in the released product, which indicates a gap in post-build testing.
Updated by Norm Tovey-Walsh almost 3 years ago
- Status changed from In Progress to Resolved
With respect to (a), I think the issues have been resolved. It is included in SaxonJ, now that you've fixed the .csproj
file, it will be included in SaxonCS, and now that O'Neil has fixed the build script, it will be included in SaxonC.
I've made the SEF file explicit in a comment on Bug #5257 (internal build & release issues), which is about testing release artifacts.
I propose to mark this bug as resolved.
Updated by Norm Tovey-Walsh over 2 years ago
- Status changed from Resolved to Closed
- Applies to branch trunk added
- Fix Committed on Branch 11 added
- Fixed in Maintenance Release 11.2 added
- Fixed in Maintenance Release deleted (
11.1)
Please register to edit this issue