Hi all,
 
I am trying to use an xsl transform developed as a W3C effort to convert from WSDL 1.1 to WSDL 2.0.
 
The web site is at http://www.w3.org/2006/02/WSDLConvert.html
The xsl itself is available at http://www.w3.org/2006/02/wsdl11to20.xsl
 
They provide a test form which I used to convert a WSDL: http://uncerta.in/tech/service.asmx?wsdl
 
The conversion went fine. Then I tried the same in code and I get an Invalid QName {} error (Error code: FOCA0002).
 
My code is:
 
Processor processor = new Processor();

XdmNode input = processor.NewDocumentBuilder().Build(new Uri("http://uncerta.in/tech/service.asmx?wsdl"));

XsltTransformer transformer = processor.NewXsltCompiler().Compile(new Uri("http://www.w3.org/2006/02/wsdl11to20.xsl")).Load();

transformer.InitialContextNode = input;

transformer.BaseOutputUri = new Uri("http://uncerta.in/tech/service.asmx?wsdl");

Serializer serializer = new Serializer();

StringBuilder sb = new StringBuilder();

serializer.SetOutputWriter(new StringWriter(sb));

transformer.Run(serializer);

I tested the same code replacing the wsdl and xsl with some simple samples provided in saxon documentation. The code worked fine. So, the issue must be with the wsdl or xsl. Then I replaced the xsl alone using a dummy xsl and the code executed fine. So, now I am down to the xsl provided by W3C. I am not able to figure out what would possibly create this error. It would be great if someone could help me solve this problem or try to reproduce the error.

Thanks,
Shankar