# GWSDocument class documentation

### Authors

Richard Frith-Macdonald (`rfm@gnu.org`)

Version: 25485

Date: 2007-09-14 13:54:55 +0100 (Fri, 14 Sep 2007)

Copyright: (C) 2008 Free Software Foundation, Inc.

# Software documentation for the GWSDocument class

## GWSDocument : NSObject

> Declared in:
>   GWSDocument.h

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.
Method summary

- +extensibilityForNamespace:
- +registerExtensibility:forNamespace:
- -bindingNames
- -bindingWithName:create:
- -data
- -documentation
- -extensibility
- -extensibilityForNamespace:
- -initWithContentsOfFile:
- -initWithContentsOfURL:
- -initWithData:
- -initWithTree:
- -initializing
- -messageNames
- -messageWithName:create:
- -name
- -namespaceForPrefix:
- -namespacePrefix
- -portTypeNames
- -portTypeWithName:create:
- -prefixForNamespace:
- -qualify:
- -removeBindingNamed:
- -removeMessageNamed:
- -removePortTypeNamed:
- -removeServiceNamed:
- -removeTypeNamed:
- -serviceNames
- -serviceWithName:create:
- -setDocumentation:
- -setExtensibility:
- -setName:
- -setTargetNamespace:
- -targetNamespace
- -tree
- -typeNames
- -typeWithName:create:
- -writeToFile:atomically:
- -writeToURL:atomically:

### extensibilityForNamespace:

+ (GWSExtensibility*) extensibilityForNamespace: (NSString*)namespaceURL;
Return a previously registered extensibility object.

### registerExtensibility: forNamespace:

+ (void) registerExtensibility: (GWSExtensibility*)extensibility forNamespace: (NSString*)namespaceURL;
Registers an extensibility object to be used to handle extensibility elements with the specified namespace.
New registrations replace older ones for the same namespace URL.
Registering a `nil` object removes registrations for the namespace URL.
NB. Changes to the registered extensibilities do not effect any document instances created bnefore the change took place.

### bindingNames

- (NSArray*) bindingNames;
Returns the names of all WSDL bindings currently defined in this document.

### bindingWithName: create:

- (GWSBinding*) bindingWithName: (NSString*)name create: (BOOL)shouldCreate;
Returns the named WSDL binding, creating a new instance if the named binding does not exist and the shouldCreate flag is `YES`.

### data

- (NSData*) data;
Returns the receiver serialised as an XML (WSDL) document.

### documentation

- (GWSElement*) documentation;
Returns the receiver's documentation.

### extensibility

- (NSArray*) extensibility;
Returns the receiver's extensibility elements.

### extensibilityForNamespace:

- (GWSExtensibility*) extensibilityForNamespace: (NSString*)namespaceURL;
Returns the registered exrtensibility object for the namespace.

### initWithContentsOfFile:

- (id) initWithContentsOfFile: (NSString*)file;
Initialises the receiver by parsing the WSDL file.

### initWithContentsOfURL:

- (id) initWithContentsOfURL: (NSURL*)url;
Initialises the receiver by parsing the WSDL file at the url.

### initWithData:

- (id) initWithData: (NSData*)xml;
Initialises the receiver by parsing the WSDL document specified.

### initWithTree:

- (id) initWithTree: (GWSElement*)tree;
Initialises the receiver by traversing the WSDL document in the supplied tree.

### initializing

- (GWSElement*) initializing;
Returns the current element when initializing the document from a tree of elements, `nil` otherwise. This is intended for use by companion classes which are initializing themselves from this document.

### messageNames

- (NSArray*) messageNames;
Returns the names of all WSDL messages currently defined in this document.

### messageWithName: create:

- (GWSMessage*) messageWithName: (NSString*)name create: (BOOL)shouldCreate;
Returns the named WSDL message, creating a new instance if the named message does not exist and the shouldCreate flag is `YES`.

### name

- (NSString*) name;
Returns the receiver's name.

### namespaceForPrefix:

- (NSString*) namespaceForPrefix: (NSString*)prefix;
Returns the namespace URI mapped to by the specified prefix, or `nil` if there is no such prefix known.

### namespacePrefix

- (NSString*) namespacePrefix;
Returns the namespace prefix used for the WSDL namespace in this document, or `nil` if there is no namespace prefix used.

### portTypeNames

- (NSArray*) portTypeNames;
Returns the names of all WSDL port types currently defined in this document.

### portTypeWithName: create:

- (GWSPortType*) portTypeWithName: (NSString*)name create: (BOOL)shouldCreate;
Returns the named WSDL port type, creating a new instance if the named port type does not exist and the shouldCreate flag is `YES`.

### prefixForNamespace:

- (NSString*) prefixForNamespace: (NSString*)url;
Returns the prefix for the specified namespace (if defined).

### qualify:

- (NSString*) qualify: (NSString*)name;
Given an element name which is in the WSDL namespace, return the qualified version of the name appropriate for use in this document.

### removeBindingNamed:

- (void) removeBindingNamed: (NSString*)name;
Removes the named WSDL binding from the document.

### removeMessageNamed:

- (void) removeMessageNamed: (NSString*)name;
Removes the named WSDL message from the document.

### removePortTypeNamed:

- (void) removePortTypeNamed: (NSString*)name;
Removes the named WSDL port type from the document.

### removeServiceNamed:

- (void) removeServiceNamed: (NSString*)name;
Removes the named WSDL service from the document.

### removeTypeNamed:

- (void) removeTypeNamed: (NSString*)name;
Removes the named WSDL type from the document.

### serviceNames

- (NSArray*) serviceNames;
Returns the names of all WSDL services currently defined in this document.

### serviceWithName: create:

- (GWSService*) serviceWithName: (NSString*)name create: (BOOL)shouldCreate;
Returns the named WSDL service, creating a new instance if the named service does not exist and the shouldCreate flag is `YES`.

### setDocumentation:

- (void) setDocumentation: (GWSElement*)documentation;
Set the documentation of this document.

### setExtensibility:

- (void) setExtensibility: (NSArray*)extensibility;
Set the extensibility elements for this document.

### setName:

- (void) setName: (NSString*)name;
Set the name of this document.

### setTargetNamespace:

- (void) setTargetNamespace: (NSString*)uri;
Set the target namespace of this document.

### targetNamespace

- (NSString*) targetNamespace;
Return the target namespace of this document.

### tree

- (GWSElement*) tree;
Returns a tree of elements describing the WSDL documnet represented by the receiver.

### typeNames

- (NSArray*) typeNames;
Returns the names of all WSDL types currently defined in this document.

### typeWithName: create:

- (GWSType*) typeWithName: (NSString*)name create: (BOOL)shouldCreate;
Returns the named WSDL type, creating a new instance if the named type does not exist and the shouldCreate flag is `YES`.

### writeToFile: atomically:

- (BOOL) writeToFile: (NSString*)file atomically: (BOOL)atomically;
Writes the contents of the receiver to the specified file as a WSDL document.

### writeToURL: atomically:

- (BOOL) writeToURL: (NSURL*)anURL atomically: (BOOL)atomically;
Writes the contents of the receiver to the specified URL as a WSDL document.