Below is the XML snippet of an SSIS package; I'm trying to write an XPath query to find all "SELECT *" statements from the SSIS package.
I'm getting below error
ERROR: Caused by: com.sun.org.apache.xpath.internal.domapi.XPathStylesheetDOM3Exception: Prefix must resolve to a namespace: SQLTask
XML:
<DTS:Executable
DTS:refId="Package\TEST\TEST_COUNT"
<DTS:ObjectData>
<SQLTask:SqlTaskData
SQLTask:Connection="{F7343EC3-A89E-4236-962C-FD2EB8B9491E}"
SQLTask:SqlStatementSource="select * from dbo.TEST where colname1=? and colname2=?"
SQLTask:ResultType="ResultSetType_SingleRow" xmlns:SQLTask="www.microsoft.com/sqlserver/dts/tasks/sqltask">
</SQLTask:SqlTaskData>
</DTS:ObjectData>
</DTS:Executable>
Xpath query:
//SQLTask:SqlTaskData[contains(translate(@SQLTask:SqlStatementSource,'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz') ,"select *")]/../../@DTS:refId
I was able to evaluate the xpath expression successfully from https://www.freeformatter.com/xpath-tester.html. However the actual packages are validated through XPath rules defined in SonarQube from where I'm getting this error.