Travailler avec des Objets de Données en Séquence
Des objets de données en Séquence sont des SDOs peuvent tracer l'ordre des propriétés à travers les propriétés des objets de données. Ils peuvent aussi contenir des éléments de texte non structuré (élément de texte qui n'appartient à aucune des propriétés SDO). Des objets de données en Séquence sont utiles pour travailler avec des documents XML qui permettent du texte non structuré (c'est-à-dire mixed=true) ou si les éléments peuvent être intercalée (
<A/><B/><A/>
Les exemples ci-dessous assument qu'un SDO est créé avec le schéma et l'information de l'instance montrée ci-dessous, en utilisant le Service d'Accès de Données.
Le schéma ci-dessous décrit le format d'une lettre. La lettre peut optionnellement contenir trois propriétés; date, prenom et nomFamille. Le schéma indique mixed="true" qui signifie que le texte non structuré peut être entremêlé entre les trois propriétés.
- <?php
- $letter_seq = $letter->getSequence();
- ?>
Tous les exemples suivants assument que la variable $lettre_seq a été assigné de la séquence pour l'objet de données de la lettre.
Exemple #2 Récupère/Fixe des valeurs de séquence
- <?php
- $letter_seq[4] = 'Snappy';
- $text = $letter_seq[count($letter_seq) - 1];
- ?>
Exemple #3 Itération de Séquence
- <?php
- foreach ($letter->getSequence() as $value) {
- // ...
- }
- ?>
Exemple #4 Séquence versus Objet de Données
- <?php
- $letter[2] = 'Smith';
- $last_name = $letter_seq[5];
- ?>
Exemple #5 Ajout à une séquence
- <?php
- // Ajoute une valeur prenom à la séquence
- // valeur : 'Smith'
- // index séquence : NULL (ajout)
- // identifiant de propriété : 1 (index propriété prenom)
- $lettre_seq->insert('Smith', NULL, 1);
- // Ajoute une valeur nomFamille à la séquence
- // valeur : 'Jones'
- // index séquence : NULL (ajout)
- // identifiant de propriété : 'nomFamille' (nom propriété nomFamille)
- $lettre_seq->insert('Jones', NULL, 'nomFamille');
- // Ajoute du texte non structuré
- // valeur : 'Annule Inscription.'
- // index séquence : absent (ajout)
- // identifiant de propriété : absent (texte non structuré)
- $lettre_seq->insert('Annule Inscription.');
- // Ajoute du nouveau texte non structuré. Les séquence valeurs suivantes
- // d'ordre sont décalées vers le haut
- // valeur : 'À l'attention de :'
- // index séquence : 1 (insert comme second élément)
- // identifiant de propriété : absent (texte non structuré)
- $lettre_seq->insert('À l'attention de :', 1);
- ?>
Exemple #6 Suppression d'une séquence
- <?php
- if (isset($letter_seq[0])) {
- unset($letter_seq[0]);
- }
- ?>