I am trying to get the text elements of a table that follows a paragraph that contains a specific text element using XQuery on MS SQL Server. The problem is whenever I use the axes "following", "following-sibling" or "previous-sibling", I get an error saying this is not supported in SQL Server (I'm using version 2008). So for instance, I can get the first paragraph node that contains a text node whose value is "blah":
//w:p[descendant::w:t = "blah"]
And I can get the text from a table element using:
//w:tbl//w:t/text()
I don't see any way I can force the query to only return the first table element that follows the previously captured paragraph node since:
//w:tbl[following:://w:p//w:t = "blah"]//w:t/text()
Gives the error: "XQuery [Specification.document.query()]: The XQuery syntax 'following' is not supported."
And the same for:
//w:tbl[following-sibling::w:p[descendant::w:t = "blah"]]//w:t/text()
Gives "XQuery [Specification.document.query()]: The XQuery syntax 'following-sibling' is not supported."
That ain't right, y'all know! XPath has supported following and following-sibling since 1.0 back in 1999 AFAICT so MS SQL Server seems to be severely deficient in terms of standard compliance but either way, does anyone see a way I can do this without those axes? Thanks in advance!
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…