| 1 | = Proposal number : Proposal title = |
| 2 | |
| 3 | || '''Date''' || 2008/08/13 || |
| 4 | || '''Contact(s)''' || fxprunayre || |
| 5 | || '''Last edited''' || [[Timestamp]] || |
| 6 | || '''Status''' || draft || |
| 7 | || '''Assigned to release''' || to be determined || |
| 8 | || '''Resources''' || Resource available || |
| 9 | |
| 10 | == Overview == |
| 11 | |
| 12 | All gco:CharacterString elements could be multilingual in ISO based standards. |
| 13 | Allow multilingual editing. |
| 14 | |
| 15 | === Proposal Type === |
| 16 | * '''Type''': GUI Change, Module Change |
| 17 | * '''App''': !GeoNetwork |
| 18 | * '''Module''': SchemaLoader, Data Manager, Metadata Import, Lucene Index, Search Interface |
| 19 | |
| 20 | === Links === |
| 21 | * '''Documents''': |
| 22 | * '''Email discussions''': |
| 23 | * '''Other wiki discussions''': |
| 24 | |
| 25 | === Voting History === |
| 26 | * Vote proposed by X on Y, result was +/-n (m non-voting members). |
| 27 | |
| 28 | |
| 29 | == Motivations == |
| 30 | |
| 31 | |
| 32 | == Proposal == |
| 33 | Metadata is defined by one main language (gmd:MD_Metadata/gmd:language:gco:CharacterString) and other locale (gmd:MD_Metadata/gmd:locale/*). |
| 34 | |
| 35 | If user add new translation, a new local element has to be added: |
| 36 | {{{ |
| 37 | <locale> |
| 38 | <gmd:PT_Locale id="FR"> |
| 39 | <gmd:languageCode><gmd:LanguageCode codeList="#LanguageCode" codeListValue="fra">French</gmd:LanguageCode></gmd:languageCode> |
| 40 | <gmd:characterEncoding><gmd:MD_CharacterSetCode codeList="#MD_CharacterSetCode" codeListValue="utf8">UTF 8</gmd:MD_CharacterSetCode></gmd:characterEncoding> |
| 41 | </gmd:PT_Locale> |
| 42 | </locale> |
| 43 | }}} |
| 44 | |
| 45 | Configuration need to set the available languages the editor could use using a list of iso code. |
| 46 | |
| 47 | After editing, the new translated element is stored with: |
| 48 | * an xsi:type= « gmd:PT_FreeText_PropertyType» |
| 49 | * a first gco:CharacterString in the metadata language (in the example en) |
| 50 | * n gmd:PT_FreeText elements with each translation |
| 51 | |
| 52 | {{{ |
| 53 | <scope xsi:type="gmd:PT_FreeText_PropertyType"> |
| 54 | <gco:CharacterString>Codelists for description of metadata datasets compliant with ISO/TC 211 19115:2003 and 19139</gco:CharacterString> |
| 55 | <gmd:PT_FreeText> |
| 56 | <gmd:textGroup> |
| 57 | <gmd:LocalisedCharacterString locale="#FR ">Listes de codes pour la description de lots de métadonnées conforme ISO TC/211 19115:2003 et 19139</gmd:LocalisedCharacterString> |
| 58 | </gmd:textGroup> |
| 59 | </gmd:PT_FreeText> |
| 60 | </scope> |
| 61 | }}} |
| 62 | |
| 63 | SchemaLoader should be able to register complexType which are extension based on a PropertyType (and not only a Type). For example : |
| 64 | {{{ |
| 65 | <xs:complexType name="PT_FreeText_PropertyType"> |
| 66 | <xs:complexContent> |
| 67 | <xs:extension base="gco:CharacterString_PropertyType"> |
| 68 | }}} |
| 69 | |
| 70 | Then the metadocument should add for all elements which are of type gco:CharacterString_PropertyType an xsi:type option with the list of type available. |
| 71 | {{{ |
| 72 | <xs:element name="title" type="gco:CharacterString_PropertyType"/> |
| 73 | }}} |
| 74 | |
| 75 | For title which is a gco:CharacterString_PropertyType, xsi:type could be : |
| 76 | * gco:CharacterString_PropertyType |
| 77 | * gmd:PT_FreeText_PropertyType |
| 78 | Then if an xsi:type="gmd:PT_FreeText_PropertyType" the element is edited in multilingual mode. |
| 79 | |
| 80 | |
| 81 | Via schema_suggestion, the editor will define if one element should be « suggested » as multilingual or not and which languages to suggest. |
| 82 | {{{ |
| 83 | <field name="gmd:title"> |
| 84 | <suggest name="xsi:type" value="gmd:PT_FreeText_PropertyType"> |
| 85 | <lang value= « eng »/> |
| 86 | <lang value= « fra »/> |
| 87 | <lang value= « deu »/> |
| 88 | <lang value= « ita »/> |
| 89 | </suggest> |
| 90 | </field> |
| 91 | |
| 92 | }}} |
| 93 | |
| 94 | |
| 95 | Then the editor will suggest multilingual editing interface. |
| 96 | |
| 97 | ==== GUI ==== |
| 98 | |
| 99 | A list of all available languages is proposed to the user next to all gco:CharacterString elements. |
| 100 | |
| 101 | Label (?)* : _input_________________ [Language selection list] |
| 102 | |
| 103 | |
| 104 | |
| 105 | === Backwards Compatibility Issues === |
| 106 | * Only ISO compliant |
| 107 | |
| 108 | == Risks == |
| 109 | |
| 110 | == Participants == |
| 111 | * List of participants and role (if necessary) in current GIP |
| 112 | |