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]); } ?>