{"record":{"id":"89f99f252c6178a7","repo":"Kong/insomnia","slug":"must-pass-an-xpath-query-89f99f","errorCode":null,"errorMessage":"Must pass an XPath query.","messagePattern":"Must pass an XPath query\\.","errorType":"validation","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"packages/insomnia/src/ui/utils/xpath/query.ts","lineNumber":10,"sourceCode":"import { DOMParser } from '@xmldom/xmldom';\nimport xpath from 'xpath';\n\n/**\n * Query an XML blob with XPath\n */\nexport const queryXPath = (xml: string, query?: string) => {\n  const document = new DOMParser().parseFromString(xml, 'text/xml');\n  if (query === undefined) {\n    throw new Error('Must pass an XPath query.');\n  }\n  const selectedValues = xpath.select(query, document as unknown as Node); // https://github.com/xmldom/xmldom/issues/724\n\n  // Single values returned can be of type string (e.g. string(), substring()), number (e.g. count(), sum()), or boolean (e.g. boolean())\n  if (typeof selectedValues === 'string' || typeof selectedValues === 'number' || typeof selectedValues === 'boolean') {\n    const str = String(selectedValues);\n    return [{ outer: str, inner: str }];\n  }\n\n  return (selectedValues as Node[])\n    .filter(\n      sv => sv.nodeType === Node.ATTRIBUTE_NODE || sv.nodeType === Node.ELEMENT_NODE || sv.nodeType === Node.TEXT_NODE,\n    )\n    .map(selectedValue => {\n      const outer = selectedValue.toString().trim();\n      if (selectedValue.nodeType === Node.ATTRIBUTE_NODE) {\n        return { outer, inner: selectedValue.nodeValue };\n      }","sourceCodeStart":1,"sourceCodeEnd":28,"githubUrl":"https://github.com/Kong/insomnia/blob/d9bb2b0142600f21309832daea3317942d285984/packages/insomnia/src/ui/utils/xpath/query.ts#L1-L28","documentation":"Error \"Must pass an XPath query.\" thrown in Kong/insomnia.","triggerScenarios":"Thrown at packages/insomnia/src/ui/utils/xpath/query.ts:10 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"d9bb2b0142600f21309832daea3317942d285984","analyzedAt":"2026-08-26T18:04:05.187Z","schemaVersion":2},"datasetVersion":"2026-08-26T21:11:00.512Z"}