Modification des éditeurs en 1.6.2

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Current »

Pour utiliser l'autocomplete "dynamique" dans les formulaires modifiés localement:

Ajouter dans les fichiers form.xhtml personnalisés (avant la balise "</head>"), la ligne :

<xi:include href="oxf:/xbl/ori-md-editor/ori-autocomplete/ori-autocomplete.xbl" xxi:omit-xml-base="true"/>

Pour les formulaires Dublin-Core, remplacer  dans le fichier form.xhtml personnalisé les blocs creator et subject comme  suit:
       

        <!-- DC CREATOR -->
        <fieldset>
          <legend><xforms:output value="$fr-resources/ori-oaidc-creator" /></legend>

          <widget:ori-block element="dc:creator" minOccurs="0" maxOccurs="unbounded"
                            preceding-elements="dc:title">
            <xforms:select1
                ref="."
                selection="open"
                incremental="true"
                appearance="xxforms:autocomplete"
                xxforms:filter="true">
              <xforms:label class="hidden"><xforms:output value="$fr-resources/ori-oaidc-creator" /></xforms:label>
              <xforms:alert><xforms:output value="$fr-resources/ori-required-field" /></xforms:alert>
              <xforms:itemset
                  nodeset="for $current in . return
                           if (normalize-space($current) = '')
                           then (xxforms:instance('authors')/vdex:term/vdex:term/vdex:caption/vdex:langstring)[position() le 10]
                           else (xxforms:instance('authors')/vdex:term/vdex:term/vdex:caption/vdex:langstring[starts-with(lower-case(normalize-space(.)), lower-case($current))])[position() le 10]">
                <xforms:label value="normalize-space(.)"/>
                <xforms:value value="normalize-space(.)"/>
              </xforms:itemset>
            </xforms:select1>
          </widget:ori-block>

        </fieldset>

        <!-- DC SUBJECT -->

        <fieldset class="collapsible">

          <legend><xforms:output value="$fr-resources/ori-oaidc-subject" /></legend>

          <widget:ori-block element="dc:subject" minOccurs="0" maxOccurs="unbounded"  sortable="true"
                            preceding-elements="dc:creator | dc:title">

            <xforms:select1
                ref="."
                selection="open"
                incremental="true"
                appearance="xxforms:autocomplete"
                xxforms:filter="true">
              <xforms:label class="hidden"><xforms:output value="$fr-resources/ori-oaidc-subject" /></xforms:label>
              <xforms:alert><xforms:output value="$fr-resources/ori-alert" /></xforms:alert>
              <xforms:itemset nodeset="for $current in . return
                                       if (normalize-space($current) = '')
                                       then (xxforms:instance('keywords')/vdex:term/vdex:caption/vdex:langstring)[position() le 10]
                                       else (xxforms:instance('keywords')/vdex:term/vdex:caption/vdex:langstring[starts-with(lower-case(normalize-space(.)), lower-case($current))])[position() le 10]">
                <!-- NOTE: @value is not standard XForms, but we need it instead of @ref until the label values are normalized in keywords.xml -->
                <xforms:label value="normalize-space(.)"/>
                <xforms:value value="normalize-space(.)"/>
              </xforms:itemset>
            </xforms:select1>

          </widget:ori-block>

        </fieldset>

