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/>
). Ceci peut se produire par exemple lorsque le schéma définit maxOccurs>1 sur un élément qui est un complexType avec un choix de l'ordre.

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.

  1. <?php
  2. $letter_seq = $letter->getSequence();
  3. ?>

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

  1. <?php
  2. $letter_seq[4] = 'Snappy';
  3. $text = $letter_seq[count($letter_seq) - 1];
  4. ?>

Exemple #3 Itération de Séquence

  1. <?php
  2. foreach ($letter->getSequence() as $value) {
  3. // ...
  4. }
  5. ?>

Exemple #4 Séquence versus Objet de Données

  1. <?php
  2. $letter[2] = 'Smith';
  3. $last_name = $letter_seq[5];
  4. ?>

Exemple #5 Ajout à une séquence

  1. <?php
  2. // Ajoute une valeur prenom à la séquence
  3. // valeur : 'Smith'
  4. // index séquence : NULL (ajout)
  5. // identifiant de propriété : 1 (index propriété prenom)
  6. $lettre_seq->insert('Smith', NULL, 1);
  7.  
  8. // Ajoute une valeur nomFamille à la séquence
  9. // valeur : 'Jones'
  10. // index séquence : NULL (ajout)
  11. // identifiant de propriété : 'nomFamille' (nom propriété nomFamille)
  12. $lettre_seq->insert('Jones', NULL, 'nomFamille');
  13.  
  14. // Ajoute du texte non structuré
  15. // valeur : 'Annule Inscription.'
  16. // index séquence : absent (ajout)
  17. // identifiant de propriété : absent (texte non structuré)
  18. $lettre_seq->insert('Annule Inscription.');
  19.  
  20. // Ajoute du nouveau texte non structuré. Les séquence valeurs suivantes
  21. // d'ordre sont décalées vers le haut
  22. // valeur : 'À l'attention de :'
  23. // index séquence : 1 (insert comme second élément)
  24. // identifiant de propriété : absent (texte non structuré)
  25. $lettre_seq->insert('À l'attention de :', 1);
  26. ?>

Exemple #6 Suppression d'une séquence

  1. <?php
  2. if (isset($letter_seq[0])) {
  3. unset($letter_seq[0]);
  4. }
  5. ?>

LoadingChargement en cours