﻿IF OBJECT_ID('[fnConvertXmlIntListToTable]') IS NOT NULL BEGIN
  DROP FUNCTION [fnConvertXmlIntListToTable]
END  
GO

CREATE FUNCTION [fnConvertXmlIntListToTable](
   @pXml xml
  ,@pRootName varchar(100)
  ,@pNodeName varchar(100)
) RETURNS TABLE AS RETURN (
  SELECT  ROW_NUMBER() OVER (ORDER BY (SELECT 1)) Rn, t.value('.','int') AS Data
  FROM @pXml.nodes('/*[local-name()=sql:variable("@pRootName")]/*[local-name()=sql:variable("@pNodeName")]') AS x(t)
);
GO