local-name(.)
のノード名を表示する場合はhereと表示されますが、各ジョブ候補の名前を再開して姓を再開することはできません。T-SQL XQueryノードの値のパスが一致しません
USE AdventureWorks2012;
WITH XMLNAMESPACES(
'http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/Resume'
AS ns)
SELECT
T.rows.value('(ns:Name.First)[1]', 'nvarchar(100)') AS firstName,
T.rows.value('(ns:Name.Last)[1]', 'nvarchar(100)') AS lastName
FROM HumanResources.JobCandidate
CROSS APPLY
Resume.nodes('//ns:Name/*') AS T(rows);
エラーメッセージには、対象ノードと思われるものを含め、コンテキスト内のノードが一覧表示されます。
のXQuery [HumanResources.JobCandidate.Resume.value()]:タイプ 「要素(NS {http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/Resume}に "Name.First {http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/Resume}" : という名前の要素が存在しない名前.Prefix、XS:列)| 要素(NS {http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/Resume}:Name.First、XS:列)
...
要素(ns {http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/Resume}:Name.Last、xs:string)| 要素(NS {} http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/Resume:Name.Suffix、XS:文字列)。」
element
がレベルダウンしているという問題です