Changeset 828

Show
Ignore:
Timestamp:
12/04/07 08:08:12 (9 months ago)
Author:
gleu
Message:

xml2 est le module contrib traduit hier.
Correction d'une balise sur frenchtranslation (toutes versions).

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • traduc/branches/bv747/manuel/frenchtranslation.xml

    r827 r828  
    6666    </para> 
    6767 
    68   <table id="language-interface-table"
     68  <table
    6969   <title>Historique des modifications de la traduction française</title> 
    7070 
  • traduc/branches/bv803/manuel/frenchtranslation.xml

    r827 r828  
    6666    </para> 
    6767 
    68   <table id="language-interface-table"
     68  <table
    6969   <title>Historique des modifications de la traduction française</title> 
    7070 
  • traduc/branches/bv81x/manuel/frenchtranslation.xml

    r827 r828  
    6666    </para> 
    6767 
    68   <table id="language-interface-table"
     68  <table
    6969   <title>Historique des modifications de la traduction française</title> 
    7070 
  • traduc/branches/bv82x/manuel/frenchtranslation.xml

    r827 r828  
    6666    </para> 
    6767 
    68   <table id="language-interface-table"
     68  <table
    6969   <title>Historique des modifications de la traduction française</title> 
    7070 
  • traduc/trunk/manuel/frenchtranslation.xml

    r817 r828  
    6666    </para> 
    6767 
    68   <table id="language-interface-table"
     68  <table
    6969   <title>Historique des modifications de la traduction française</title> 
    7070 
  • traduc/trunk/manuel/xml2.xml

    r803 r828  
    11<sect1 id="xml2"> 
    2  <title>xml2: XML-handling functions</title> 
     2 <title>xml2&nbsp;: fonctions de gestion du XML</title> 
    33  
    44 <indexterm zone="xml2"> 
     
    77 
    88 <sect2> 
    9   <title>Deprecation notice</title> 
    10   <para> 
    11     From PostgreSQL 8.3 on, there is XML-related 
    12     functionality based on the SQL/XML standard in the core server. 
    13     That functionality covers XML syntax checking and XPath queries, 
    14     which is what this module does as well, and more, but the API is 
    15     not at all compatible.  It is planned that this module will be 
    16     removed in PostgreSQL 8.4 in favor of the newer standard API, so 
    17     you are encouraged to try converting your applications.  If you 
    18     find that some of the functionality of this module is not 
    19     available in an adequate form with the newer API, please explain 
    20     your issue to pgsql-hackers@postgresql.org so that the deficiency 
    21     can be addressed. 
     9  <title>Notice d'obsolescence</title> 
     10  <para> 
     11    À partir de PostgreSQL 8.3, les fonctionnalités XML basées sur le standard 
     12    SQL/XML sont dans le cœur du serveur. Cela couvre la vérification de la 
     13    syntaxe XML et les requêtes XPath, ce que fait aussi ce module (en dehors 
     14    d'autres choses) mais l'API n'est pas du tout compatible. Il est prévu 
     15    que ce module sera supprimé avec PostgreSQL 8.4 pour faire place à une 
     16    nouvelle API standard, donc vous êtes encouragés à convertir vos 
     17    applications. Si vous trouvez que des fonctionnalités de ce module ne sont 
     18    pas disponibles dans un format adéquat avec la nouvelle API, merci 
     19    d'expliquer votre problÚme sur la liste pgsql-hackers@postgresql.org pour 
     20    que ce problÚme soit corrigé. 
    2221  </para> 
    2322 </sect2> 
    2423   
    2524 <sect2> 
    26   <title>Description of functions</title> 
    27   <para> 
    28    The first set of functions are straightforward XML parsing and XPath queries: 
     25  <title>Description des fonctions</title> 
     26  <para> 
     27   Le premier ensemble de fonctions concerne l'analyse du XML et les 
     28   requêtes XPath&nbsp;: 
    2929  </para> 
    3030 
    3131  <table> 
    32    <title>Functions</title> 
     32   <title>Fonctions</title> 
    3333   <tgroup cols="2"> 
    3434    <tbody> 
     
    4141      <entry> 
    4242       <para> 
    43         This parses the document text in its parameter and returns true if the 
    44         document is well-formed XML.  (Note: before PostgreSQL 8.2, this function 
    45         was called xml_valid().  That is the wrong name since validity and 
    46         well-formedness have different meanings in XML.  The old name is still 
    47         available, but is deprecated and will be removed in 8.3.) 
     43        Ceci analyse un document fourni comme argument au format text et 
     44        renvoie true si le document est du XML bien formé (notez qu'avant 
     45        PostgreSQL 8.2, cette fonction était appelée xml_valid(). C'est un 
     46        mauvais nom car un document bien formé n'est pas forcément un 
     47        document valide en XML. L'ancien nom est toujours disponible mais 
     48        est obsolÚte et sera supprimé en 8.3.) 
    4849       </para> 
    4950      </entry> 
     
    5960      <entry> 
    6061       <para> 
    61         These functions evaluate the XPath query on the supplied document, and 
    62         cast the result to the specified type
     62        Ces fonctions évaluent la requête XPath à partir du document fourni, 
     63       et convertie le résultat dans le type spécifié
    6364       </para> 
    6465      </entry> 
     
    7273      <entry> 
    7374       <para> 
    74        This evaluates query on document and wraps the result in XML tags. If 
    75        the result is multivalued, the output will look like: 
     75       Cette fonction évalue la requête sur le document et enveloppe le 
     76       résultat dans des balises XML. Si le résultat a plusieurs valeurs, 
     77       la sortie ressemblera à ceci&nbsp;: 
    7678       </para> 
    7779       <literal> 
    7880        &lt;toptag> 
    79         &lt;itemtag>Value 1 which could be an XML fragment&lt;/itemtag> 
    80         &lt;itemtag>Value 2....&lt;/itemtag> 
     81        &lt;itemtag>Valeur 1 qui pourrait être un fragment XML&lt;/itemtag> 
     82        &lt;itemtag>Valeur 2....&lt;/itemtag> 
    8183        &lt;/toptag> 
    8284       </literal> 
    8385       <para> 
    84         If either toptag or itemtag is an empty string, the relevant tag is omitted. 
     86        Si toptag et/ou itemtag sont des chaînes vides, la balise adéquate 
     87        est omise. 
    8588       </para> 
    8689      </entry> 
     
    9497      <entry> 
    9598       <para> 
    96         Like xpath_nodeset(document,query,toptag,itemtag) but text omits both tags. 
     99        Comme xpath_nodeset(document,query,toptag,itemtag) mais le texte 
     100        omet les balises. 
    97101       </para> 
    98102      </entry> 
     
    106110      <entry> 
    107111       <para> 
    108         Like xpath_nodeset(document,query,toptag,itemtag) but text omits toptag. 
     112        Comme xpath_nodeset(document,query,toptag,itemtag) mais le texte omet 
     113        toptag. 
    109114       </para> 
    110115      </entry> 
     
    118123      <entry> 
    119124       <para> 
    120         This function returns multiple values seperated by the specified 
    121         seperator, e.g. Value 1,Value 2,Value 3 if seperator=','. 
     125        Cette fonction renvoie plusieurs valeurs séparées par le caractÚre 
     126        indiqué, par exemple Valeur 1,Valeur 2,Valeur 3 sir le séparateur est 
     127        une virgule. 
    122128       </para> 
    123129      </entry> 
     
    130136      </entry> 
    131137      <entry> 
    132        This is a wrapper for the above function that uses ',' as the seperator. 
     138       Ceci est un emballage de la fonction ci-dessus avec la virgule comme 
     139       séparateur. 
    133140      </entry> 
    134141     </row> 
     
    142149  <title><literal>xpath_table</literal></title> 
    143150  <para> 
    144    This is a table function which evaluates a set of XPath queries on 
    145    each of a set of documents and returns the results as a table. The 
    146    primary key field from the original document table is returned as the 
    147    first column of the result so that the resultset from xpath_table can 
    148    be readily used in joins. 
    149   </para> 
    150   <para> 
    151    The function itself takes 5 arguments, all text. 
     151   Ceci est une fonction <acronym>SRF</acronym> qui évalue un ensemble 
     152   de requêtes XPath sur un ensemble de documents et renvoie les résultats 
     153   comme une table. Le champ de clé primaire de la table des documents est 
     154   renvoyé comme premiÚre colonne des résultats pour que les résultats 
     155   puissent être utilisés dans des jointures. 
     156  </para> 
     157  <para> 
     158   La fonction prend cinq arguments, tous de type text. 
    152159  </para> 
    153160  <programlisting> 
     
    155162  </programlisting> 
    156163  <table> 
    157    <title>Parameters</title> 
     164   <title>ParamÚtres</title> 
    158165   <tgroup cols="2"> 
    159166    <tbody> 
     
    162169      <entry> 
    163170       <para> 
    164         the name of the "key" field - this is just a field to be used as 
    165         the first column of the output table i.e. it identifies the record from 
    166         which each output row came (see note below about multiple values). 
     171        Le nom du champ de la clé primaire. C'est simplement le champ à 
     172        utiliser comme premiÚre colonne de la table en sortie, autrement dit 
     173        celle qui identifie l'enregistrement (voir la note ci-dessous sur les 
     174        valeurs multiples). 
    167175       </para> 
    168176      </entry> 
     
    172180      <entry> 
    173181       <para> 
    174         the name of the field containing the XML document 
     182        Le nom du champ contenant le document XML. 
    175183       </para> 
    176184      </entry> 
     
    180188      <entry> 
    181189       <para> 
    182         the name of the table or view containing the documents 
     190        Le nom de la table ou de la vue contenant les documents. 
    183191       </para> 
    184192      </entry> 
     
    188196      <entry> 
    189197       <para> 
    190         multiple xpath expressions separated by <literal>|</literal> 
     198        Plusieurs expressions XPath séparées par des <literal>|</literal> 
    191199       </para> 
    192200      </entry> 
     
    196204      <entry> 
    197205       <para> 
    198         The contents of the where clause. This needs to be specified, 
    199         so use "true" or "1=1" here if you want to process all the rows in the 
    200         relation. 
     206        Le contenu de la clause WHERE. Elle doit être spécifiée, donc 
     207        utilisez true ou <literal>1=1</literal> si vous voulez traiter toutes 
     208       les lignes de la relation. 
    201209       </para> 
    202210      </entry> 
     
    207215 
    208216  <para> 
    209    NB These parameters (except the XPath strings) are just substituted 
    210    into a plain SQL SELECT statement, so you have some flexibility - the 
    211    statement is 
     217   Ces paramÚtres (en dehors des chaînes XPath) sont simplement substitués dans 
     218   une instruction SELECT, donc vous avez de la flexibilité. L'instruction 
     219   est celle qui suit&nbsp;: 
    212220  </para> 
    213221 
     
    219227 
    220228  <para> 
    221    so those parameters can be *anything* valid in those particular 
    222    locations. The result from this SELECT needs to return exactly two 
    223    columns (which it will unless you try to list multiple fields for key 
    224    or document). Beware that this simplistic approach requires that you 
    225    validate any user-supplied values to avoid SQL injection attacks. 
     229   Donc les paramÚtres peuvent être tout ce qui est valide dans ces 
     230   emplacements particuliers. Le résultat de ce SELECT a besoin de renvoyer 
     231   exactement deux colonnes (ce qu'il fera sauf si vous essayer d'indiquer 
     232   plusieurs champs pour la clé ou le document). Cette approche simpliste 
     233   implique que vous validiez avant tout valeur fournie par un utilisateur 
     234   pour éviter les attaques par injection de code SQL. 
    226235  </para> 
    227236  
    228237  <para> 
    229    Using the function 
     238   En utilisant la fonction 
    230239  </para> 
    231240  
    232241  <para> 
    233    The function has to be used in a FROM expression. This gives the following 
    234    form
     242   La fonction doit être utilisée dans une expression FROM. Ceci donne 
     243   la forme suivante&nbsp;
    235244  </para> 
    236245  
     
    246255 
    247256  <para> 
    248    The AS clause defines the names and types of the columns in the 
    249    virtual table. If there are more XPath queries than result columns, 
    250    the extra queries will be ignored. If there are more result columns 
    251    than XPath queries, the extra columns will be NULL. 
    252   </para> 
    253  
    254   <para> 
    255    Note that I've said in this example that pages is an integer.  The 
    256    function deals internally with string representations, so when you say 
    257    you want an integer in the output, it will take the string 
    258    representation of the XPath result and use PostgreSQL input functions 
    259    to transform it into an integer (or whatever type the AS clause 
    260    requests). An error will result if it can't do this - for example if 
    261    the result is empty - so you may wish to just stick to 'text' as the 
    262    column type if you think your data has any problems. 
    263   </para> 
    264   <para> 
    265    The select statement doesn't need to use * alone - it can reference the 
    266    columns by name or join them to other tables. The function produces a 
    267    virtual table with which you can perform any operation you wish (e.g. 
    268    aggregation, joining, sorting etc). So we could also have: 
     257   La clause AS définit les noms et types des colonnes de la table virtuelle. 
     258   S'il y a plus de requêtes XPath que de colonnes résultats, les requêtes 
     259   supplémentaires seront ignorées, S'il y a plus de colonnes résultats que 
     260   de requêtes XPath, les colonnes supplémentaires seront NULL. 
     261  </para> 
     262 
     263  <para> 
     264   Notez que j'ai dit dans cet exemple que pages est un entier (integer). La 
     265   fonction gÚre en interne les représentations textes, donc quand vous 
     266   dites que vous voulez un entier en sortie, il prendre la représentation 
     267   texte du résultat XPath et utilisera les fonctions en entrée de 
     268   PostgreSQL pour la transformer en entier (ou tout type que la clause AS 
     269   réclame). Vous obtiendrez une erreur s'il ne peut pas le faire - par 
     270   exemple si le résultat est vide - donc rester sur du texte est préférable 
     271   si vous pensez que vos données peuvent poser problÚme. 
     272  </para> 
     273  <para> 
     274   L'instruction SELECT n'a pas besoin d'utiliser * seule, elle peut référencer 
     275   les colonnes par nom ou les joindre à d'autres tables. La fonction 
     276   produit une table virtuelle avec laquelle vous pouvez réaliser toutes les 
     277   opérations que vous souhaitez (c'est-à-dire agrégation, jointure, tri, etc.) 
     278   Donc nous pouvons aussi avoir&nbsp;: 
    269279  </para> 
    270280 
     
    280290 
    281291  <para> 
    282    as a more complicated example. Of course, you could wrap all 
    283    of this in a view for convenience. 
     292   comme exemple plus compliqué. Bien sûr, vous pouvez placer tout ceci dans 
     293   une vue pour une utilisation plus simple. 
    284294  </para> 
    285295  <sect3> 
    286    <title>Multivalued results</title> 
    287    <para> 
    288     The xpath_table function assumes that the results of each XPath query 
    289     might be multi-valued, so the number of rows returned by the function 
    290     may not be the same as the number of input documents. The first row 
    291     returned contains the first result from each query, the second row th
    292     second result from each query. If one of the queries has fewer values 
    293     than the others, NULLs will be returned instead
    294    </para> 
    295    <para> 
    296     In some cases, a user will know that a given XPath query will return 
    297     only a single result (perhaps a unique document identifier) - if used 
    298     alongside an XPath query returning multiple results, the single-valued 
    299     result will appear only on the first row of the result. The solution 
    300     to this is to use the key field as part of a join against a simple
    301     XPath query. As an example
     296   <title>Résultats à plusieurs valeurs</title> 
     297   <para> 
     298    La fonction xpath_table suppose que les résultats de chaque requête 
     299    XPath ramÚnent plusieurs valeurs, donc le nombre de lignes renvoyées 
     300    par la fonction pourrait ne pas être le même que le nombre de documents 
     301    en entrée. La premiÚre ligne renvoyée contient le premier résultat d
     302    chaque requête, la deuxiÚme le second résultat de chaque requête. Si 
     303    une res requêtes a moins de valeur que les autres, NULL sera renvoyé
     304   </para> 
     305   <para> 
     306    Dans certains cas, un utilisateur saura qu'une requête XPath renverra 
     307    seulement un seul résultat, peut-être un identifiant unique de 
     308    document) - si elle est utilisée avec une requête XPath renvoyant plusieurs 
     309    résultats, le résultat sur une ligne apparaîtra seulement sur la premiÚre 
     310    ligne du résultat. La solution à cela est d'utiliser le champ clé pou
     311    une jointure avec une requête XPath. Comme exemple&nbsp;
    302312   </para> 
    303313    
     
    326336    
    327337  <sect3> 
    328    <title>The query</title> 
     338   <title>La requête</title> 
    329339    
    330340   <programlisting> 
     
    337347    
    338348   <para> 
    339    Gives the result
     349   donne le résultat&nbsp;
    340350   </para> 
    341351    
     
    348358    
    349359   <para> 
    350    To get doc_num on every line, the solution is to use two invocation
    351    of xpath_table and join the results
     360   Pour obtenir doc_num sur chaque ligne, la solution est d'utiliser deux appel
     361   Ã  xpath_table et joindre les résultats&nbsp;
    352362   </para> 
    353363    
     
    364374    
    365375   <para> 
    366    which gives the desired result
     376   qui donne le résultat désiré&nbsp;
    367377   </para> 
    368378    
     
    376386  </sect3> 
    377387 </sect2> 
    378     
    379388 
    380389 <sect2> 
    381   <title>XSLT functions</title> 
    382   <para> 
    383    The following functions are available if libxslt is installed (this is 
    384    not currently detected automatically, so you will have to amend th
    385    Makefile) 
     390  <title>Fonctions XSLT</title> 
     391  <para> 
     392   Les fonctions suivantes sont disponibles si libxslt est installé (ceci 
     393   n'est pas détecté automatiquement, donc vous aurez besoin de corriger l
     394   Makefile). 
    386395  </para> 
    387396 
     
    393402 
    394403   <para> 
    395     This function appplies the XSL stylesheet to the document and returns 
    396     the transformed result. The paramlist is a list of parameter 
    397     assignments to be used in the transformation, specified in the form 
    398     'a=1,b=2'. Note that this is also proof-of-concept code and the 
    399     parameter parsing is very simple-minded (e.g. parameter values cannot 
    400     contain commas!) 
    401    </para> 
    402    <para> 
    403     Also note that if either the document or stylesheet values do not 
    404     begin with a &lt; then they will be treated as URLs and libxslt will 
    405     fetch them. It thus follows that you can use xslt_process as a means 
    406     to fetch the contents of URLs - you should be aware of the security 
    407     implications of this
     404    Cette fonction applique la feuille de style XSLT au document et renvoie 
     405    le résultat transformé. Le paramÚtre paramlist est une liste de paramÚtres 
     406    à utiliser dans la transformation, spécifiée sous la forme 
     407    'a=1,b=2'. Notez que c'est un code non stable et que l'analyse des 
     408    paramÚtres est simpliste (c'est-à-dire que les valeurs des paramÚtres ne 
     409    peuvent pas contenir de virgules&nbsp;!) 
     410   </para> 
     411   <para> 
     412    De plus, notez que si le document ou les valeurs de la feuille de style 
     413    ne commencent pas avec un &lt;, ils seront traités comme des URL et 
     414    libxslt tentera de les récupérer. Donc, vous pouvez utiliser 
     415    xslt_process comme moyen pour récupérer le contenu d'URL. Vous devez 
     416    en comprendre les implications en terme de sécurité
    408417   </para>  
    409418   <para> 
    410     There is also a two-parameter version of xslt_process which does not 
    411     pass any parameters to the transformation. 
     419    Il existe aussi une version de xslt_process à deux paramÚtres qui ne passe 
     420    pas de paramÚtres pour la transformation. 
    412421   </para> 
    413422  </sect3> 
     
    415424 
    416425 <sect2> 
    417   <title>Credits</title> 
    418   <para> 
    419    Development of this module was sponsored by Torchbox Ltd. (www.torchbox.com) 
    420    It has the same BSD licence as PostgreSQL. 
    421   </para> 
    422   <para> 
    423    This version of the XML functions provides both XPath querying and 
    424    XSLT functionality. There is also a new table function which allows 
    425    the straightforward return of multiple XML results. Note that the current code 
    426    doesn't take any particular care over character sets - this is 
    427    something that should be fixed at some point! 
    428   </para> 
    429   <para> 
    430    If you have any comments or suggestions, please do contact me at 
    431    <email>jgray@azuli.co.uk.</email> Unfortunately, this isn't my main job, so  
    432    I can't guarantee a rapid response to your query! 
     426  <title>Crédits</title> 
     427  <para> 
     428   Le développement de ce module a été sponsorisé par Torchbox Ltd. 
     429   (www.torchbox.com) 
     430   Il utilise la même licence BSD que PostgreSQL. 
     431  </para> 
     432  <para> 
     433   Cette version des fonctions XML fournit à la fois les requêtes XPath 
     434   et les fonctionnalités du XSLT. Il y a aussi une nouvelle fonction SRF 
     435   qui permet un renvoi simple de plusieurs résultats XML. Notez que le code 
     436   actuel ne fait pas particuliÚrement attention aux jeux de caractÚres. Ceci 
     437   devra être corrigé un jour&nbsp;! 
     438  </para> 
     439  <para> 
     440   Si vous avez des commentaires ou des suggestions, merci de me contacter 
     441   sur mon adresse mail (<email>jgray@azuli.co.uk.</email>). Malheureusement, 
     442   ce n'est pas mon travail principal, donc je ne garantis par une réponse 
     443   rapide à votre demande&nbsp;! 
    433444  </para> 
    434445 </sect2>