dmitry          Fri Apr  2 01:23:51 2004 EDT

  Added files:                 
    /php-src/ext/soap/tests/bugs        bug27742.phpt bug27742.wsdl 

  Modified files:              
    /php-src    NEWS 
    /php-src/ext/soap   php_schema.c php_sdl.c 
  Log:
  Fixed bug #27742 (WDSL SOAP Parsing Schema bug)
  
  
http://cvs.php.net/diff.php/php-src/NEWS?r1=1.1665&r2=1.1666&ty=u
Index: php-src/NEWS
diff -u php-src/NEWS:1.1665 php-src/NEWS:1.1666
--- php-src/NEWS:1.1665 Thu Apr  1 08:44:12 2004
+++ php-src/NEWS        Fri Apr  2 01:23:50 2004
@@ -1,6 +1,7 @@
 PHP                                                                        NEWS
 |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
 ?? ????? 2004, PHP 5 Release Candidate 2
+- Fixed bug #27742 (WDSL SOAP Parsing Schema bug). (Dmitry)
 - Fixed bug #27722 (Segfault on schema without targetNamespace). (Dmitry)
 - Fixed bug #27719 (mktime issues on and around DST changeover). (Rasmus)
 - Changed sqlite to use studlyCaps convention for its OO API. (Marcus)
http://cvs.php.net/diff.php/php-src/ext/soap/php_schema.c?r1=1.47&r2=1.48&ty=u
Index: php-src/ext/soap/php_schema.c
diff -u php-src/ext/soap/php_schema.c:1.47 php-src/ext/soap/php_schema.c:1.48
--- php-src/ext/soap/php_schema.c:1.47  Thu Apr  1 08:42:36 2004
+++ php-src/ext/soap/php_schema.c       Fri Apr  2 01:23:51 2004
@@ -17,7 +17,7 @@
   |          Dmitry Stogov <[EMAIL PROTECTED]>                             |
   +----------------------------------------------------------------------+
 */
-/* $Id: php_schema.c,v 1.47 2004/04/01 13:42:36 dmitry Exp $ */
+/* $Id: php_schema.c,v 1.48 2004/04/02 06:23:51 dmitry Exp $ */
 
 #include "php_soap.h"
 #include "libxml/uri.h"
