Bonjour à tous,
Il est très rare que je pose une question mais, là, après plus d'une semaine de recherches et d'essais, je viens vous demander de l'aide.
La question, en soi, est très simple:
Comment, sous Windows, créer une classe php en partant d'un xsd?
Je me bats, depuis plus d'une semaine, pour essayer de faire fonctionner les "solutions" trouvées sur le net.
La majorité des liens renvoient vers https://github.com/goetas/xsd2php ou https://github.com/goetas-webservices/xsd2php.
J'ai beau essayer de suivre les recommandations de l'auteur, il vient toujours un moment où "ça ne marche pas".
J'ai compris l'usage du Composer et arrive à "composer" à partir du composer.json fourni.
Là ou je cale, c'est dans la partie Usage.
Soit les fichiers invoqués ne sont pas où ils sont censés être, soit les syntaxes utilisées sont destinées à un environnement Linux et, quand il y a un fichier batch, il faut corriger les chemins écrits avec des "/" au lieu de "\".
Quoi que j'essaie de corriger, je tombe sur de nouvelles erreurs.
Ce qui n'aide pas, c'est que dans l'arborescence des fichiers, il y a plusieurs "bin" et plusieurs fichiers "xsd2php".
goetas propose bien une démo fonctionnelle mais elle est basée sur l'interrogation d'un site web qui ne répond plus comme attendu et je ne sais pas comment modifier pour ouvrir mon fichier xsd en local.
Ma question prend donc plusieurs formes (pistes).
- Quelqu'un peut-il m'aider à faire fonctionner un des convertisseurs présents sur le net?
- Existe-t-il un convertisseur qui ne demande pas 36 étapes d'installation et de configuration pour fonctionner?
- Plus simple: Peut-on trouver une classe "toute faite" correspondant au schéma joint (pain.001.001.03)?
Je joins un exemple d'xsd que je cherche à transformer en classe php.
Je tiens à préciser que je débute en php. Je suis développeur VBA et VB.NET et mon but final est de réécrire en php des routines existantes et fonctionnelles en .NET.
Soyez donc indulgents si je ne comprends pas immédiatement certaines "évidences" pour un développeur php.
Evidemment, vu le temps déjà passé, je pourrais écrire la classe manuellement mais je ne sais pas comment le faire correctement.
Donc, si ça inspire quelqu'un de me montrer 2 - 3 exemples de (sous) classes.
Pour ceux à qui ça parle, voici 2 exemples de ces classes en VB.NET:
Code vb : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 Partial Public Class CustomerCreditTransferInitiationV03 Private grpHdrField As GroupHeader32 Private pmtInfField() As PaymentInstructionInformation3 '''<remarks/> Public Property GrpHdr() As GroupHeader32 Get Return Me.grpHdrField End Get Set Me.grpHdrField = value End Set End Property '''<remarks/> <System.Xml.Serialization.XmlElementAttribute("PmtInf")> _ Public Property PmtInf() As PaymentInstructionInformation3() Get Return Me.pmtInfField End Get Set Me.pmtInfField = value End Set End Property End Class
Code vb : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 Partial Public Class ActiveOrHistoricCurrencyAndAmount Private ccyField As String Private valueField As Decimal '''<remarks/> <System.Xml.Serialization.XmlAttributeAttribute()> _ Public Property Ccy() As String Get Return Me.ccyField End Get Set Me.ccyField = value End Set End Property '''<remarks/> <System.Xml.Serialization.XmlTextAttribute()> _ Public Property Value() As Decimal Get Return Me.valueField End Get Set Me.valueField = value End Set End Property End Class
J'aimerais avoir la traduction de ces classes en php.
Je joins aussi la classe VB (zippée) si ça peut aider.
Un très grand merci d'avance
Partager