I'm using DotNetNuke 4.3.5 and have the same problem with multiple instances of the [CONTENTPANE] skin object.
I'm trying this in the skin.htm file:
<td id="ContentPane">[CONTENTPANE]</td>
<td id="pane1">[CONTENTPANE:1]</td>
<td id="pane2">[CONTENTPANE:2]</td>
and the skin.xml file:
..
<name>id</name>
<value>pane1</value>
..
After parsing this is what you find in the skin.ascx file:
<div runat="server" id="ContentPane"></div>
<div runat="server" id="ContentPane"></div>
<div runat="server" id="ContentPane"></div>
So the parsing engine doesn't care about the different id's, it just call everything "ContentPane", and because of that you get the error message.
I just can't get the [CONTENTPANE] object to work. I've looked into one of the standard skin files and found that the [CONTENTPANE] object isn't used at all, there are only 5 standard id's (TopPane, LeftPane, RightPane, ContentPane and BottomPane). So I'm solving my problem by always using these id's:
<td id="ContentPane"></td> (required)
<td id="LeftPane"></td>
<td id="RightPane"></td>
I don't care where the panes are located ("ContentPane" should be the main pane), I just use the names.
Is this a problem with 4.3.5 or with my brain?
/Stigbjörn