xref: /PHP-8.1/ext/soap/tests/schema/schema040.phpt (revision 7f2f0c00)
1--TEST--
2SOAP XML Schema 40: Structure with attributes (inline types)
3--EXTENSIONS--
4soap
5xml
6--FILE--
7<?php
8include "test_schema.inc";
9$schema = <<<EOF
10    <complexType name="testType">
11        <sequence>
12            <element name="str" type="string"/>
13        </sequence>
14        <attribute name="int">
15            <simpleType>
16                <restriction base="int"/>
17            </simpleType>
18        </attribute>
19    </complexType>
20EOF;
21test_schema($schema,'type="tns:testType"',(object)array("str"=>"str","int"=>123.5));
22echo "ok";
23?>
24--EXPECTF--
25<?xml version="1.0" encoding="UTF-8"?>
26<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://test-uri/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:test><testParam int="123" xsi:type="ns1:testType"><str xsi:type="xsd:string">str</str></testParam></ns1:test></SOAP-ENV:Body></SOAP-ENV:Envelope>
27object(stdClass)#%d (2) {
28  ["str"]=>
29  string(3) "str"
30  ["int"]=>
31  int(123)
32}
33ok
34