You've got yourself an interesting problem. this has nothing to do with the DTD directly, but the namespaces. They are declaring a default namespace that has changed. Not only is this bad design, but ti creates all kinds of problems for XSLT writers like yourself :) Especially in 1.0

Your transformation creates a temporary namespace, with a prefix, that is the same as the default namespace in the input document. This allows you to match on the input document nodes of the default namespace. If they keep changing this, your code will break everytime they change. You could simple change your prefixed namespace declaration everytime they change to whatever the default is.

The other option you have is to write a transformation that doesn't CARE what namespace the input nodes are in. This is done by changing every every "match", "select" or any other instruction to a namespace agnostic form.

So instead of having.

<xsl:template match="ebc:Report" />

You would write.

<xsl:template match="*[local-name() = 'Report']" />

This means it matches any input node, whose local-name() is Report. This would solve your problem and them it wouldn't matter what namespace your input document is in.

The other options is to use Java or C# to dynamically built your transformation with the correct namespace before it's executed.

Hi
Thanks a lot !
Previously, I had opted for the first solution, simply changing the namespace.
But reading your solutions, I have tried with the second one and it has worked.
But what will you suggest, option 2 or option 3 ?
Are there any drawbacks for option 2 ?

The best option that makes your code the most flexible is to make it namespace agnostic (*[local-name() = 'Report']), so it doesn't matter what namespace the input document is in. This takes the most work.

But the real problem in this case is the design of their input document. You should almost never have a namespace that's based off a file name that changes like that.

Hi. so this is actually a continuation from another question of mine[Here](https://www.daniweb.com/programming/software-development/threads/506795/dynamically-add-values-into-datagridview-cell-from-listbox-vb2010) but i was advised to start a new thread as the original question …

I have a 2d matrix with dimension (3, n) called A, I want to calculate the normalization and cross product of two arrays (b,z) (see the code please) for each column (for the first column, then the second one and so on).
the function that I created to find the ...

Write a C program that should create a 10 element array of random integers (0 to 9). The program should total all of the numbers in the odd positions of the array and compare them with the total of the numbers in the even positions of the array and indicate ...