Skip to content
Commits on Source (4)
saxonhe (9.8.0.14+dfsg-1) unstable; urgency=medium
* New upstream release.
* Bump Standards-Version to 4.1.4
* Change Vcs URLs to point to salsa
-- Eugene Zhukov <eugene@debian.org> Thu, 26 Jul 2018 11:05:10 +0300
saxonhe (9.8.0.8+dfsg+1-2) unstable; urgency=medium
* Add resources to the correct path
......
......@@ -15,9 +15,9 @@ Build-Depends: debhelper (>= 11),
libcommons-io-java,
libintellij-annotations-java,
libicu4j-java
Standards-Version: 4.1.3
Vcs-Git: https://anonscm.debian.org/git/pkg-java/saxonhe.git
Vcs-Browser: https://anonscm.debian.org/cgit/pkg-java/saxonhe.git
Standards-Version: 4.1.4
Vcs-Git: https://salsa.debian.org/java-team/saxonhe
Vcs-Browser: https://salsa.debian.org/java-team/saxonhe
Homepage: http://www.saxonica.com/
Package: libsaxonhe-java
......
#!/bin/sh -e
VERSION=$2
TAR=../saxonhe_$VERSION+dfsg+1.orig.tar.xz
TAR=../saxonhe_$VERSION+dfsg.orig.tar.xz
DIR=saxonhe-$VERSION
TAG="$VERSION"
......
......@@ -11,7 +11,7 @@ Last-Update: 2014-09-14
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>net.sf.saxon</groupId>
+ <artifactId>Saxon-HE</artifactId>
+ <version>9.8.0.8</version>
+ <version>9.8.0.14</version>
+ <packaging>jar</packaging>
+ <name>Saxon-HE</name>
+ <description>The XSLT and XQuery Processor</description>
......@@ -46,7 +46,7 @@ Last-Update: 2014-09-14
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>dom4j</groupId>
+ <groupId>org.dom4j</groupId>
+ <artifactId>dom4j</artifactId>
+ <version>1.6.1</version>
+ </dependency>
......
version=3
opts=dversionmangle=s/\+dfsg\+1// \
opts=dversionmangle=s/\+dfsg// \
https://dev.saxonica.com/repos/archive/opensource/tags/ (\d.*)/ \
debian debian/orig-tar.sh
......@@ -4003,7 +4003,7 @@ public class Configuration implements SourceResolver, NotationSet {
options = ((AugmentedSource) source).getParseOptions();
underlyingSource = ((AugmentedSource) source).getContainedSource();
} else {
options = new ParseOptions();
options = new ParseOptions(defaultParseOptions); // changed by bug 3678
}
source = underlyingSource;
......
This diff is collapsed.
......@@ -449,6 +449,8 @@ public class Query {
quit(e.getMessage(), 2);
}
if (updating && exp.isUpdateQuery()) {
serializer.setDefaultOutputProperties(
exp.getUnderlyingCompiledQuery().getExecutable().getDefaultOutputProperties());
runUpdate(exp, evaluator, serializer);
} else {
runQuery(exp, evaluator, sourceInput, serializer);
......
......@@ -118,7 +118,7 @@ public class Transform {
"User-supplied net.sf.saxon.lib.Initializer class to initialize the Saxon Configuration");
options.addRecognizedOption("it", CommandLineOptions.TYPE_QNAME,
"Name of initial template");
options.addRecognizedOption("jit", CommandLineOptions.TYPE_QNAME,
options.addRecognizedOption("jit", CommandLineOptions.TYPE_BOOLEAN,
"Just-in-time compilation");
options.addRecognizedOption("l", CommandLineOptions.TYPE_BOOLEAN,
"Maintain line numbers for source documents");
......@@ -418,7 +418,7 @@ public class Transform {
value = options.getOptionValue("nogo");
if (value != null) {
run = false;
compiler.setJustInTimeCompilation(false);;
compiler.setJustInTimeCompilation(false);
}
value = options.getOptionValue("p");
......
......@@ -13,10 +13,10 @@ package net.sf.saxon;
public final class Version {
private static final int[] STRUCTURED_VERSION = {9, 8, 0, 8};
private static final String VERSION = "9.8.0.8";
private static final String BUILD = "020515"; //mmddhh
private static final String RELEASE_DATE = "2018-02-05"; //yyy-mm-dd
private static final int[] STRUCTURED_VERSION = {9, 8, 0, 14};
private static final String VERSION = "9.8.0.14";
private static final String BUILD = "072511"; //mmddhh
private static final String RELEASE_DATE = "2018-07-25"; //yyy-mm-dd
private static final String MAJOR_RELEASE_DATE = "2017-06-08";
private Version() {
......
......@@ -638,7 +638,7 @@ public final class ComplexContentOutputter extends SequenceReceiver {
kind = "a map";
}
boolean isXSLT = getPipelineConfiguration().getHostLanguage() == Configuration.XSLT;
throw new XPathException("Cannot add " + kind + " to an XML tree", isXSLT ? "XTDE0450" : "FOTY0013");
throw new XPathException("Cannot add " + kind + " to an XML tree", isXSLT ? "XTDE0450" : "FOTY0013", locationId);
}
} else if (((NodeInfo) item).getNodeKind() == Type.DOCUMENT) {
startDocument(0);
......
......@@ -11,6 +11,8 @@ import net.sf.saxon.expr.parser.ExplicitLocation;
import net.sf.saxon.expr.parser.Location;
import net.sf.saxon.expr.parser.RoleDiagnostic;
import net.sf.saxon.expr.parser.Token;
import net.sf.saxon.ma.map.HashTrieMap;
import net.sf.saxon.ma.map.TupleItemType;
import net.sf.saxon.om.Item;
import net.sf.saxon.om.NamespaceBindingSet;
import net.sf.saxon.om.NodeName;
......@@ -19,10 +21,7 @@ import net.sf.saxon.pattern.ContentTypeTest;
import net.sf.saxon.pattern.NameTest;
import net.sf.saxon.pattern.NodeKindTest;
import net.sf.saxon.trans.XPathException;
import net.sf.saxon.type.ItemType;
import net.sf.saxon.type.SchemaType;
import net.sf.saxon.type.SimpleType;
import net.sf.saxon.type.Type;
import net.sf.saxon.type.*;
import net.sf.saxon.value.Cardinality;
import java.util.HashSet;
......@@ -273,8 +272,13 @@ public class TypeCheckingFilter extends ProxyReceiver {
}
private void checkItem(Item item, Location locationId) throws XPathException {
if (!itemType.matches(item, getConfiguration().getTypeHierarchy())) {
throwTypeError(Type.getItemType(item, getConfiguration().getTypeHierarchy()), locationId);
TypeHierarchy th = getConfiguration().getTypeHierarchy();
if (!itemType.matches(item, th)) {
ItemType actual = Type.getItemType(item, th);
if (itemType instanceof TupleItemType && item instanceof HashTrieMap) {
actual = ((HashTrieMap)item).asTupleType(th);
}
throwTypeError(actual, locationId);
}
}
......
......@@ -340,7 +340,7 @@ public abstract class Assignation extends Expression implements LocalBinding {
public String getVariableName() {
if (variableName == null) {
return "zz:var" + hashCode();
return "zz:var" + computeHashCode();
} else {
return variableName.getDisplayName();
}
......@@ -356,7 +356,7 @@ public abstract class Assignation extends Expression implements LocalBinding {
public String getVariableEQName() {
if (variableName == null) {
return "Q{http://ns.saxonica.com/anonymous-var}var" + hashCode();
return "Q{http://ns.saxonica.com/anonymous-var}var" + computeHashCode();
} else if (variableName.hasURI("")) {
return variableName.getLocalPart();
} else {
......
......@@ -356,8 +356,8 @@ public class AtomicSequenceConverter extends UnaryExpression {
*/
@Override
public int hashCode() {
return super.hashCode() ^ requiredItemType.hashCode();
public int computeHashCode() {
return super.computeHashCode() ^ requiredItemType.hashCode();
}
......
......@@ -533,42 +533,6 @@ public final class Atomizer extends UnaryExpression {
return getBaseExpression().toShortString();
}
/**
* Implement the mapping function. This is stateless, so there is a singleton instance.
*/
public static class AtomizingFunction implements MappingFunction {
/**
* Private constructor, ensuring that everyone uses the singleton instance
*/
private AtomizingFunction() {
}
private static final AtomizingFunction theInstance = new AtomizingFunction();
/**
* Get the singleton instance
*
* @return the singleton instance of this mapping function
*/
public static AtomizingFunction getInstance() {
return theInstance;
}
public AtomicIterator map(Item item) throws XPathException {
if (item instanceof NodeInfo) {
return ((NodeInfo) item).atomize().iterate();
} else if (item instanceof AtomicValue) {
return new SingleAtomicIterator((AtomicValue)item);
} else {
throw new XPathException("Cannot atomize a function item or external object", "FOTY0013");
}
}
}
}
......@@ -144,7 +144,7 @@ public final class AttributeGetter extends Expression {
}
@Override
public int hashCode() {
public int computeHashCode() {
return 83571 ^ attributeName.hashCode();
}
......
......@@ -123,6 +123,8 @@ public final class AxisExpression extends Expression {
}
Configuration config = visitor.getConfiguration();
TypeHierarchy th = config.getTypeHierarchy();
ItemType contextItemType = contextInfo.getItemType();
if (!(contextItemType instanceof NodeTest)) {
int relation = th.relationship(contextInfo.getItemType(), AnyNodeTest.getInstance());
if (relation == TypeHierarchy.DISJOINT) {
......@@ -148,6 +150,7 @@ public final class AxisExpression extends Expression {
ExpressionTool.copyLocationInfo(this, step);
return step;
}
}
return checkPlausibility(visitor, contextInfo, !noWarnings);
}
......@@ -731,7 +734,7 @@ public final class AxisExpression extends Expression {
* get HashCode for comparing two expressions
*/
public int hashCode() {
public int computeHashCode() {
// generate an arbitrary hash code that depends on the axis and the node test
int h = 9375162 + axis << 20;
if (test != null) {
......
......@@ -131,7 +131,9 @@ public abstract class BinaryExpression extends Expression {
/*@NotNull*/
public Expression typeCheck(ExpressionVisitor visitor, ContextItemStaticInfo contextInfo) throws XPathException {
resetLocalStaticProperties();
typeCheckChildren(visitor, contextInfo);
//typeCheckChildren(visitor, contextInfo);
lhs.typeCheck(visitor, contextInfo);
rhs.typeCheck(visitor, contextInfo);
// if both operands are known, pre-evaluate the expression
try {
......@@ -349,10 +351,10 @@ public abstract class BinaryExpression extends Expression {
((BinaryExpression) getLhsExpression()).operator == operator) {
((BinaryExpression) getLhsExpression()).flattenExpression(list);
} else {
int h = getLhsExpression().hashCode();
int h = getLhsExpression().computeHashCode();
list.add(getLhsExpression());
int i = list.size() - 1;
while (i > 0 && h > list.get(i - 1).hashCode()) {
while (i > 0 && h > list.get(i - 1).computeHashCode()) {
list.set(i, list.get(i - 1));
list.set(i - 1, getLhsExpression());
i--;
......@@ -362,10 +364,10 @@ public abstract class BinaryExpression extends Expression {
((BinaryExpression) getRhsExpression()).operator == operator) {
((BinaryExpression) getRhsExpression()).flattenExpression(list);
} else {
int h = getRhsExpression().hashCode();
int h = getRhsExpression().computeHashCode();
list.add(getRhsExpression());
int i = list.size() - 1;
while (i > 0 && h > list.get(i - 1).hashCode()) {
while (i > 0 && h > list.get(i - 1).computeHashCode()) {
list.set(i, list.get(i - 1));
list.set(i - 1, getRhsExpression());
i--;
......@@ -399,13 +401,13 @@ public abstract class BinaryExpression extends Expression {
* result for (A op B) and for (B op A), whether or not the operator is commutative.
*/
public int hashCode() {
public int computeHashCode() {
// Ensure that an operator and its inverse get the same hash code,
// so that (A lt B) has the same hash code as (B gt A)
int op = Math.min(operator, Token.inverse(operator));
return ("BinaryExpression " + op).hashCode()
^ getLhsExpression().hashCode()
^ getRhsExpression().hashCode();
^ getLhsExpression().computeHashCode()
^ getRhsExpression().computeHashCode();
}
/**
......@@ -424,7 +426,7 @@ public abstract class BinaryExpression extends Expression {
@Override
public String toShortString() {
return parenthesize(getLhsExpression()) + " " + displayOperator() + " " + parenthesize(getRhsExpression());
return parenthesize(getLhsExpression()) + displayOperator() + parenthesize(getRhsExpression());
}
private String parenthesize(Expression operand) {
......
......@@ -393,8 +393,8 @@ public final class CardinalityChecker extends UnaryExpression {
*/
@Override
public int hashCode() {
return super.hashCode() ^ requiredCardinality;
public int computeHashCode() {
return super.computeHashCode() ^ requiredCardinality;
}
/**
......
......@@ -419,8 +419,8 @@ public class CastExpression extends CastingExpression implements Callable {
*/
@Override
public int hashCode() {
return super.hashCode() ^ getTargetType().hashCode();
public int computeHashCode() {
return super.computeHashCode() ^ getTargetType().hashCode();
}
/**
......