<?xml version="1.0"?>
<!DOCTYPE gsdoc PUBLIC "-//GNUstep//DTD gsdoc 1.0.3//EN" "http://www.gnustep.org/gsdoc-1_0_3.dtd">
<gsdoc base="GWSDocument">
  <head>
    <title>GWSDocument class documentation</title>
    <author name="Richard Frith-Macdonald">
      <email address="rfm@gnu.org">
        rfm@gnu.org
      </email>
    </author>
    <version>25485</version>
    <date>2007-09-14 13:54:55 +0100 (Fri, 14 Sep 2007)</date>
    <copy>2008 Free Software Foundation, Inc.</copy>
  </head>
  <body>
    <front><contents /></front>
    <chapter>
      <heading>
        Software documentation for the GWSDocument class
      </heading>
      <class name="GWSDocument" super="NSObject">
        <declared>GWSDocument.h</declared>
        <desc>
          A GWSDocument instance manages a collection of web
          services. It is equivalent to a WSDL document, and
          is intended to provide a mechanism for reading, writing,
          editing and creating web services definitions.
        </desc>
        <method type="GWSExtensibility*" factory="yes">
          <sel>extensibilityForNamespace:</sel>
          <arg type="NSString*">namespaceURL</arg>
          <desc>
            Return a previously registered extensibility object.
          </desc>
        </method>
        <method type="void" factory="yes">
          <sel>registerExtensibility:</sel>
          <arg type="GWSExtensibility*">extensibility</arg>
          <sel>forNamespace:</sel>
          <arg type="NSString*">namespaceURL</arg>
          <desc>
            Registers an <var>extensibility</var> object to
            be used to handle <var>extensibility</var> elements with
            the specified namespace. <br /> New registrations
            replace older ones for the same namespace URL.
            <br /> Registering a <code>nil</code> object removes
            registrations for the namespace URL. <br />
            NB. Changes to the registered extensibilities do not
            effect any document instances created bnefore the
            change took place.
          </desc>
        </method>
        <method type="NSArray*">
          <sel>bindingNames</sel>
          <desc>
            Returns the names of all WSDL bindings currently
            defined in this document.
          </desc>
        </method>
        <method type="GWSBinding*">
          <sel>bindingWithName:</sel>
          <arg type="NSString*">name</arg>
          <sel>create:</sel>
          <arg type="BOOL">shouldCreate</arg>
          <desc>
            Returns the named WSDL binding, creating a new
            instance if the named binding does not exist and
            the <var>shouldCreate</var> flag is <code>YES</code>.
          </desc>
        </method>
        <method type="NSData*">
          <sel>data</sel>
          <desc>
            Returns the receiver serialised as an XML (WSDL)
            document.
          </desc>
        </method>
        <method type="GWSElement*">
          <sel>documentation</sel>
          <desc>
            Returns the receiver's documentation.
          </desc>
        </method>
        <method type="NSArray*">
          <sel>extensibility</sel>
          <desc>
            Returns the receiver's extensibility elements.
          </desc>
        </method>
        <method type="GWSExtensibility*">
          <sel>extensibilityForNamespace:</sel>
          <arg type="NSString*">namespaceURL</arg>
          <desc>
            Returns the registered exrtensibility object for
            the namespace.
          </desc>
        </method>
        <method type="id">
          <sel>initWithContentsOfFile:</sel>
          <arg type="NSString*">file</arg>
          <desc>
            Initialises the receiver by parsing the WSDL
            <var>file</var>.
          </desc>
        </method>
        <method type="id">
          <sel>initWithContentsOfURL:</sel>
          <arg type="NSURL*">url</arg>
          <desc>
            Initialises the receiver by parsing the WSDL
            file at the <var>url</var>.
          </desc>
        </method>
        <method type="id">
          <sel>initWithData:</sel>
          <arg type="NSData*">xml</arg>
          <desc>
            Initialises the receiver by parsing the WSDL
            document specified.
          </desc>
        </method>
        <method type="id">
          <sel>initWithTree:</sel>
          <arg type="GWSElement*">tree</arg>
          <desc>
            Initialises the receiver by traversing the WSDL
            document in the supplied <var>tree</var>.
          </desc>
        </method>
        <method type="GWSElement*">
          <sel>initializing</sel>
          <desc>
            Returns the current element when initializing the
            document from a tree of elements, <code>nil</code>
            otherwise. This is intended for use by companion
            classes which are initializing themselves from this
            document.
          </desc>
        </method>
        <method type="NSArray*">
          <sel>messageNames</sel>
          <desc>
            Returns the names of all WSDL messages currently
            defined in this document.
          </desc>
        </method>
        <method type="GWSMessage*">
          <sel>messageWithName:</sel>
          <arg type="NSString*">name</arg>
          <sel>create:</sel>
          <arg type="BOOL">shouldCreate</arg>
          <desc>
            Returns the named WSDL message, creating a new
            instance if the named message does not exist and
            the <var>shouldCreate</var> flag is <code>YES</code>.
          </desc>
        </method>
        <method type="NSString*">
          <sel>name</sel>
          <desc>
            Returns the receiver's name.
          </desc>
        </method>
        <method type="NSString*">
          <sel>namespaceForPrefix:</sel>
          <arg type="NSString*">prefix</arg>
          <desc>
            Returns the namespace URI mapped to by the
            specified <var>prefix</var>, or <code>nil</code>
            if there is no such <var>prefix</var> known.
          </desc>
        </method>
        <method type="NSString*">
          <sel>namespacePrefix</sel>
          <desc>
            Returns the namespace prefix used for the WSDL
            namespace in this document, or <code>nil</code>
            if there is no namespace prefix used.
          </desc>
        </method>
        <method type="NSArray*">
          <sel>portTypeNames</sel>
          <desc>
            Returns the names of all WSDL port types currently
            defined in this document.
          </desc>
        </method>
        <method type="GWSPortType*">
          <sel>portTypeWithName:</sel>
          <arg type="NSString*">name</arg>
          <sel>create:</sel>
          <arg type="BOOL">shouldCreate</arg>
          <desc>
            Returns the named WSDL port type, creating a new
            instance if the named port type does not exist and
            the <var>shouldCreate</var> flag is <code>YES</code>.
          </desc>
        </method>
        <method type="NSString*">
          <sel>prefixForNamespace:</sel>
          <arg type="NSString*">url</arg>
          <desc>
            Returns the prefix for the specified namespace (if
            defined).
          </desc>
        </method>
        <method type="NSString*">
          <sel>qualify:</sel>
          <arg type="NSString*">name</arg>
          <desc>
            Given an element <var>name</var> which is in the WSDL
            namespace, return the qualified version of the
            <var>name</var> appropriate for use in this document.
          </desc>
        </method>
        <method type="void">
          <sel>removeBindingNamed:</sel>
          <arg type="NSString*">name</arg>
          <desc>
            Removes the named WSDL binding from the document.
          </desc>
        </method>
        <method type="void">
          <sel>removeMessageNamed:</sel>
          <arg type="NSString*">name</arg>
          <desc>
            Removes the named WSDL message from the document.
          </desc>
        </method>
        <method type="void">
          <sel>removePortTypeNamed:</sel>
          <arg type="NSString*">name</arg>
          <desc>
            Removes the named WSDL port type from the document.
          </desc>
        </method>
        <method type="void">
          <sel>removeServiceNamed:</sel>
          <arg type="NSString*">name</arg>
          <desc>
            Removes the named WSDL service from the document.
          </desc>
        </method>
        <method type="void">
          <sel>removeTypeNamed:</sel>
          <arg type="NSString*">name</arg>
          <desc>
            Removes the named WSDL type from the document.
          </desc>
        </method>
        <method type="NSArray*">
          <sel>serviceNames</sel>
          <desc>
            Returns the names of all WSDL services currently
            defined in this document.
          </desc>
        </method>
        <method type="GWSService*">
          <sel>serviceWithName:</sel>
          <arg type="NSString*">name</arg>
          <sel>create:</sel>
          <arg type="BOOL">shouldCreate</arg>
          <desc>
            Returns the named WSDL service, creating a new
            instance if the named service does not exist and
            the <var>shouldCreate</var> flag is <code>YES</code>.
          </desc>
        </method>
        <method type="void">
          <sel>setDocumentation:</sel>
          <arg type="GWSElement*">documentation</arg>
          <desc>
            Set the <var>documentation</var> of this document.
          </desc>
        </method>
        <method type="void">
          <sel>setExtensibility:</sel>
          <arg type="NSArray*">extensibility</arg>
          <desc>
            Set the <var>extensibility</var> elements for this
            document.
          </desc>
        </method>
        <method type="void">
          <sel>setName:</sel>
          <arg type="NSString*">name</arg>
          <desc>
            Set the <var>name</var> of this document.
          </desc>
        </method>
        <method type="void">
          <sel>setTargetNamespace:</sel>
          <arg type="NSString*">uri</arg>
          <desc>
            Set the target namespace of this document.
          </desc>
        </method>
        <method type="NSString*">
          <sel>targetNamespace</sel>
          <desc>
            Return the target namespace of this document.
          </desc>
        </method>
        <method type="GWSElement*">
          <sel>tree</sel>
          <desc>
            Returns a tree of elements describing the WSDL
            documnet represented by the receiver.
          </desc>
        </method>
        <method type="NSArray*">
          <sel>typeNames</sel>
          <desc>
            Returns the names of all WSDL types currently
            defined in this document.
          </desc>
        </method>
        <method type="GWSType*">
          <sel>typeWithName:</sel>
          <arg type="NSString*">name</arg>
          <sel>create:</sel>
          <arg type="BOOL">shouldCreate</arg>
          <desc>
            Returns the named WSDL type, creating a new
            instance if the named type does not exist and the
            <var>shouldCreate</var> flag is <code>YES</code>.
          </desc>
        </method>
        <method type="BOOL">
          <sel>writeToFile:</sel>
          <arg type="NSString*">file</arg>
          <sel>atomically:</sel>
          <arg type="BOOL">atomically</arg>
          <desc>
            Writes the contents of the receiver to the specified
            <var>file</var> as a WSDL document.
          </desc>
        </method>
        <method type="BOOL">
          <sel>writeToURL:</sel>
          <arg type="NSURL*">anURL</arg>
          <sel>atomically:</sel>
          <arg type="BOOL">atomically</arg>
          <desc>
            Writes the contents of the receiver to the specified
            URL as a WSDL document.
          </desc>
        </method>
      </class>
    </chapter>
  </body>
</gsdoc>
