Avertissement |
Ce module est EXPERIMENTAL. Cela signifie que le comportement de ces fonctions, leurs noms et concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS! Soyez-en conscient, et utilisez ce module à vos risques et périls. |
Afin d'utiliser le Service d'Accès de Données XML pour les Objets de Service de Données, vous aurez besoin de comprendre certains concepts derrière le SDO : les graphiques de données, les objets de données, XPath et ses expressions, et ainsi de suite. Si vous n'êtes pas familier avec ces idées, vous devriez jeter un oeil sur la section sur SDO.
Le travail de XML DAS est de déplacer les données entre l'application et un fichier source XML, qui peut être soit un fichier ou une adresse URL. Afin de faire cela, l'emplacement du schéma XML doit être spécifié, qui est passé par un paramètre de la méthode de création du XML DAS. Le schéma est utilisé pour assuré les conformités du fichier XML qui sera écrit et aussi pour s'assurer que les modifications faites à un SDO provenant d'un XML suivent le modèle décrit par le schéma XML.
Le Service d'Accès de Données requiert PHP 5.1 ou supérieur. Il est fonctionnel avec l'extension SDO et requiert que SDO soit installée. Voyez les instructions d'installation SDO pour plus de détails sur comment faire cela.
Le Service d'Accès de Données et empaqueté et installé avec l'extension SDO. Référez-vous à instructions d'installation SDO.
Les spécifications SDO 2.0 définissent la concordance entre les types XML et les types SDO. Avec Java SDO, la concordance est implémentée par le XMLHelper. Avec SDO pour PHP, cette concordance est implémentée par les Services d'Accès de Données XML. Le XML DAS implémente la concordance décrite dans les spécifications SDO 2.0 avec les restrictions suivantes :
Type Simple avec abstract="true" - aucun support PHP pour ces types abstraits SDO.
Type Simple avec sdoJava:instanceClass - aucun équivalent PHP n'est fourni.
Type Simple avec sdoJava:extendedInstanceClass - aucun équivalent PHP n'est fourni.
Type Simple avec une liste de itemType.
Type Simple avec union.
Type Complex avec abstract="true" - aucun support PHP pour ces types abstraits SDO.
Type Complex avec sdo:aliasName - aucun support PHP pour ces types d'alias SDO.
Type Complex avec contenu ouvert - aucun support PHP pour ces types ouverts SDO.
Type Complex avec attribut ouvert - aucun support PHP pour ces types ouverts SDO.
Attribut avec sdo:aliasName - aucun support PHP pour ces propriétés d'alias SDO.
Attribut avec valeur par défaut - aucun support PHP pour ces propriétés de valeurs par défaut SDO.
Attribut avec valeur fixe - aucun support PHP pour ces propriétés à lecture seule ou valeurs par défaut.
Référence Attribut.
Attribut avec sdo:string - aucun support pour sdo:string="true".
Attribut référençant un DataObject avec sdo:propertyType - aucune support pour sdo:propertyType="...".
Attribut avec une propriété bidirectionnelle à un DataObject avec sdo:oppositeProperty et sdo:propertyType - aucun support PHP pour opposé SDO.
Élément avec sdo:aliasName - aucune support PHP pour cette propriété d'alias.
Référence d'élément.
Élément avec nillable.
Élément avec groupe de substitution.
Élément de type SimpleType avec valeur par défaut - aucun support PHP pour les valeurs par défaut SDO.
Élément de type SimpleType avec valeur fixe - aucun support PHP pour les propriétés à lecture seule et valeur par défaut.
Élément de type SimpleType avec sdo:string - aucun support pour sdo:string="true".
Élément référançant un DataObject avec sdo:propertyType - aucun support pour sdo:propertyType="..."
Élément avec référence bidirectionnelle à un DataObject avec sdo:oppositeProperty et sdo:propertyType - aucun support PHP pour opposé SDO.
Les exemples suivant sont basés sur l'exemple de la lettre décrite dans la documentation SDO. Les exemples assument que le Schéma XML pour la lettre est contenu dans un fichier lettre.xsd et que l'instance de la lettre est dans le fichier lettre.xml. Ces deux fichiers sont reproduits ici :
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:lettre="http://lettreSchema" targetNamespace="http://lettreSchema"> <xsd:element name="lettres" type="lettre:FormLettre"/> <xsd:complexType name="FormLettre" mixed="true"> <xsd:sequence> <xsd:element name="date" minOccurs="0" type="xsd:string"/> <xsd:element name="prenom" minOccurs="0" type="xsd:string"/> <xsd:element name="nomFamille" minOccurs="0" type="xsd:string"/> </xsd:sequence> </xsd:complexType> </xsd:schema> |
<lettre:lettres xmlns:lettre="http://lettreSchema"> <date>1er Mars 2005</date> Mutual of Omaha Wild Kingdom, USA Chère <prenom>Casy</prenom> <nomFamille>Crocodile</nomFamille> S'il vous plaît, achetez plus de requin imperméable. Votre prime est passée date. </lettre:lettres> |
Ceci émettra l'affichage suivant (des sauts de lignes ont été insérés pour une meilleure lisibilité) :
<?xml version="1.0" encoding="UTF-8"?> <FormLettre xmlns="http://lettreSchema" xsi:type="FormLettre" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <date>9 Avril 2005</date> Acme Inc. United Kingdom. Chère <prenom>Tarun</prenom> <nomFamille>Nayar</nomFamille> Veuillez noter que votre numéro de commande 12345 a été assigné aujourd'hui. Merci de faire affaire avec nous. </FormLettre> |
Exemple 2. Fixer les propriétés d'un document XML Ce troisième exemple vous montre comment utiliser la classe SDO_DAS_XML_Document. La classe SDO_DAS_XML_Document est fourni pour obtenir et fixer des propriétés de la déclaration XML comme la version, l'emplacement du schéma, l'encodage et ainsi de suite.
Les trois premières lignes d'affichage affiche comment l'encodage et la version XML ont été obtenus du document, et comment la version XML a été fixée dans l'en-tête XML.
|
Le XML DAS fournit trois classes. Le SDO_DAS_XML qui est la classe principale utilisée pour récupérer les données de la source XML et aussi utilisée pour récrire les données. La classe suivante est SDO_DAS_XML_Document, elle est vraiment utile pour récupérer/écrire les déclarations XML comme l'encodage, version, etc. La dernière classe est SDO_DAS_XML_ParserException qui sera émise pour n'importe quelle exception d'analyse lors du chargement du fichier xsd/xml.
Ceci est la classe principale de XML DAS qui est utilisée pour récupérer les données de la source XML et aussi utilisée pour récrire les données. Autres que les méthodes de chargement et de sauvegarde des fichiers XML, il y a aussi une méthode appelée createDataObject qui peut être utilisée pour créer un DataObject vide d'un type donné.
create Ceci est la seule méthode statique disponible dans la classe SDO_DAS_XML. Utilisée pour construire un objet SDO_DAS_XML.
createDataObject Peut être utilisée pour créer le DataObject d'un type donné.
loadFromFile Charge l'instance de document xml d'un fichier. Ce fichier peut être un fichier local ou il peut être sur un hôte distant.
loadFromString Similaire à la méthode ci-dessus. Charge l'instance xml qui est disponible en tant qu'une chaîne de caractères.
saveDataObjectToFile Sauvegarde un SDO_DataObject vers un fichier.
saveDataObjectToString Sauvegarder un SDO_DataObject vers une chaîne de caractères.
saveDocumentToFile Sauvegarder un SDO_DAS_XML_Document vers un fichier xml.
saveDocumentToString Sauvegarder un SDO_DAS_XML_Document vers une chaîne de caractères.
Cette classe peut être utilisée pour récupérer/fixer des déclarations XML comme l'encodage, l'emplacement du schéma, etc.
getEncoding Récupère l'encodage.
getNoNamespaceSchemaLocation Récupère l'emplacement du schéma de l'espace de nom no.
getRootDataObject Récupère le DataObject racine.
getRootElementName Récupère le nom du DataObject racine.
getRootElementURI Récupère le URI du DataObject racine.
getSchemaLocation Récupère l'emplacement du schéma.
getXMLDeclaration Récupère si la déclaration xml est fixée ou non.
getXMLVersion Récupère la version xml.
setEncoding Fixe l'encodage avec la valeur donnée.
setNoNamespaceSchemaLocation Fixe l'emplacement du schéma de l'espace de nom no avec la valeur donnée.
setSchemaLocation Fixe l'emplacement du schéma avec la valeur donnée.
setXMLDeclaraion Pour fixer/détruire la déclaration xml.
setXMLVersion Fixe la version xml avec la valeur donnée.
Est une sous-classe de SDO_Exception. Émis pour n'importe quelle erreur d'analyse lors du chargement du fichier xsd/xml.
Précédent | Sommaire | Suivant |
SDO_Sequence::move | Niveau supérieur | SDO_DAS_XML_Document::getEncoding |