cnigfr / PCRS

5 stars 1 forks source link

L'emprise d'échange n'est pas signalée dans le XSD comme obligatoire #5

Open DenisBayard opened 3 years ago

DenisBayard commented 3 years ago

C'est l'emprise d'échange qui permet d'accéder aux objets du PCRS (cf. extrait documentation ci-dessous) or l'élément n'est pas signalé dans le XSD comme obligatoire.

Extrait documentation : Une emprise d'échange du PCRS permet d'accéder à l'ensemble des éléments constituant le PCRS, et sert en particulier à repérer les objets du PCRS, en général associés à une thématique et porteurs de précision, ainsi que les affleurants de réseaux de tous types.

Proposition de correction

Ajouter une référence à l'elément EmpriseEchangePCRS dans l'extension de gml:AbstractFeatureType du type PlanCorpsRueSimplifieType. Cette référence devrait être mise en fin de séquence car dans l'emprise il y a la référence à chaque objet du PCRS, et les applications générant le PCRS ne peuvent pas facilement anticiper les id qui seront utilisés.

     <complexType name="PlanCorpsRueSimplifieType">
         <complexContent>
            <extension base="gml:AbstractFeatureType">
               <sequence>
                  <element name="featureMember"
                           type="pcrs:PCRSFeatureMemberType"
                           minOccurs="0"
                           maxOccurs="unbounded"/>
                   <element ref="pcrs:EmpriseEchangePCRS"/>
              </sequence>
               <attribute name="version" use="required"/>
               <attributeGroup ref="gml:AggregationAttributeGroup"/>
            </extension>
         </complexContent>
      </complexType>
DenisBayard commented 3 years ago

Comme dans un fichier PCRS il peut y avoir plusieurs emprises, mettre minOccurs="1" et maxOccurs="unbounded" . Lors de la présence de plusieurs emprises il serait intéressant que les éléments ne soient pas ordonnés, donc que ce ne soit pas une séquence.

MarieLambois commented 3 years ago

Je comprends bien l'inquiétude de voir les emprises pas aussi bien utilisées que ce qu'elles devraient, néanmoins il me semble qu'il n'est pas possible de changer le XSD vers une version qui ne soit pas rétrocompatible à ce stade.