3

We need to update the root element name of an embedded schema, which is used in another Schema. Now once the root element name of embedded schema is done, the schema that uses it gives the below error and I am NOT able to open it in Tridion:

Unable to retrieve TridionWebSchema for schema Type 'uuid:d5f7a90f-9a9a-45d8-99d8-224c8c97c72f:EmbeddedItemLink' is not declared.

But the root element name needs to be updated, as to match the schema name of the embedded schema. Is there a way to do it?

2 Answers 2

2

Definitely, there is a way to achieve this, but before you do that change you need to be very careful about your data. I will suggest while doing that change in the lower environment analyze it properly and then only go ahead -

Here are the steps -

  1. You need to update the Root Element Name of the Embeddable Schema that you're using.
  2. You need to update the same in the source of your main schema as well.

Note*: You might face problem to save the main schema after updating the source. In that case, you need to remove that field from the main schema and then add it back.

[while doing this you will lose your data but in the new version of the component. In this case, pragmatically you can always read the previous version and map the old values to the new values and save component.]

1
  • 1
    After you changed the Root Element Name of the Embedded Schema (which is technically speaking actually a Root Type Name), all Schemas which embed it effectively become invalid; an attempt to compile the XSD will yield the mentioned error. As a result, you won't be able to edit the Schema as a "Tridion Web Schema" anymore, but you should still be able to edit the XSD, so you can still change the type name in the XSD. Mar 19, 2019 at 18:35
1

I was able to successfully update the root element name of the existing embedded schema and I would like to mention below all the steps I took. I hope this will help.

There was not data loss when i followed the steps below.

  1. Open the main schema and copy paste the source to notepad ++ (Save this as you will need it again).
  2. Remove the field from main schema that is linked to the embedded schema.
  3. Rename the root element name of your embedded schema and save it.
  4. Open the main schema on notepad ++ (see step 1) and then edit the type to your new root element name (see step 3).
  5. Copy and paste the edited source from notepad ++ to Tridion and then save the schema.

    Please make sure to follow above steps for all the main schemas that is linked to the embedded schema that you changed on step 3.

Your Answer

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

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