[PHP] SDO_DAS_XML beperkt tot slechts 1 element?

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Als eindwerk voor school dienen wij een proof-of-concept te maken van een innovatieve technologie, ik heb hierbij voor PHP SDO gekozen.

Het is interessant geworden want ik heb er veel over bijgeleerd, echter het is (voor mij althans) vrij hard om hier een deftige proof-of-concept voor te maken. Voorbeelden zijn vrijwel nergens te vinden tenzij op de officiële documentatie en mirrors daarvan, maar dat zijn slechts kinderstapjes...

Ik wil nu concreet een deftig voorbeeld gaan maken die de werken van SDO_DAS_XML en SDO_DAS_Relational in één mooi voorbeeld demonstreert, maar ik stoot op de nodige problemen hierbij.
Mijn plan was om een soort van RSS achtige situatie na te bootsen, ik haal nieuws op uit de database en schrijf deze dan weg in een XML bestand via SDO_DAS_XML.

In de officiële handleiding van SDO_DAS_XML ( http://php.belnet.be/manual/en/ref.sdo-das-xml.php ) zijn er echter alleen voorbeelden te vinden met 1 element, daarmee bedoel ik zaken zoals:
code:
1
2
3
4
5
6
7
8
9
10
11
<?xml version="1.0" encoding="UTF-8"?>
<FormLetter xmlns="http://letterSchema" xsi:type="FormLetter" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<date>April 09, 2005</date>
Acme Inc. United Kingdom. 
Dear
<firstName>Tarun</firstName>
<lastName>Nayar</lastName>
Please note that your order number 12345 has been 
dispatched today. Thanks for your business with us.
</FormLetter>
Slechts 1 letter, FormLetter.
Aangezien ik in mijn voorbeeldje meerdere nieuws artikels in dat XML document zetten moet ik dus gebruik gaan maken van meerdere elementen.
XML en XSD is allemaal wat nieuw voor mij maar aan de hand van w3chools.com is het me toch gelukt een XSD op te stellen, echter SDO lijkt geen meerdere elementen aan te kunnen of ik moet er helemaal niks meer van snappen.

Op de hoofdpagina van PHP SDO ( http://be2.php.net/sdo ) staat er een document met meerdere elementen maar nergens details over hoe dit nu precies gemaakt dient te worden.

Mijn XSD ziet er als volgt uit:
XML:
1
*removed*

En mijn PHP code gaat als volgt:
PHP:
1
*removed*

Waarbij het gegeneerde XML bestand dit is:
XML:
1
*removed*

Nu leek het mij logisch dat ik in de createDataObject functie het type op newsType kon zetten, maar dan kan hij uiteraard title e.d. niet vinden. De functie heeft volgende beschrijving volgens de handleiding:
Creates SDO_DataObject for a given namespace URI and type name. The type should be defined in the underlying model otherwise SDO_TypeNotFoundException will be thrown.
Tenzij ik ergens een type vergeet in men XSD of er een ongedocumenteerde functie bestaat lijkt hetgeen wat ik wil proberen onmogelijk?
Ik heb de restrictions hier overlopen en volgens mij staat er niks dergelijks in wat toch moet betekenen dat dit mogelijk zou zijn :?
Het kan uiteraard ook aan mij liggen en mijn beperkte kennis van XML/XSD.

Indien er mensen zijn met ervaring van PHP SDO of Java SDO had ik graag geweten of het wel mogelijk is wat ik probeer? Of is het dusdanig beperkt dat ik maar 1 element (1 letter, 1 newsentry) kan stoppen in zon bestand?

Na het overlopen van de mogelijke functies van SDO_Sequence en SDO_DataObject lijkt er weinig anders beschikbaar. De getContainer() functie doet zelfs helemaal niks |:(

[ Voor 33% gewijzigd door Verwijderd op 23-01-2006 19:32 ]


Acties:
  • 0 Henk 'm!

Verwijderd

yeah een mcter :D , moet es mailen naar verborgh ;) 8)

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Blijkbaar ben ik na 2 dagen zoeken te haastig geweest met het openen van een topic want de derde dag heeft men ogen opengedaan :)
Je kunt op een net aangemaakt DataObject weer een nieuw DataObject aanmaken en zo kun je dieper gaan en dus meerdere elementen gaan gebruiken.

Mijn excuses, maar hopelijk heb ik hier toch iemand anders mee kunnen helpen ;)

Acties:
  • 0 Henk 'm!

Verwijderd

ik heb ook PHP SDO, en XML DAS is np, maar die Relational DAS :s

dat ding bolt wel, maar met hopen errors en toestanden :)

dit is het resultaat van het simpelste voorbeeld : http://vodde.sohosted.com/wtf.jpg

let wel op de laatste regel, het boeltje werkt dus :D maar hoe ..

suggesties ?