@@ -1678,7 +1678,7 @@
                        /* TODO: <unique> support */
                } else if (node_is_equal(trav,"key")) {
                        /* TODO: <key> support */
-               } else if (node_is_equal(trav,"key")) {
+               } else if (node_is_equal(trav,"keyref")) {
                        /* TODO: <keyref> support */
                } else {
                        php_error(E_ERROR, "SOAP-ERROR: Parsing Schema: unexpected 
<%s> in element",trav->name);
@@ -1954,6 +1954,10 @@
        }
 
        trav = attrGroup->children;
+       if (trav != NULL && node_is_equal(trav, "annotation")) {
+               /* TODO: <annotation> support */
+               trav = trav->next;
+       }
        while (trav != NULL) {
                if (node_is_equal(trav,"attribute")) {
                        if (ref != NULL) {
http://cvs.php.net/diff.php/php-src/ext/soap/php_sdl.c?r1=1.67&r2=1.68&ty=u
Index: php-src/ext/soap/php_sdl.c
diff -u php-src/ext/soap/php_sdl.c:1.67 php-src/ext/soap/php_sdl.c:1.68
--- php-src/ext/soap/php_sdl.c:1.67     Thu Apr  1 05:47:43 2004
+++ php-src/ext/soap/php_sdl.c  Fri Apr  2 01:23:51 2004
@@ -17,7 +17,7 @@
   |          Dmitry Stogov <[EMAIL PROTECTED]>                             |
   +----------------------------------------------------------------------+
 */
-/* $Id: php_sdl.c,v 1.67 2004/04/01 10:47:43 dmitry Exp $ */
+/* $Id: php_sdl.c,v 1.68 2004/04/02 06:23:51 dmitry Exp $ */
 
 #include "php_soap.h"
 #include "libxml/uri.h"
@@ -885,7 +885,7 @@
 
                                                        f->name = 
estrdup(name->children->content);
                                                        f->details = 
wsdl_message(&ctx, message->children->content);
-                                                       if (f->details == NULL || 
zend_hash_num_elements(f->details) != 1) {
+                                                       if (f->details == NULL || 
zend_hash_num_elements(f->details) > 1) {
                                                                php_error(E_ERROR, 
"SOAP-ERROR: Parsing WSDL: The fault message '%s' must have a single part", 
message->children->content);
                                                        }
 

http://cvs.php.net/co.php/php-src/ext/soap/tests/bugs/bug27742.phpt?r=1.1&p=1
Index: php-src/ext/soap/tests/bugs/bug27742.phpt
+++ php-src/ext/soap/tests/bugs/bug27742.phpt
--TEST--
Bug #27742 (WDSL SOAP Parsing Schema bug)
--SKIPIF--
<?php require_once('skipif.inc'); ?>
--GET--
wsdl
--FILE--
<?php
$x = new SoapClient(dirname(__FILE__)."/bug27742.wsdl");
echo "ok\n";
?>
--EXPECT--
ok

http://cvs.php.net/co.php/php-src/ext/soap/tests/bugs/bug27742.wsdl?r=1.1&p=1
Index: php-src/ext/soap/tests/bugs/bug27742.wsdl
+++ php-src/ext/soap/tests/bugs/bug27742.wsdl
<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XML Spy v4.4 U (http://www.xmlspy.com) by Rakesh Vidyadharan 
(Enterprise Application Development Tribune Media Services) -->
<wsdl:definitions name="xtvdWebService" targetNamespace="urn:TMSWebServices" 
xmlns="http://schemas.xmlsoap.org/wsdl/"; 
xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"; 
xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"; 
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"; 
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"; 
xmlns:tms="urn:TMSWebServices" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"; 
xmlns:xsd="http://www.w3.org/2001/XMLSchema";>
        <wsdl:types>
                <xsd:schema targetNamespace="urn:TMSWebServices" 
xmlns="http://schemas.xmlsoap.org/wsdl/"; 
xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"; 
xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"; 
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"; 
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"; 
xmlns:tms="urn:TMSWebServices" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"; 
xmlns:xsd="http://www.w3.org/2001/XMLSchema";>
        <simpleType name="duration">
                <annotation>
                        <documentation xml:lang="en">ISO 8601 pattern used to denote 
program durations.  Year, month and day are not relevent in our context and are 
omitted.</documentation>
                </annotation>
                <restriction base="xsd:duration">
                        <pattern value="PT[0-9][0-9]H[0-5][0-9]M"/>
                </restriction>
        </simpleType>
        <simpleType name="dateTime">
                <annotation>
                        <documentation xml:lang="en">ISO 8601 pattern for date+time 
information : YYYY-MM-DDThh:mm:ssZ</documentation>
                </annotation>
                <restriction base="xsd:dateTime">
                        <pattern 
value="20[0-9]{2}\-[0-1][0-9]\-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9]Z"/>
                </restriction>
        </simpleType>
        <simpleType name="date">
                <annotation>
                        <documentation xml:lang="en">ISO 8601 pattern for date: 
YYYY-MM-DD</documentation>
                </annotation>
                <restriction base="xsd:date">
                        <pattern value="(19|20)[0-9]{2}\-[0-1][0-9]\-[0-3][0-9]"/>
                </restriction>
        </simpleType>
        <simpleType name="time">
                <annotation>
                        <documentation xml:lang="en">ISO 8601 pattern for time of day 
: hh:mm:ss</documentation>
                </annotation>
                <restriction base="xsd:time">
                        <pattern value="\d\d:\d\d:\d\d"/>
                </restriction>
        </simpleType>
        <simpleType name="mpaaRatings">
                <annotation>
                        <documentation xml:lang="en">MPAA standard ratings for a movie 
as defined in the movie and TV database schemas.</documentation>
                </annotation>
                <restriction base="xsd:string">
                        <enumeration value="Adult">
                                <annotation>
                                        <documentation xml:lang="en">This is the way 
this rating is defined in the movies database schema.</documentation>
                                </annotation>
                        </enumeration>
                        <enumeration value="AO">
                                <annotation>
                                        <documentation xml:lang="en">This is the way 
this rating is defined in the TV database schema.</documentation>
                                </annotation>
                        </enumeration>
                        <enumeration value="G"/>
                        <enumeration value="NC-17"/>
                        <enumeration value="NONE">
                                <annotation>
                                        <documentation xml:lang="en">Films in the 
movie database that do not have any ratings associated with them are sometimes marked 
with this value.</documentation>
                                </annotation>
                        </enumeration>
                        <enumeration value="NOT RATED">
                                <annotation>
                                        <documentation xml:lang="en">This is the way 
films without any rating are defined in the movies database schema.</documentation>
                                </annotation>
                        </enumeration>
                        <enumeration value="NR">
                                <annotation>
                                        <documentation xml:lang="en">This is the way 
films without any rating are defined in the TV database schema.</documentation>
                                </annotation>
                        </enumeration>
                        <enumeration value="PG"/>
                        <enumeration value="PG-13"/>
                        <enumeration value="R"/>
                </restriction>
        </simpleType>
        <simpleType name="starRating">
                <annotation>
                        <documentation xml:lang="en">A Zap2it reviewer assigned rating 
for a given film.</documentation>
                </annotation>
                <restriction base="xsd:string">
                        <enumeration value="*"/>
                        <enumeration value="*+"/>
                        <enumeration value="**"/>
                        <enumeration value="**+"/>
                        <enumeration value="***"/>
                        <enumeration value="***+"/>
                        <enumeration value="****"/>
                </restriction>
        </simpleType>
        <simpleType name="movieCrewRole">
                <annotation>
                        <documentation xml:lang="en">The roles that are currently 
defined for the production crew associated with a given film.</documentation>
                </annotation>
                <restriction base="xsd:string">
                        <enumeration value="Actor"/>
                        <enumeration value="Director"/>
                        <enumeration value="Executive Producer"/>
                        <enumeration value="Guest Star"/>
                        <enumeration value="Producer"/>
                        <enumeration value="Writer"/>
                </restriction>
        </simpleType>
        <simpleType name="movieGenres">
                <annotation>
                        <documentation xml:lang="en">The standard genres that are used 
to classify films in the movies database schema.</documentation>
                </annotation>
                <restriction base="xsd:string">
                        <enumeration value=""/>
                        <enumeration value="Action"/>
                        <enumeration value="Adults only"/>
                        <enumeration value="Adventure"/>
                        <enumeration value="Animated musical"/>
                        <enumeration value="Biography"/>
                        <enumeration value="Children"/>
                        <enumeration value="Comedy"/>
                        <enumeration value="Comedy-drama"/>
                        <enumeration value="Crime drama"/>
                        <enumeration value="Docudrama"/>
                        <enumeration value="Documentary"/>
                        <enumeration value="Drama"/>
                        <enumeration value="Fantasy"/>
                        <enumeration value="French"/>
                        <enumeration value="Historical drama"/>
                        <enumeration value="Horror"/>
                        <enumeration value="Martial arts"/>
                        <enumeration value="Musical"/>
                        <enumeration value="Musical comedy"/>
                        <enumeration value="Musical romance"/>
                        <enumeration value="Mystery"/>
                        <enumeration value="Romance"/>
                        <enumeration value="Romance-comedy"/>
                        <enumeration value="Science fiction"/>
                        <enumeration value="Spanish"/>
                        <enumeration value="Suspense"/>
                        <enumeration value="Suspense-comedy"/>
                        <enumeration value="War"/>
                        <enumeration value="Western"/>
                </restriction>
        </simpleType>
        <simpleType name="movieAdvisories">
                <annotation>
                        <documentation xml:lang="en">The standard advisory messages 
that are associated with a movie shown on TV.</documentation>
                </annotation>
                <restriction base="xsd:string">
                        <enumeration value="Adult Situations"/>
                        <enumeration value="Adolescentes y Adultos"/>
                        <enumeration value="Adultos"/>
                        <enumeration value="Brief Nudity"/>
                        <enumeration value="Graphic Language"/>
                        <enumeration value="Graphic Violence"/>
                        <enumeration value="Language"/>
                        <enumeration value="Mild Violence"/>
                        <enumeration value="Nudity"/>
                        <enumeration value="Publico General"/>
                        <enumeration value="Rape"/>
                        <enumeration value="Strong Sexual Content"/>
                        <enumeration value="Violence"/>
                </restriction>
        </simpleType>
        <simpleType name="tvRatings">
                <annotation>
                        <documentation xml:lang="en">The FCC standard ratings for TV 
programs (http://www.fcc.gov/vchip/#guidelines)</documentation>
                </annotation>
                <restriction base="xsd:string">
                        <enumeration value="TVY"/>
                        <enumeration value="TVY7"/>
                        <enumeration value="TVG"/>
                        <enumeration value="TVPG"/>
                        <enumeration value="TV14"/>
                        <enumeration value="TVMA"/>
                </restriction>
        </simpleType>
        <simpleType name="tvColorCode">
                <annotation>
                        <documentation>The standard color codes used to denote the 
color scheme used by a TV program (eg. Color, B &amp; W ...).</documentation>
                </annotation>
                <restriction base="xsd:string">
                        <enumeration value="B &amp; W">
                                <annotation>
                                        <documentation xml:lang="en">Indicates that 
the program is begin telecast in Black and White.</documentation>
                                </annotation>
                        </enumeration>
                        <enumeration value="Color">
                                <annotation>
                                        <documentation xml:lang="en">Indicates that 
the program being telecast is in color.</documentation>
                                </annotation>
                        </enumeration>
                        <enumeration value="Colorized">
                                <annotation>
                                        <documentation xml:lang="en">Indicates that 
the program being telecast is a colorised version of the original 
program.</documentation>
                                </annotation>
                        </enumeration>
                        <enumeration value="Color and B &amp; W">
                                <annotation>
                                        <documentation xml:lang="en">Indicates that 
the program being telecast is partly in color and partly in Black and 
White.</documentation>
                                </annotation>
                        </enumeration>
                </restriction>
        </simpleType>
        <attributeGroup name="filmDataAttributes">
                <annotation>
                        <documentation xml:lang="en">Common attributes that are 
applicable to all the root elements of the XML schemas developed to represent film 
data.</documentation>
                </annotation>
                <attribute name="postalCode" type="xsd:string" use="optional">
                        <annotation>
                                <documentation xml:lang="en">The ZIP/Postal code for 
which the theatre list was generated.</documentation>
                        </annotation>
                </attribute>
                <attribute name="radius" type="xsd:float" use="optional" default="5">
                        <annotation>
                                <documentation xml:lang="en">The radius around the 
centroid of the ZIP/Postal code within which the films are located.  A default value 
of 20 (miles for US customers and kilometres for non-US customers) will be used if the 
client making the request did not specify a radius.</documentation>
                        </annotation>
                </attribute>
                <attribute name="maxCount" type="xsd:int" use="optional">
                        <annotation>
                                <documentation xml:lang="en">The maximum number of 
film/theatre records that are included in the document.  This number may be specified 
by the client making the request for the list of 
films/theatres/showtimes.</documentation>
                        </annotation>
                </attribute>
        </attributeGroup>
        <complexType name="crewMember">
                <annotation>
                        <documentation xml:lang="en">A cast or production crew member 
for a film or TV show.</documentation>
                </annotation>
                <sequence>
                        <element name="role" type="xsd:string">
                                <annotation>
                                        <documentation xml:lang="en">Describes the 
role of the crew member.  Eg. Actor, Director ...</documentation>
                                </annotation>
                        </element>
                        <element name="givenname" type="xsd:string" nillable="true">
                                <annotation>
                                        <documentation xml:lang="en">The given/first 
name of the crew member.  The element name follows LDAP naming convention.  TMS does 
not have given/first names for all cast/crew members.  Hence this element is 
nillable.</documentation>
                                </annotation>
                        </element>
                        <element name="surname" type="xsd:string">
                                <annotation>
                                        <documentation xml:lang="en">The 
surname/last-name of the crew member.  The element name follows LDAP naming 
convention.</documentation>
                                </annotation>
                        </element>
                </sequence>
        </complexType>
        <complexType name="image">
                <annotation>
                        <documentation>Complex type that contains the attributes of an 
image.  The only attribute available at present is its URI.</documentation>
                </annotation>
                <sequence>
                        <element name="imageUri" type="xsd:anyURI" nillable="true">
                                <annotation>
                                        <documentation>This element contains an 
absolute URI to an image associated with the film.</documentation>
                                </annotation>
                        </element>
                        <element name="width" type="xsd:string" minOccurs="0">
                                <annotation>
                                        <documentation>This element defines the width 
of the image associated with the film.  This element is a place holder.  The width 
attribute is not available at present.</documentation>
                                </annotation>
                        </element>
                        <element name="height" type="xsd:string" minOccurs="0">
                                <annotation>
                                        <documentation>This element defines the height 
of the image associated with the film.  This element is a place holder.  The height 
attribute is not available at present.</documentation>
                                </annotation>
                        </element>
                </sequence>
        </complexType>
        <complexType name="address">
                <annotation>
                        <documentation xml:lang="en">This complex type describes a 
generic address.</documentation>
                </annotation>
                <sequence>
                        <element name="streetAddress">
                                <annotation>
                                        <documentation xml:lang="en">This element 
groups together the various street address parts for the entire 
address.</documentation>
                                </annotation>
                                <complexType>
                                        <sequence>
                                                <element name="street" 
type="xsd:string" maxOccurs="unbounded">
                                                        <annotation>
                                                                <documentation 
xml:lang="en">This field contains each entry for the street address part of the entire 
address.</documentation>
                                                        </annotation>
                                                </element>
                                        </sequence>
                                </complexType>
                        </element>
                        <element name="city" type="xsd:string">
                                <annotation>
                                        <documentation xml:lang="en">This field 
contains the city for the address.</documentation>
                                </annotation>
                        </element>
                        <element name="state" type="xsd:string">
                                <annotation>
                                        <documentation xml:lang="en">This field 
contains the name/code of the state for the address.</documentation>
                                </annotation>
                        </element>
                        <element name="postalCode" type="xsd:string">
                                <annotation>
                                        <documentation xml:lang="en">This field 
contains the ZIP/Postal code for the address.</documentation>
                                </annotation>
                        </element>
                        <element name="telephone" type="xsd:string" minOccurs="0">
                                <annotation>
                                        <documentation xml:lang="en">This field 
contains the telephone number if available for the address.</documentation>
                                </annotation>
                        </element>
                        <element name="fax" type="xsd:string" minOccurs="0">
                                <annotation>
                                        <documentation xml:lang="en">This field 
contains the fax number if available for the address.</documentation>
                                </annotation>
                        </element>
                        <element name="mobile" type="xsd:string" minOccurs="0">
                                <annotation>
                                        <documentation xml:lang="en">This field 
contains the mobile phone number if available for the address.</documentation>
                                </annotation>
                        </element>
                        <element name="email" type="xsd:string" minOccurs="0">
                                <annotation>
                                        <documentation xml:lang="en">This field 
contains the email address if available for the address.</documentation>
                                </annotation>
                        </element>
                        <element name="country" type="xsd:string" minOccurs="0">
                                <annotation>
                                        <documentation xml:lang="en">This field 
contains the country of the address.</documentation>
                                </annotation>
                        </element>
                </sequence>
        </complexType>
        <element name="xtvd">
                <annotation>
                        <documentation>Root element of the document.  @IMPORTANT : All 
time and dates are specified in UTC !</documentation>
                </annotation>
                <complexType>
                        <sequence>
                                <element ref="tms:stations"/>
                                <element ref="tms:lineups"/>
                                <element ref="tms:schedules"/>
                                <element ref="tms:programs"/>
                                <element ref="tms:productionCrew" minOccurs="0"/>
                                <element ref="tms:genres"/>
                        </sequence>
                        <attribute name="from" type="tms:dateTime" use="required">
                                <annotation>
                                        <documentation xml:lang="en">Date and time 
defining the start of the period covered by this XTVD document.</documentation>
                                </annotation>
                        </attribute>
                        <attribute name="to" type="tms:dateTime" use="required">
                                <annotation>
                                        <documentation xml:lang="en">Date and time 
defining the end of the period covered by this XTVD document.</documentation>
                                </annotation>
                        </attribute>
                        <attribute name="schemaVersion" type="xsd:float" 
use="required" fixed="1.2">
                                <annotation>
                                        <documentation xml:lang="en">Version number of 
the schema used to build this document.</documentation>
                                </annotation>
                        </attribute>
                </complexType>
                <key name="station_key">
                        <selector xpath="./stations/station"/>
                        <field xpath="@id"/>
                </key>
                <keyref name="station_keyref_schedule" refer="tms:station_key">
                        <selector xpath="./schedules/schedule"/>
                        <field xpath="@station"/>
                </keyref>
                <keyref name="station_keyref_map" refer="tms:station_key">
                        <selector xpath="./lineups/lineup/map"/>
                        <field xpath="@station"/>
                </keyref>
                <unique name="program_key">
                        <selector xpath="./programs/program"/>
                        <field xpath="@id"/>
                </unique>
                <keyref name="program_keyref" refer="tms:program_key">
                        <selector xpath="./schedules/schedule"/>
                        <field xpath="@program"/>
                </keyref>
                <keyref name="crew_keyref" refer="tms:program_key">
                        <selector xpath="./productionCrew/crew"/>
                        <field xpath="@program"/>
                </keyref>
                <keyref name="genre_keyref" refer="tms:program_key">
                        <selector xpath="./genres/programGenre"/>
                        <field xpath="@program"/>
                </keyref>
                <keyref name="advisory_keyref" refer="tms:program_key">
                        <selector xpath="./advisories/advisory"/>
                        <field xpath="@program"/>
                </keyref>
        </element>
        <element name="stations">
                <annotation>
                        <documentation>Collection of user selected station elements 
(across all lineups).</documentation>
                </annotation>
                <complexType>
                        <sequence maxOccurs="unbounded">
                                <element name="station">
                                        <annotation>
                                                <documentation>Defines a TV broadcast 
station - each station is identified with an unique ID.</documentation>
                                        </annotation>
                                        <complexType>
                                                <sequence>
                                                        <element name="callSign">
                                                                <annotation>
                                                                        
<documentation>Short name of the station (eg. CNN).</documentation>
                                                                </annotation>
                                                        </element>
                                                        <element name="name" 
minOccurs="0">
                                                                <annotation>
                                                                        
<documentation>Long name of the station (eg. Cable News Network).</documentation>
                                                                </annotation>
                                                        </element>
                                                        <element 
name="fccChannelNumber" type="xsd:positiveInteger" minOccurs="0">
                                                                <annotation>
                                                                        <documentation 
xml:lang="en">FCC channel number of a broadcast station.</documentation>
                                                                </annotation>
                                                        </element>
                                                        <element name="affiliate" 
type="xsd:string" minOccurs="0">
                                                                <annotation>
                                                                        <documentation 
xml:lang="en">Network, cable or broadcasting group with which the station is 
associated.</documentation>
                                                                </annotation>
                                                        </element>
                                                </sequence>
                                                <attribute name="id" type="xsd:int" 
use="required">
                                                        <annotation>
                                                                <documentation 
xml:lang="en">ID string of the station.</documentation>
                                                        </annotation>
                                                </attribute>
                                        </complexType>
                                </element>
                        </sequence>
                </complexType>
        </element>
        <element name="lineups">
                <annotation>
                        <documentation>Collection of lineup elements selected by the 
user.</documentation>
                </annotation>
                <complexType>
                        <sequence maxOccurs="unbounded">
                                <element name="lineup">
                                        <annotation>
                                                <documentation>Defines all the station 
that were selected for the given lineup. </documentation>
                                        </annotation>
                                        <complexType>
                                                <sequence maxOccurs="unbounded">
                                                        <element name="map">
                                                                <annotation>
                                                                        
<documentation>This element defines the mapping between one station and one channel 
number. As channel numbers may change over time, attributes to define a validity 
period for the mapping are available.</documentation>
                                                                </annotation>
                                                                <complexType>
                                                                        <sequence 
minOccurs="0" maxOccurs="unbounded">
                                                                                
<element name="onAir">
                                                                                       
 <annotation>
                                                                                       
         <documentation xml:lang="en">Specifies the time(s) of day when the given 
station-channel mapping is in effect.</documentation>
                                                                                       
 </annotation>
                                                                                       
 <complexType>
                                                                                       
         <attribute name="from" type="tms:time" use="required">
                                                                                       
                 <annotation>
                                                                                       
                         <documentation xml:lang="en">The time of day from which the 
station-channel mapping is effective.</documentation>
                                                                                       
                 </annotation>
                                                                                       
         </attribute>
                                                                                       
         <attribute name="to" type="tms:time" use="required">
                                                                                       
                 <annotation>
                                                                                       
                         <documentation xml:lang="en">The time of day until which the 
station-channel mapping is effective.</documentation>
                                                                                       
                 </annotation>
                                                                                       
         </attribute>
                                                                                       
 </complexType>
                                                                                
</element>
                                                                        </sequence>
                                                                        <attribute 
name="station" type="xsd:int" use="required">
                                                                                
<annotation>
                                                                                       
 <documentation xml:lang="en">Reference to a station.</documentation>
                                                                                
</annotation>
                                                                        </attribute>
                                                                        <attribute 
name="channel" type="xsd:positiveInteger" use="required">
                                                                                
<annotation>
                                                                                       
 <documentation xml:lang="en">Channel number associated to the station.</documentation>
                                                                                
</annotation>
                                                                        </attribute>
                                                                        <attribute 
name="channelMinor" type="xsd:positiveInteger" use="optional">
                                                                                
<annotation>
                                                                                       
 <documentation xml:lang="en">The major channel (the channel attribute) number is used 
to group all services associated with a broadcaster's NTSC brand, for example Channel 
4. The minor channel number specifies a particular channel within that group. Zero (0) 
is reserved for the NTSC channel; all other values (1-999) are allowed for digital 
services. One common approach is to start with 1 and to continue numerically for 
different programming services.</documentation>
                                                                                
</annotation>
                                                                        </attribute>
                                                                        <attribute 
name="from" type="tms:date" use="optional">
                                                                                
<annotation>
                                                                                       
 <documentation xml:lang="en">Date from which the mapping is valid, according to the 
validity period of the whole XTVD document. @IMPORTANT : It is assumed that the change 
will occur at midnight.</documentation>
                                                                                
</annotation>
                                                                        </attribute>
                                                                        <attribute 
name="to" type="tms:date" use="optional">
                                                                                
<annotation>
                                                                                       
 <documentation xml:lang="en">Date untill which the mapping is valid, within the 
validity period of the whole XTVD document. @IMPORTANT : The change will occur at 
midnight.</documentation>
                                                                                
</annotation>
                                                                        </attribute>
                                                                </complexType>
                                                        </element>
                                                </sequence>
                                                <attribute name="name" 
type="xsd:string" use="required">
                                                        <annotation>
                                                                <documentation 
xml:lang="en">Name given to the lineup.</documentation>
                                                        </annotation>
                                                </attribute>
                                                <attribute name="type" 
type="tms:lineupTypes" use="required">
                                                        <annotation>
                                                                <documentation 
xml:lang="en">Defines the type of the lineup (CABLE, SATELLITE, ...).</documentation>
                                                        </annotation>
                                                </attribute>
                                                <attribute name="device" 
type="xsd:string" use="optional">
                                                        <annotation>
                                                                <documentation 
xml:lang="en">The name of the device associated with the headend.</documentation>
                                                        </annotation>
                                                </attribute>
                                                <attribute name="postalCode" 
type="xsd:string" use="optional">
                                                        <annotation>
                                                                <documentation 
xml:lang="en">The ZIP/Postal code for which the specified lineup was selected by the 
user.</documentation>
                                                        </annotation>
                                                </attribute>
                                        </complexType>
                                </element>
                        </sequence>
                </complexType>
        </element>
        <element name="schedules">
                <annotation>
                        <documentation>Contain all schedule records (across all 
selected lineups).</documentation>
                </annotation>
                <complexType>
                        <sequence maxOccurs="unbounded">
                                <annotation>
                                        <documentation>Sequence of schedule 
records.</documentation>
                                </annotation>
                                <element name="schedule">
                                        <annotation>
                                                <documentation>Describes a schedule 
entry.</documentation>
                                        </annotation>
                                        <complexType>
                                                <sequence minOccurs="0">
                                                        <element name="part" 
minOccurs="0">
                                                                <annotation>
                                                                        
<documentation>Designates which part, when a program is split into 2 or more 
viewings.</documentation>
                                                                </annotation>
                                                                <complexType>
                                                                        <attribute 
name="number" use="required">
                                                                                
<annotation>
                                                                                       
 <documentation xml:lang="en">Designates which part, when a program is split into 2 or 
more viewings. </documentation>
                                                                                
</annotation>
                                                                                
<simpleType>
                                                                                       
 <restriction base="xsd:unsignedInt">
                                                                                       
         <minInclusive value="1"/>
                                                                                       
 </restriction>
                                                                                
</simpleType>
                                                                        </attribute>
                                                                        <attribute 
name="total" use="required">
                                                                                
<annotation>
                                                                                       
 <documentation xml:lang="en">Designates when a program is split into 2 or more parts 
for viewing. </documentation>
                                                                                
</annotation>
                                                                                
<simpleType>
                                                                                       
 <restriction base="xsd:unsignedInt">
                                                                                       
         <minInclusive value="2"/>
                                                                                       
 </restriction>
                                                                                
</simpleType>
                                                                        </attribute>
                                                                </complexType>
                                                        </element>
                                                </sequence>
                                                <attribute name="program" 
type="xsd:string" use="required">
                                                        <annotation>
                                                                <documentation 
xml:lang="en">Reference to a program ID.</documentation>
                                                        </annotation>
                                                </attribute>
                                                <attribute name="station" 
type="xsd:int" use="required">
                                                        <annotation>
                                                                <documentation 
xml:lang="en">Reference to a station ID.</documentation>
                                                        </annotation>
                                                </attribute>
                                                <attribute name="time" 
type="tms:dateTime" use="required">
                                                        <annotation>
                                                                <documentation 
xml:lang="en">Air date and time for the schedule.</documentation>
                                                        </annotation>
                                                </attribute>
                                                <attribute name="duration" 
type="tms:duration" use="required">
                                                        <annotation>
                                                                <documentation 
xml:lang="en">Duration of the schedule.</documentation>
                                                        </annotation>
                                                </attribute>
                                                <attribute name="repeat" 
type="xsd:boolean" use="optional">
                                                        <annotation>
                                                                <documentation 
xml:lang="en">Designates a program which has been aired previously.</documentation>
                                                        </annotation>
                                                </attribute>
                                                <attribute name="tvRating" 
type="tms:tvRatings" use="optional">
                                                        <annotation>
                                                                <documentation 
xml:lang="en">The FCC standard ratings applied to TV shows.</documentation>
                                                        </annotation>
                                                </attribute>
                                                <attribute name="stereo" 
type="xsd:boolean" use="optional">
                                                        <annotation>
                                                                <documentation 
xml:lang="en">Indicates whether the program has stereo sound or not.</documentation>
                                                        </annotation>
                                                </attribute>
                                                <attribute name="subtitled" 
type="xsd:boolean" use="optional">
                                                        <annotation>
                                                                <documentation 
xml:lang="en">Indicates whether the program has subtitles.</documentation>
                                                        </annotation>
                                                </attribute>
                                                <attribute name="hdtv" 
type="xsd:boolean" use="optional">
                                                        <annotation>
                                                                <documentation 
xml:lang="en">Indicates whether the program broadcast is HDTV 
compatible.</documentation>
                                                        </annotation>
                                                </attribute>
                                                <attribute name="closeCaptioned" 
type="xsd:boolean" use="optional">
                                                        <annotation>
                                                                <documentation 
xml:lang="en">Indicates whether the program has closed captions.</documentation>
                                                        </annotation>
                                                </attribute>
                                        </complexType>
                                </element>
                        </sequence>
                </complexType>
        </element>
        <element name="programs">
                <annotation>
                        <documentation>Contains all the program records that are 
referenced by the schedule records.</documentation>
                </annotation>
                <complexType>
                        <sequence maxOccurs="unbounded">
                                <element name="program" minOccurs="0">
                                        <annotation>
                                                <documentation>Defines a program 
entry.</documentation>
                                        </annotation>
                                        <complexType>
                                                <sequence>
                                                        <element name="title" 
type="xsd:string">
                                                                <annotation>
                                                                        
<documentation>Title of the program.</documentation>
                                                                </annotation>
                                                        </element>
                                                        <element name="subtitle" 
type="xsd:string" minOccurs="0">
                                                                <annotation>
                                                                        
<documentation>Subtitle of the program (episode title, game title, ...)</documentation>
                                                                </annotation>
                                                        </element>
                                                        <element name="description" 
type="xsd:string" minOccurs="0">
                                                                <annotation>
                                                                        
<documentation>Word string that describes the program.</documentation>
                                                                </annotation>
                                                        </element>
                                                        <element name="mpaaRating" 
type="tms:mpaaRatings" minOccurs="0">
                                                                <annotation>
                                                                        
<documentation>MPAA rating of the program (applies to movies only).</documentation>
                                                                </annotation>
                                                        </element>
                                                        <element name="starRating" 
type="tms:starRating" minOccurs="0">
                                                                <annotation>
                                                                        
<documentation>Star rating of the program (applies to movies only).</documentation>
                                                                </annotation>
                                                        </element>
                                                        <element name="runTime" 
type="tms:duration" minOccurs="0">
                                                                <annotation>
                                                                        
<documentation>Actual length of  the program. Not the same as schedule/@duration. 
Applies to movies only.</documentation>
                                                                </annotation>
                                                        </element>
                                                        <element name="year" 
type="xsd:gYear" minOccurs="0">
                                                                <annotation>
                                                                        
<documentation>The year in which a feature film was released; YYYY format.  Applies to 
movies only.</documentation>
                                                                </annotation>
                                                        </element>
                                                        <element name="showType" 
type="xsd:string" minOccurs="0">
                                                                <annotation>
                                                                        <documentation 
xml:lang="en">Distinguishes how a program was originally produced and/or 
distributed.</documentation>
                                                                </annotation>
                                                        </element>
                                                        <element name="series" 
type="xsd:string" minOccurs="0">
                                                                <annotation>
                                                                        <documentation 
xml:lang="en">The series ID associated with episodic programs.  For instance an 
episode with programId "EP5544720193" has a series ID "SH5544720000".  The series ID 
may be used to group together all episodes for a given series.</documentation>
                                                                </annotation>
                                                        </element>
                                                        <element name="colorCode" 
type="tms:tvColorCode" minOccurs="0">
                                                                <annotation>
                                                                        <documentation 
xml:lang="en">Indicates whether the program is in black and white, colorized or color. 
 Since most programs are in "Color" this element will be populated only if a program 
is not in "Color".</documentation>
                                                                </annotation>
                                                        </element>
                                                        <element name="advisories" 
minOccurs="0">
                                                                <annotation>
                                                                        <documentation 
xml:lang="en">This element groups together all the advisories associated with the 
program.  Advisories apply only to movies.</documentation>
                                                                </annotation>
                                                                <complexType>
                                                                        <sequence 
maxOccurs="6">
                                                                                
<element name="advisory" type="tms:movieAdvisories">
                                                                                       
 <annotation>
                                                                                       
         <documentation xml:lang="en">An individual advisory message associated with 
the movie.</documentation>
                                                                                       
 </annotation>
                                                                                
</element>
                                                                        </sequence>
                                                                </complexType>
                                                        </element>
                                                </sequence>
                                                <attribute name="id" type="xsd:string" 
use="required">
                                                        <annotation>
                                                                <documentation 
xml:lang="en">Unique ID of the program.</documentation>
                                                        </annotation>
                                                </attribute>
                                        </complexType>
                                </element>
                        </sequence>
                </complexType>
        </element>
        <element name="productionCrew">
                <annotation>
                        <documentation>Contains information about the personnel 
associated with each program record.</documentation>
                </annotation>
                <complexType>
                        <sequence maxOccurs="unbounded">
                                <element name="crew">
                                        <annotation>
                                                <documentation xml:lang="en">This 
element groups together all the crew members associated with the given 
program.</documentation>
                                        </annotation>
                                        <complexType>
                                                <sequence maxOccurs="unbounded">
                                                        <element name="member" 
type="tms:crewMember">
                                                                <annotation>
                                                                        <documentation 
xml:lang="en">This element describes an individual production crew member associated 
with a program.</documentation>
                                                                </annotation>
                                                        </element>
                                                </sequence>
                                                <attribute name="program" 
type="xsd:string" use="required"/>
                                        </complexType>
                                </element>
                        </sequence>
                </complexType>
        </element>
        <element name="genres">
                <annotation>
                        <documentation xml:lang="en">Containes genre information where 
available for the program records.  A program may have more than one genre with 
different relevence factors.</documentation>
                </annotation>
                <complexType>
                        <sequence maxOccurs="unbounded">
                                <element name="programGenre">
                                        <annotation>
                                                <documentation xml:lang="en">This 
element groups together all the genres under which the specified program 
falls.</documentation>
                                        </annotation>
                                        <complexType>
                                                <sequence maxOccurs="unbounded">
                                                        <element name="genre">
                                                                <annotation>
                                                                        <documentation 
xml:lang="en">This element groups together the different elements associated with each 
genre with which the program is associated.</documentation>
                                                                </annotation>
                                                                <complexType>
                                                                        <sequence>
                                                                                
<element name="class" type="xsd:string">
                                                                                       
 <annotation>
                                                                                       
         <documentation xml:lang="en">The genre that is associated with a specified 
program record.</documentation>
                                                                                       
 </annotation>
                                                                                
</element>
                                                                                
<element name="relevance" type="xsd:int">
                                                                                       
 <annotation>
                                                                                       
         <documentation xml:lang="en">A relevence factor that applies to the genre 
classification for the program.  A relevence factor of 1 indicates that this is the 
top-level genre under which the program is classified.</documentation>
                                                                                       
 </annotation>
                                                                                
</element>
                                                                        </sequence>
                                                                </complexType>
                                                        </element>
                                                </sequence>
                                                <attribute name="program" 
type="xsd:string" use="required"/>
                                        </complexType>
                                </element>
                        </sequence>
                </complexType>
        </element>
        <simpleType name="lineupTypes">
                <annotation>
                        <documentation xml:lang="en">Standard lineup 
types.</documentation>
                </annotation>
                <restriction base="xsd:string">
                        <enumeration value="Cable"/>
                        <enumeration value="CableDigital"/>
                        <enumeration value="Satellite"/>
                        <enumeration value="LocalBroadcast"/>
                </restriction>
        </simpleType>
                        <xsd:complexType name="xtvdResponse">
                                <xsd:sequence>
                                        <xsd:element name="messages">
                                                <xsd:annotation>
                                                        <xsd:documentation 
xml:lang="en">A collection of messages that may be sent back by the server to the 
client.  Messages are usually used by the server to notify the user of changes to 
their subscription caused by automatic changes in station's that are part of their 
subscription.  For instance, messages are passed back if a lineup selected by the user 
is no-longer valid, if all the stations selected by the user has been removed as they 
are no longer valid ... </xsd:documentation>
                                                </xsd:annotation>
                                                <xsd:complexType>
                                                        <xsd:sequence 
maxOccurs="unbounded" minOccurs="0">
                                                                <xsd:element 
name="message" type="xsd:string">
                                                                        
<xsd:annotation>
                                                                                
<xsd:documentation xml:lang="en">An individual message that is passed back by the 
server.</xsd:documentation>
                                                                        
</xsd:annotation>
                                                                </xsd:element>
                                                        </xsd:sequence>
                                                </xsd:complexType>
                                        </xsd:element>
                                        <xsd:element name="xtvdDocument" 
type="tms:xtvd"/>
                                </xsd:sequence>
                        </xsd:complexType>
                </xsd:schema>
        </wsdl:types>
        <wsdl:message name="downloadResponse">
                <wsdl:part name="xtvdResponse" type="tms:xtvdResponse"/>
        </wsdl:message>
        <wsdl:message name="downloadRequest">
                <wsdl:part name="startTime" type="tms:dateTime"/>
                <wsdl:part name="endTime" type="tms:dateTime"/>
        </wsdl:message>
        <wsdl:message name="activateRequest">
                <wsdl:part name="deviceType" type="xsd:string"/>
                <wsdl:part name="activationKey" type="xsd:string"/>
        </wsdl:message>
        <wsdl:message name="webserviceFault"/>
        <wsdl:message name="activateResponse"/>
        <wsdl:portType name="xtvdPortType">
                <wsdl:operation name="activate">
                        <wsdl:input message="tms:activateRequest"/>
                        <wsdl:output message="tms:activateResponse"/>
                        <wsdl:fault message="tms:webserviceFault" 
name="webserviceFault"/>
                </wsdl:operation>
                <wsdl:operation name="download">
                        <wsdl:input message="tms:downloadRequest"/>
                        <wsdl:output message="tms:downloadResponse"/>
                        <wsdl:fault message="tms:webserviceFault" 
name="webserviceFault"/>
                </wsdl:operation>
        </wsdl:portType>
        <wsdl:binding name="xtvdBinding" type="tms:xtvdPortType">
                <soap:binding style="rpc" 
transport="http://schemas.xmlsoap.org/soap/http"/>
                <wsdl:operation name="activate">
                        <soap:operation 
soapAction="urn:TMSWebServices:xtvdWebService#activate"/>
                        <wsdl:input>
                                <soap:body 
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"; 
namespace="urn:TMSWebServices" use="encoded"/>
                        </wsdl:input>
                        <wsdl:output>
                                <soap:body 
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"; use="encoded"/>
                        </wsdl:output>
                        <wsdl:fault name="webserviceFault">
                                <soap:fault 
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"; name="tms:webserviceFault" 
namespace="urn:TMSWebServices" use="encoded"/>
                        </wsdl:fault>
                </wsdl:operation>
                <wsdl:operation name="download">
                        <soap:operation 
soapAction="urn:TMSWebServices:xtvdWebService#download"/>
                        <wsdl:input>
                                <soap:body 
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"; 
namespace="urn:TMSWebServices" use="encoded"/>
                        </wsdl:input>
                        <wsdl:output>
                                <soap:body 
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"; use="encoded"/>
                        </wsdl:output>
                        <wsdl:fault name="webserviceFault">
                                <soap:fault 
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"; name="tms:webserviceFault" 
namespace="urn:TMSWebServices" use="encoded"/>
                        </wsdl:fault>
                </wsdl:operation>
        </wsdl:binding>
        <wsdl:service name="xtvdWebService">
                <wsdl:port binding="tms:xtvdBinding" name="xtvdWebServicePort">
                        <soap:address 
location="http://datadirect.webservices.zap2it.com/tvlistings/xtvdService"/>
                </wsdl:port>
        </wsdl:service>
</wsdl:definitions>

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to