3

i have changed Root Element Name of the schema and after changing this I m not able to open the schema. While opening schema I m getting following error

(80040356) Unable to retrieve converted schema
Type 'uuid:62a5abb0-5a32-414f-b1b9-0c3705e0e815:Content' is not declared.

Type 'uuid:62a5abb0-5a32-414f-b1b9-0c3705e0e815:Content' is not declared.

Source:

<xsd:schema elementFormDefault="qualified" targetNamespace="uuid:62a5abb0-5a32-414f-b1b9-0c3705e0e815" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="uuid:62a5abb0-5a32-414f-b1b9-0c3705e0e815" xmlns:tcmi="http://www.tridion.com/ContentManager/5.0/Instance" xmlns:category="tcm:0-2-1/Categories.xsd">
      <xsd:import namespace="http://www.tridion.com/ContentManager/5.0/Instance" />
      <xsd:include xlink:href="tcm:0-3250-8" xmlns:xlink="http://www.w3.org/1999/xlink" />
      <xsd:include xlink:href="tcm:0-110119-8" xmlns:xlink="http://www.w3.org/1999/xlink" />
      <xsd:import namespace="tcm:0-2-1/Categories.xsd" />
      <xsd:annotation>
        <xsd:appinfo>
          <tcm:Labels xmlns:tcm="http://www.tridion.com/ContentManager/5.0">
            <tcm:Label ElementName="tableName" Metadata="false">Table Name</tcm:Label>
            <tcm:Label ElementName="TableSubHeading" Metadata="false">Table SubHeading</tcm:Label>
            <tcm:Label ElementName="tableNumber" Metadata="false">Table Number</tcm:Label>
            <tcm:Label ElementName="tableLayout" Metadata="false">Table Layout</tcm:Label>
            <tcm:Label ElementName="periodDisplayType" Metadata="false">Period Display Type</tcm:Label>
            <tcm:Label ElementName="FontSize" Metadata="false">Font Size</tcm:Label>
            <tcm:Label ElementName="footnote-new" Metadata="false">Table Level Footnotes</tcm:Label>
            <tcm:Label ElementName="includedDataType" Metadata="false">Included data type</tcm:Label>
            <tcm:Label ElementName="ChartName" Metadata="false">Chart Name</tcm:Label>
            <tcm:Label ElementName="chartType" Metadata="false">Chart Type</tcm:Label>
            <tcm:Label ElementName="MultiChart1" Metadata="false">Multi Chart Option 1</tcm:Label>
            <tcm:Label ElementName="MultiChart2" Metadata="false">Multi Chart Option 2</tcm:Label>
            <tcm:Label ElementName="startDate" Metadata="false">Start Date</tcm:Label>
            <tcm:Label ElementName="ChartYLabel" Metadata="false">Chart Y-Axis Label</tcm:Label>
            <tcm:Label ElementName="tableHeaderRows" Metadata="false">Table Header Rows</tcm:Label>
          </tcm:Labels>
        </xsd:appinfo>
      </xsd:annotation>
      <xsd:element name="EconomicTableDefinition">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element name="tableName" minOccurs="1" maxOccurs="1" type="xsd:normalizedString">
              <xsd:annotation>
                <xsd:appinfo>
                  <tcm:ExtensionXml xmlns:tcm="http://www.tridion.com/ContentManager/5.0" />
                </xsd:appinfo>
              </xsd:annotation>
            </xsd:element>
            <xsd:element name="TableSubHeading" minOccurs="0" maxOccurs="1" type="category:EconomicTableSubheading">
              <xsd:annotation>
                <xsd:appinfo>
                  <tcm:ExtensionXml xmlns:tcm="http://www.tridion.com/ContentManager/5.0" />
                  <tcm:Size xmlns:tcm="http://www.tridion.com/ContentManager/5.0">1</tcm:Size>
                  <tcm:listtype xmlns:tcm="http://www.tridion.com/ContentManager/5.0">select</tcm:listtype>
                </xsd:appinfo>
              </xsd:annotation>
            </xsd:element>
            <xsd:element name="tableNumber" minOccurs="1" maxOccurs="1" type="xsd:normalizedString">
              <xsd:annotation>
                <xsd:appinfo>
                  <tcm:ExtensionXml xmlns:tcm="http://www.tridion.com/ContentManager/5.0" />
                </xsd:appinfo>
              </xsd:annotation>
            </xsd:element>
            <xsd:element name="tableLayout" minOccurs="1" maxOccurs="1" type="category:TableLayout">
              <xsd:annotation>
                <xsd:appinfo>
                  <tcm:ExtensionXml xmlns:tcm="http://www.tridion.com/ContentManager/5.0" />
                  <tcm:Size xmlns:tcm="http://www.tridion.com/ContentManager/5.0">1</tcm:Size>
                  <tcm:listtype xmlns:tcm="http://www.tridion.com/ContentManager/5.0">select</tcm:listtype>
                </xsd:appinfo>
              </xsd:annotation>
            </xsd:element>
            <xsd:element name="periodDisplayType" minOccurs="1" maxOccurs="1" type="category:economic-tables-periodtypes">
              <xsd:annotation>
                <xsd:appinfo>
                  <tcm:CustomURL xmlns:tcm="http://www.tridion.com/ContentManager/5.0">/economic-tables/help/economic-tables-schema-help.html#periodDisplayType</tcm:CustomURL>
                  <tcm:ExtensionXml xmlns:tcm="http://www.tridion.com/ContentManager/5.0" />
                  <tcm:Size xmlns:tcm="http://www.tridion.com/ContentManager/5.0">1</tcm:Size>
                  <tcm:listtype xmlns:tcm="http://www.tridion.com/ContentManager/5.0">select</tcm:listtype>
                </xsd:appinfo>
              </xsd:annotation>
            </xsd:element>
            <xsd:element name="FontSize" minOccurs="0" maxOccurs="1" type="category:fontSize">
              <xsd:annotation>
                <xsd:appinfo>
                  <tcm:ExtensionXml xmlns:tcm="http://www.tridion.com/ContentManager/5.0" />
                  <tcm:DefaultSimpleLinkValue xlink:href="tcm:0-113386-1024" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:tcm="http://www.tridion.com/ContentManager/5.0" />
                  <tcm:Size xmlns:tcm="http://www.tridion.com/ContentManager/5.0">1</tcm:Size>
                  <tcm:listtype xmlns:tcm="http://www.tridion.com/ContentManager/5.0">select</tcm:listtype>
                </xsd:appinfo>
              </xsd:annotation>
            </xsd:element>
            <xsd:element name="footnote-new" minOccurs="0" maxOccurs="unbounded" type="Content">
              <xsd:annotation>
                <xsd:appinfo>
                  <tcm:ExtensionXml xmlns:tcm="http://www.tridion.com/ContentManager/5.0" />
                  <tcm:EmbeddedSchema xlink:href="tcm:0-110119-8" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:tcm="http://www.tridion.com/ContentManager/5.0" />
                </xsd:appinfo>
              </xsd:annotation>
            </xsd:element>
            <xsd:element name="includedDataType" minOccurs="1" maxOccurs="unbounded" type="category:DataType">
              <xsd:annotation>
                <xsd:appinfo>
                  <tcm:ExtensionXml xmlns:tcm="http://www.tridion.com/ContentManager/5.0" />
                  <tcm:Size xmlns:tcm="http://www.tridion.com/ContentManager/5.0">3</tcm:Size>
                  <tcm:listtype xmlns:tcm="http://www.tridion.com/ContentManager/5.0">checkbox</tcm:listtype>
                </xsd:appinfo>
              </xsd:annotation>
            </xsd:element>
            <xsd:element name="ChartName" minOccurs="0" maxOccurs="1" type="xsd:normalizedString">
              <xsd:annotation>
                <xsd:appinfo>
                  <tcm:ExtensionXml xmlns:tcm="http://www.tridion.com/ContentManager/5.0" />
                </xsd:appinfo>
              </xsd:annotation>
            </xsd:element>
            <xsd:element name="chartType" minOccurs="1" maxOccurs="unbounded" type="category:ChartType">
              <xsd:annotation>
                <xsd:appinfo>
                  <tcm:ExtensionXml xmlns:tcm="http://www.tridion.com/ContentManager/5.0" />
                  <tcm:Size xmlns:tcm="http://www.tridion.com/ContentManager/5.0">6</tcm:Size>
                  <tcm:listtype xmlns:tcm="http://www.tridion.com/ContentManager/5.0">checkbox</tcm:listtype>
                </xsd:appinfo>
              </xsd:annotation>
            </xsd:element>
            <xsd:element name="MultiChart1" minOccurs="1" maxOccurs="1" type="category:ChartType">
              <xsd:annotation>
                <xsd:appinfo>
                  <tcm:ExtensionXml xmlns:tcm="http://www.tridion.com/ContentManager/5.0" />
                  <tcm:DefaultSimpleLinkValue xlink:href="tcm:0-3207-1024" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:tcm="http://www.tridion.com/ContentManager/5.0" />
                  <tcm:Size xmlns:tcm="http://www.tridion.com/ContentManager/5.0">6</tcm:Size>
                  <tcm:listtype xmlns:tcm="http://www.tridion.com/ContentManager/5.0">radio</tcm:listtype>
                </xsd:appinfo>
              </xsd:annotation>
            </xsd:element>
            <xsd:element name="MultiChart2" minOccurs="1" maxOccurs="1" type="category:ChartType">
              <xsd:annotation>
                <xsd:appinfo>
                  <tcm:ExtensionXml xmlns:tcm="http://www.tridion.com/ContentManager/5.0" />
                  <tcm:DefaultSimpleLinkValue xlink:href="tcm:0-3207-1024" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:tcm="http://www.tridion.com/ContentManager/5.0" />
                  <tcm:Size xmlns:tcm="http://www.tridion.com/ContentManager/5.0">6</tcm:Size>
                  <tcm:listtype xmlns:tcm="http://www.tridion.com/ContentManager/5.0">radio</tcm:listtype>
                </xsd:appinfo>
              </xsd:annotation>
            </xsd:element>
            <xsd:element name="startDate" minOccurs="1" maxOccurs="1" type="xsd:dateTime">
              <xsd:annotation>
                <xsd:appinfo>
                  <tcm:ExtensionXml xmlns:tcm="http://www.tridion.com/ContentManager/5.0" />
                </xsd:appinfo>
              </xsd:annotation>
            </xsd:element>
            <xsd:element name="ChartYLabel" minOccurs="0" maxOccurs="1" type="xsd:normalizedString">
              <xsd:annotation>
                <xsd:appinfo>
                  <tcm:ExtensionXml xmlns:tcm="http://www.tridion.com/ContentManager/5.0" />
                </xsd:appinfo>
              </xsd:annotation>
            </xsd:element>
            <xsd:element name="tableHeaderRows" minOccurs="1" maxOccurs="unbounded" type="TableRow">
              <xsd:annotation>
                <xsd:appinfo>
                  <tcm:ExtensionXml xmlns:tcm="http://www.tridion.com/ContentManager/5.0" />
                  <tcm:EmbeddedSchema xlink:href="tcm:0-3250-8" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:tcm="http://www.tridion.com/ContentManager/5.0" />
                </xsd:appinfo>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
    </xsd:schema>

