8

Quite a simple question, really. I've been trying to localise a Structure Group in our Chinese Publication and change the directory name from 'women' to '女装', but that isn't allowed according to the Schema.

Invalid value for property 'Directory'. The value violates user schema constraints. The Pattern constraint failed.

According to several sources I can perhaps edit the XSD Schema, but I find that hard to believe in order to enable another language. Am I missing something?

10

The thing is that Directory will actually be created on the presentation system and Tridion has no knowledge of what kind of system it could be (Windows, Unix, anything that can run Java).

It might be the case that the presentation file system does not allow such characters in the folder name. So to avoid broken deployments Tridion plays it safe and allows a very limited character set by default.

You can however, overwrite it in the system Schema (cm_xml_usr.xsd, this file is located in the Tridion bin directory).

| improve this answer | |
  • Indeed by design. If Tridion allowed this and then your insert exotic server type did not allow UTF8 characters in your file system, you'd be in worse shape. Change the schema to allow it. – Nuno Linhares Jan 22 '14 at 14:28
  • I see. I've been creating folders on our environments to see if Chinese Characters are allowed, and when it did succesfully I ruled it out as a possible cause to this behaviour- but it is logical it just disables it in the first place. Thanks for helping out. – MDa Jan 22 '14 at 14:38
4

It is is possible to use international characters in Structure Groups and Filenames. However you filesystem obviously need to allow it, and you are required to modify the Tridion System Schema.

To modify the system schema, you must edit the cm_xml_usr.xsd file, located inside ..\Tridion\bin\ and modify the pattern regexp inside the name="Directory" node to allow whatever characters you want to allow:

<xsd:simpleType name="Directory">
    <xsd:restriction base="xsd:string">
        <xsd:maxLength value="512"/>
        <xsd:pattern value="[-a-zA-Z0-9!\(\)_~.]*"/>
    </xsd:restriction>
</xsd:simpleType>
| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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