par :

        <!-- DC CREATOR -->
        <fieldset>
          <legend><xforms:output value="$fr-resources/ori-oaidc-creator" /></legend>

          <widget:ori-block element="dc:creator" minOccurs="0" maxOccurs="unbounded"
                            preceding-elements="dc:title">


              <orixbl:autocomplete ref="." vocab-collection="people_vcard" vocab-query="people_vcard.xq" language="fr">
                  <xforms:label class="hidden"><xforms:output value="$fr-resources/ori-oaidc-creator" /></xforms:label>
                  <xforms:alert><xforms:output value="$fr-resources/ori-required-field" /></xforms:alert>
              </orixbl:autocomplete>

          </widget:ori-block>
        </fieldset>

        <!-- DC SUBJECT -->

        <fieldset>

          <legend><xforms:output value="$fr-resources/ori-oaidc-subject" /></legend>

          <widget:ori-block element="dc:subject" minOccurs="0" maxOccurs="unbounded"  sortable="true"
                            preceding-elements="dc:creator | dc:title">

            <orixbl:autocomplete ref="." vocab-collection="indexed_subjects" vocab-query="indexed_subjects.xq" language="fr">
              <xforms:label class="hidden"><xforms:output value="$fr-resources/ori-oaidc-subject" /></xforms:label>
              <xforms:alert><xforms:output value="$fr-resources/ori-required-field" /></xforms:alert>
            </orixbl:autocomplete>

          </widget:ori-block>

        </fieldset>

    Pour les formulaires  LOM  personnalisés, remplacer dans le fichier content-xforms.xml (pour le formulaire auteur) ou case-general.xml (pour le formulaire complet) , le bloc keyword comme suit:

                        <!-- 1.5 Keyword -->
                        <fieldset>
                                <widget:legend instance="i18n_lom" termIdentifier="1.5"/>
                                <widget:ori-block element="lom:keyword" minOccurs="0" maxOccurs="unbounded" parent-element="lom:general" preceding-elements="lom:identifier | lom:title | lom:language | lom:description">
                                        <widget:lom-string-with-language>
                                                <xforms:select1 ref="." selection="open" incremental="true" appearance="xxforms:autocomplete" xxforms:filter="true">
                                                        <xforms:label ref="xxforms:instance('i18n_lom')/vdex:term/vdex:term[vdex:termIdentifier = '1.5']/vdex:caption/vdex:langstring[@language=xxforms:instance('fr-language-instance')]" class="hidden"/>
                                                        <xforms:alert ref="xxforms:instance('i18n_lom')/vdex:term/vdex:term[vdex:termIdentifier = '1.5']/vdex:metadata/orioai:alert/vdex:langstring[@language=xxforms:instance('fr-language-instance')]"/>
                                                        <xforms:itemset nodeset="for $current in . return
                                       if (normalize-space($current) = '')
                                       then (xxforms:instance('keywords')/vdex:term/vdex:caption/vdex:langstring[@language = $current/@language])[position() le 10]
                                       else (xxforms:instance('keywords')/vdex:term/vdex:caption/vdex:langstring[@language = $current/@language][starts-with(lower-case(normalize-space(.)), lower-case($current))])[position() le 10]">
                                                                <!-- NOTE: @value is not standard XForms, but we need it instead of @ref until the label values are normalized in keywords.xml -->
                                                                <xforms:label value="normalize-space(.)"/>
                                                                <xforms:value value="normalize-space(.)"/>
                                                        </xforms:itemset>
                                                </xforms:select1>
                                        </widget:lom-string-with-language>
                                </widget:ori-block>
                        </fieldset>

Par :

                        <!-- 1.5 Keyword -->
                        <fieldset>
                                <widget:legend instance="i18n_lom" termIdentifier="1.5"/>
                                <widget:ori-block element="lom:keyword" minOccurs="0" maxOccurs="unbounded"   sortable="true" parent-element="lom:general" preceding-elements="lom:identifier|lom:title|lom:language|lom:description">

                                  <orixbl:autocomplete ref="lom:string" vocab-collection="indexed_keywords" vocab-query="indexed_keywords.xq" language="fr">
                                        <xforms:label ref="xxforms:instance('i18n_lom')/vdex:term/vdex:term[vdex:termIdentifier = '1.5']/vdex:caption/vdex:langstring[@language=xxforms:instance('fr-language-instance')]" class="hidden"/>
                                        <xforms:alert ref="xxforms:instance('i18n_lom')/vdex:term/vdex:term[vdex:termIdentifier = '1.5']/vdex:metadata/orioai:alert/vdex:langstring[@language=xxforms:instance('fr-language-instance')]"/>
                                      </orixbl:autocomplete>

                                </widget:ori-block>
                        </fieldset>

2- Supprimer les instances xforms inutiles dans les fichiers main-model.xhtml et/ou  form.xhtml   personnalisés

<xforms:instance id="people-vcards" src="/fr/service/custom/ori-md-editor/oriGetVocab?vocab=people_vcard" xxforms:readonly="true" xxforms:cache="true"/>
<xforms:instance id="keywords" src="/fr/service/custom/ori-md-editor/oriGetVocab?vocab=indexed_keywords" xxforms:readonly="true" xxforms:cache="true"/>
<xforms:instance id="personal_mads" src="/fr/service/custom/ori-md-editor/oriGetVocab?vocab=personal_mads" xxforms:readonly="true" xxforms:cache="true"/>

Pour utiliser le dialogue dialog-dewey-search.xml

Remplacer le dialogue dialog-taxonomy-search.xml par dialog-dewey-search.xml en fin des fichiers xform.xhtml personnalisés

<xi:include href="oxf:/forms/ori-md-editor/lom-full/form/dialog-taxonomy-search.xml"/>

par

<xi:include href="oxf:/forms/ori-md-editor/lom-full/form/dialog-dewey-search.xml"/>
  • No labels