| 11 | |
| 12 | === Document Structure === |
| 13 | |
| 14 | S3XML defines 4 element types: |
| 15 | |
| 16 | - [#s3xml s3xml] |
| 17 | - [#resource resource] |
| 18 | - [#data data] |
| 19 | - [#reference reference] |
| 20 | |
| 21 | ==== s3xml ==== |
| 22 | ||'''Parent elements'''||''none (root element)''|| |
| 23 | ||'''Child elements'''||[#resource resource]|| |
| 24 | ||'''Contents'''||''empty''|| |
| 25 | |
| 26 | ==== resource ==== |
| 27 | ||'''Parent elements'''||[#s3xml s3xml], [#resource resource], [#reference reference]|| |
| 28 | ||'''Child elements'''||[#resource resource]|| |
| 29 | ||'''Contents'''||''empty''|| |
| 30 | |
| 31 | ==== data ==== |
| 32 | ||'''Parent elements'''||[#resource resource]|| |
| 33 | ||'''Child elements'''||''none (leaf element)''|| |
| 34 | ||'''Contents'''||Text|| |
| 35 | |
| 36 | Represents the value of a single field in the record. |
| 37 | |
| 38 | Attributes: |
| 39 | ||'''Name'''||'''Type'''||'''Description'''||'''mandatory?'''|| |
| 40 | ||'''field'''||string||the field name in the record||''yes''|| |
| 41 | ||'''value'''||JSON value||the native field value||''no''|| |
| 42 | ||'''url'''||URL||the URL to download the contents from*||''no''|| |
| 43 | ||'''filename'''||filename||the filename of the attached contents*||''no''|| |
| 44 | |
| 45 | The text node in the {{{data}}} element provides a human-readable representation of the field value. If this representation is different from the original value in the database, then the original value must be provided by the ''value'' attribute. |
| 46 | |
| 47 | * If the field is for file upload, a {{{url}}} attribute should be provided to specify the location of the file. The importer will try to download and store the file (file transfer) from that URL (''pull''). It is also possible to send the file with the HTTP request - in this case the {{{filename}}} must be specified instead of {{{url}}} (''push''). |
| 48 | |
| 49 | The ''push'' variant for uploads is meant for peers which do not support pulling for some reason (e.g. mobile phones). Normal servers would always provide a URL for download in order to allow the consuming site decide which files to download and when (saves bandwidth). |
| 50 | |
| 51 | ==== reference ==== |
| 52 | ||'''Parent elements'''||[#resource resource]|| |
| 53 | ||'''Child elements'''||[#resource resource]|| |
| 54 | ||'''Contents'''||Text|| |
| 55 | |
| 56 | === Example === |