WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   PHP XML och "extern" .xsd (https://www.wn.se/forum/showthread.php?t=1049029)

abergman 2011-07-10 03:44

PHP XML och "extern" .xsd
 
Jag håller på och försöker jobba mot ett API som returnerar sin data med XML, dock så definierar man inte vilket schema / namespaces som gäller direkt i XML filen utan man definierar det i en extern .XSD fil. (Reserverar mig för att jag kan ha fel på termerna)

Min fråga är helt enkelt hur jag med PHP och antingen simplexml eller dom använder mig av .XSD filen? För i alla exempel så är schemar/ns:en inkluderad i den exempelfil som används...

Några förslag?

pelmered 2011-07-10 15:46

Det är alltså ett SOAP-API, eller?

Vet att jag gjort något likande tidigare, ska gräva lite i gammal kod och se om jag kan hitta något :)

abergman 2011-07-10 15:48

Citat:

Ursprungligen postat av ITisGood.se (Inlägg 20411110)
Det är alltså ett SOAP-API, eller?

Vet att ajg gjort något likande, ska gräva lite i gammal kod och se om jag kan hitta något :)

Nej inte direkt, man skickar en query via vanlig GET och får sedan svar i XML..

Har iofs löst det nu, men det blev fan inte snyggt, kör med getelementsbytag eller något sånt.

Conny Westh 2011-07-11 03:59

Man brukar referera till XSD-filen i början på XML-filen.

Ref: http://www.w3schools.com/schema/el_include.asp

Citat:

<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.w3schools.com/schema">

<xs:include schemaLocation="http://www.w3schools.com/schema/customer.xsd"/>
<xs:include schemaLocation="http://www.w3schools.com/schema/company.xsd"/>

..

..

..

</xs:schema>

abergman 2011-07-11 08:13

Citat:

Ursprungligen postat av ConnyWesth (Inlägg 20411150)
Man brukar referera till XSD-filen i början på XML-filen.

Ref: http://www.w3schools.com/schema/el_include.asp

ja det var så jag också fattade det, men nu gör man inte det hos APIet jag använder..

Conny Westh 2011-07-11 12:30

Citat:

Ursprungligen postat av abergman (Inlägg 20411152)
ja det var så jag också fattade det, men nu gör man inte det hos APIet jag använder..

Då kan väl du göra det själv i din kod?

abergman 2011-07-11 15:36

Citat:

Ursprungligen postat av ConnyWesth (Inlägg 20411181)
Då kan väl du göra det själv i din kod?

Det är ju det som är hela frågeställningen, hur gör man det? ;)


Alla tider är GMT +2. Klockan är nu 14:51.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson