summaryrefslogtreecommitdiff
path: root/gnu/xml/xpath/SubstringFunction.java
diff options
context:
space:
mode:
authorChris Burdess <dog@bluezoo.org>2006-01-11 22:05:45 +0000
committerChris Burdess <dog@bluezoo.org>2006-01-11 22:05:45 +0000
commit9ab6dda09af55000166d8b71e4bd1a3e217abea7 (patch)
treee82718cb707435ad83c5b7b524d08f45220f9764 /gnu/xml/xpath/SubstringFunction.java
parenta893d288730ef922e45b205be43ef8e91ad69077 (diff)
downloadclasspath-9ab6dda09af55000166d8b71e4bd1a3e217abea7.tar.gz
2006-01-11 Chris Burdess <dog@gnu.org>
* gnu/xml/transform/AttributeNode.java, gnu/xml/transform/ElementNode.java, gnu/xml/transform/LiteralNode.java, gnu/xml/transform/StreamSerializer.java, gnu/xml/transform/StrippingInstruction.java, gnu/xml/transform/Stylesheet.java, gnu/xml/transform/TransformerImpl.java, gnu/xml/transform/ValueOfNode.java, gnu/xml/xpath/Expr.java, gnu/xml/xpath/LocalNameFunction.java, gnu/xml/xpath/NameFunction.java, gnu/xml/xpath/NameTest.java, gnu/xml/xpath/NamespaceUriFunction.java, gnu/xml/xpath/NodeTypeTest.java, gnu/xml/xpath/SubstringFunction.java, javax/xml/namespace/QName.java: don't determine element namespace from namespace aliases when specified; better namespace handling when serializing elements; don't create HTML meta element unless head element exists; correct encoding of CDATA sections containing ']]>'; encode HTML character entity references; use ISO-Latin-1 as default encoding for HTML output; rewrite of XSLT strip-space/preserve-space handling; correct doctype-public and doctype-system output attributes; insert generated doctype before document element; fixed result tree whitespace stripping algorithm; fixed semantics of XPath name, local-name, and namespace-uri functions; name tests handle XML/XMLNS namespaces correctly; fixed semantics of processing-instruction node test. * gnu/xml/transform/TransformerFactoryImpl.java: Add main method to aid debugging.
Diffstat (limited to 'gnu/xml/xpath/SubstringFunction.java')
-rw-r--r--gnu/xml/xpath/SubstringFunction.java21
1 files changed, 5 insertions, 16 deletions
diff --git a/gnu/xml/xpath/SubstringFunction.java b/gnu/xml/xpath/SubstringFunction.java
index d65c4facb..e926f6c7a 100644
--- a/gnu/xml/xpath/SubstringFunction.java
+++ b/gnu/xml/xpath/SubstringFunction.java
@@ -78,31 +78,20 @@ final class SubstringFunction
Object val1 = arg1.evaluate(context, pos, len);
Object val2 = arg2.evaluate(context, pos, len);
String s = _string(context, val1);
- int p = (val2 instanceof Double) ?
- ((Double) val2).intValue() :
- (int) Math.round(_number(context, val2));
- p--;
+ int p = Expr.intValue(val2) - 1;
if (p < 0)
- {
- p = 0;
- }
+ p = 0;
int l = s.length() - p;
if (l <= 0)
- {
- return "";
- }
+ return "";
if (arg3 != null)
{
Object val3 = arg3.evaluate(context, pos, len);
- int v3 = (val3 instanceof Double) ?
- ((Double) val3).intValue() :
- (int) Math.round(_number(context, val3));
+ int v3 = Expr.intValue(val3);
if (v3 < l)
- {
- l = v3;
- }
+ l = v3;
}
return s.substring(p, p + l);