Skip to content

Commit

Permalink
Merge pull request #169 from DotJoshJohnson/undefined-xpath
Browse files Browse the repository at this point in the history
Fix Undefined XPath Result
  • Loading branch information
DotJoshJohnson authored May 28, 2018
2 parents 75733cd + 231fec0 commit 7fa1d71
Showing 1 changed file with 18 additions and 5 deletions.
23 changes: 18 additions & 5 deletions src/xpath/xpath-evaluator.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,19 @@ export class EvaluatorResultType {
static NODE_COLLECTION = 1;
}

export class XPathResultTypes {
static ANY_TYPE = 0;
static NUMBER_TYPE = 1;
static STRING_TYPE = 2;
static BOOLEAN_TYPE = 3;
static UNORDERED_NODE_ITERATOR_TYPE = 4;
static ORDERED_NODE_ITERATOR_TYPE = 5;
static UNORDERED_NODE_SNAPSHOT_TYPE = 6;
static ORDERED_NODE_SNAPSHOT_TYPE = 7;
static ANY_UNORDERED_NODE_TYPE = 8;
static FIRST_ORDERED_NODE_TYPE = 9;
}

export class XPathEvaluator {
static evaluate(query: string, xml: string, ignoreDefaultNamespace: boolean): EvaluatorResult {
if (ignoreDefaultNamespace) {
Expand All @@ -29,17 +42,17 @@ export class XPathEvaluator {
evaluatorResult.type = EvaluatorResultType.SCALAR_TYPE;

switch (xPathResult.resultType) {
case xPathResult.NUMBER_TYPE:
case XPathResultTypes.NUMBER_TYPE:
evaluatorResult.result = xPathResult.numberValue;
break;
case xPathResult.STRING_TYPE:
case XPathResultTypes.STRING_TYPE:
evaluatorResult.result = xPathResult.stringValue;
break;
case xPathResult.BOOLEAN_TYPE:
case XPathResultTypes.BOOLEAN_TYPE:
evaluatorResult.result = xPathResult.booleanValue;
break;
case xPathResult.UNORDERED_NODE_ITERATOR_TYPE:
case xPathResult.ORDERED_NODE_ITERATOR_TYPE:
case XPathResultTypes.UNORDERED_NODE_ITERATOR_TYPE:
case XPathResultTypes.ORDERED_NODE_ITERATOR_TYPE:
evaluatorResult.result = xPathResult.booleanValue;

let node: Node;
Expand Down

0 comments on commit 7fa1d71

Please sign in to comment.