1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
|
package com.jclark.xsl.tr;
import com.jclark.xsl.om.*;
import com.jclark.xsl.expr.VariantBase;
import java.net.URL;
public abstract class ResultFragmentVariantBase extends VariantBase implements ResultFragmentVariant {
private String cachedStringValue = null;
private Node cachedNode = null;
public String convertToString() throws XSLException {
if (cachedStringValue == null) {
StringResult result = new StringResult();
append(result);
cachedStringValue = result.toString();
}
return cachedStringValue;
}
public boolean convertToBoolean() throws XSLException {
return true;
}
public Node getTree(ProcessContext context) throws XSLException {
if (cachedNode == null) {
Node[] rootNodeRef = new Node[1];
Result result = context.createNodeResult(getBaseNode(), rootNodeRef);
result.start(null);
append(result);
result.end();
cachedNode = rootNodeRef[0];
}
return cachedNode;
}
}
|