I m using SDL Web8.5.

Update 04-12-2018

We are now able to open the General tab and Source tab of schema (with the new Root Element Name), however we are getting errors when opening Design tab of schema and any components based on the schema. Please see below error.

Error when opening Design tab of schema (Schema ID: tcm:3-2163-8):

Unable to retrieve converted schema Type 'uuid:62a5abb0-5a32-414f-b1b9-0c3705e0e815:Content' is not declared.

Error when opening components based on schema:

Unable to retrieve instance data for the schema with id tcm:3-2163-8 Type 'uuid:62a5abb0-5a32-414f-b1b9-0c3705e0e815:Content' is not declared.

(80040356) Unable to retrieve instance data for the schema with id tcm:3-2163-8 Type 'uuid:62a5abb0-5a32-414f-b1b9-0c3705e0e815:Content' is not declared. Type 'uuid:62a5abb0-5a32-414f-b1b9-0c3705e0e815:Content' is not declared.

Kindly advice.

5
  • Try fixing the root element/type name in the Source tab (XSD), Save & Close the Schema and then re-open it. The Schema should be fixed and it should be possible to open the Design tab again. Commented Dec 4, 2018 at 15:42
  • @RickPannekoek The source (XSD) already has the correct root element name <xsd:element name="EconomicTableDefinition">. The error message says `Type uuid:62a5abb0-5a32-414f-b1b9-0c3705e0e815:Content' is not declared. Why is it still trying to find Content? Commented Dec 4, 2018 at 18:06
  • Check for <xsd:element type=“Content”> references in the XSD. Commented Dec 4, 2018 at 20:53
  • @RickPannekoek thanks for pointing this out. this was the fix. Commented Dec 5, 2018 at 2:22
  • Isn’t that what I said or am I missing something? Commented Dec 5, 2018 at 16:19

2 Answers 2

2

Looking at the error message, it is probably that you've updated the Root Element Name of the Embeddable Schema that you're using for the footnote-new field from Content to something else.

You may need to update this in the source of your main schema (on the first line here):

<xsd:element name="footnote-new" minOccurs="0" maxOccurs="unbounded" type="Content">
<xsd:annotation>
<xsd:appinfo>
    <tcm:ExtensionXml xmlns:tcm="http://www.tridion.com/ContentManager/5.0" />
    <tcm:EmbeddedSchema xlink:href="tcm:0-110119-8" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:tcm="http://www.tridion.com/ContentManager/5.0" />
</xsd:appinfo>
</xsd:annotation>

2
  • your right but i m not able to save schema after changing the source.it is throwing same error while saving Commented Nov 28, 2018 at 13:15
  • As Marko mentions below, I think you'll have to remove the footnote-new field from your schema, save it and then re-add the field. As Marko also mentions, this may result in data loss from your components, so please proceed with caution! Commented Nov 28, 2018 at 13:20
1

As Jonathan said in his comment, you updated root element name of your embeddable schema from Content to something else, and now in your main schema reference is not OK to embeddable schema field. To fix this, you must remove field in main schema and add it again.

This will de facto destroy data in your old components based on your main schema since data structure is changed.

Embedded schemas should all have different root element name in the system, because if 2 have the same one, and if they are used in a single schema, you will not be able to save the component in that case, since Tridion will have difficulties mapping the content.

6
  • Marko as you said if I remove this field it will destroy all data of that field and we have to reenter those data.it will create a major issue since there are too many components .is there any other way? Commented Nov 28, 2018 at 13:32
  • yes. and no :D. You remove the field and add it again. Indeed it will destroy the data, but in new version of component. Via code you can always read previous version, map old values to new values and save component. That's what we did when we updated our schemas.
    – Marko Milic
    Commented Nov 28, 2018 at 13:34
  • Marko you mean it will destroy data in the current version but data will be there in old version Commented Nov 28, 2018 at 13:37
  • exactly. Only if you open component via GUI, it will destroy old data, and you won't see it. If you open previous version via code, the data is still there. This is so because components are synced against schema when they are opened via GUI, or if you execute this action via code explicitly calling SyncComponentWithShcema method.
    – Marko Milic
    Commented Nov 28, 2018 at 13:39
  • Note that Schema changes do not immediately impact all Components based on the Schema. So, if you remove a field from a Schema, you won't immediately lose that field in the Components based on that Schema. If you later add the field (with exactly the same XML name) again, all will be fine. Commented Nov 29, 2018 at 11:03

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.