OpenCms stores for each schema element a language specific value. By default, each of the language specific values can differ from the others.

Using the <synchronization> node in the XSD, it can be enforced that the value of a schema element is the same for each language - it is language independent. If a value is altered in one language, the altered value is stored for all languagesat least if you use a content editor and do not edit the source directly.

Why synchronize values?

OpenCms supports multiple languages. By nature, each content is multi-lingual. It contains several language specific versions for each element. Typically these version should differ. For example, text elements should contain text in the respecitive language.

For some content elements the values should be the same in every language. For example, images might be identical for different languages. Moreover, if you use contents for configuration, the values usually ought to be identical for each language - not language specific.

To keep values identical - independent of the language - you can configure that an element's values should be synchronized. That means, if you change the value for one language, it is changed for all languages.

Forcing synchronization for a schema element

To force that the language specific values of a content element are synchronized, add the following configuration (under xsd:schema/xsd:annotation/xsd:appinfo) to the content type definition:

    <synchronization element="Paragraph/Image/Image" /> 

In the above code snippet value synchronization is enabled for the content element specified by the XPath Paragraph/Image/Image. If the value is edited in the content editor for one language, it is changed for all languages.

Synchronizations must be specified in the root content. In nested contents the specification is ignored.

What you should know about synchronized values

Synchronization of values of schema elements is a feature of the content editor. You just configure the editor to synchronize values. That is, when in the content editor, a value is changed for one language, the values of the corresponding schema elements in all other languages (if the schema elements are present at all) are also changed. If you change a value in the source code, no synchronization is performed.

Configuring synchronized schema elements adds an extra option in the form-based content editor. Because usually synchronized schema elements can have different values in different languages if the source code of the XML content is edited, the form-based content editor provides an option "Synchronize" in the "Copy locale" dialog when synchronized values are configured. This will sync the language specific values to the value from the currently edited locale.