## org.exist.storage.serializers
Class WSDLFilter

    java.lang.Object
      org.exist.storage.serializers.WSDLFilter

All Implemented Interfaces:
  org.xml.sax.ContentHandler

public class WSDLFilter
extends java.lang.Object
implements org.xml.sax.ContentHandler

Add the xmlns:tns and xmlns:soapenc namespaces to the definitions element of the WSDL stylesheet we do this here as a workaround for Xalan, Xalan has no easy way to declare additional dynamic namespaces. There are two possible known Xalan hacks to do this - 1) declare a dummy attribute with the namespace. This seems to break WSDL compatibilty though! 2) declare a variable containing an element with namespace and copy the namespace using xsl:copy-of and xalan:nodeset() but this doesnt seem to work! http://sources.redhat.com/ml/xsl-list/2001-09/msg01204.html If we were using Saxon instead of Xalan then the workaround is easy as XSLT 2.0 supports xsl:namespace for declaring dynamic namespaces

Author:
  Adam Retter (adam.retter@devon.gov.uk)

Constructor Summary
`WSDLFilter(org.xml.sax.ContentHandler outputHandler, java.lang.String tnsNamespaceUri)`

Method Summary
`void` `characters(char[] ch, int start, int length)`
`void` `endDocument()`
`void` `endElement(java.lang.String uri, java.lang.String localName, java.lang.String qName)`
`void` `endPrefixMapping(java.lang.String prefix)`
`void` `ignorableWhitespace(char[] ch, int start, int length)`
`void` `processingInstruction(java.lang.String target, java.lang.String data)`
`void` `setDocumentLocator(org.xml.sax.Locator locator)`
`void` `skippedEntity(java.lang.String name)`
`void` `startDocument()`
`void` `startElement(java.lang.String uri, java.lang.String localName, java.lang.String qName, org.xml.sax.Attributes atts)`
`void` `startPrefixMapping(java.lang.String prefix, java.lang.String uri)`

Methods inherited from class java.lang.Object
`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### WSDLFilter

    public WSDLFilter(org.xml.sax.ContentHandler outputHandler,
                      java.lang.String tnsNamespaceUri)

Method Detail

### setDocumentLocator

    public void setDocumentLocator(org.xml.sax.Locator locator)

  Specified by:
    `setDocumentLocator` in interface `org.xml.sax.ContentHandler`

### startDocument

    public void startDocument()
                       throws org.xml.sax.SAXException

  Specified by:
    `startDocument` in interface `org.xml.sax.ContentHandler`
  Throws:
    `org.xml.sax.SAXException`

### endDocument

    public void endDocument()
                     throws org.xml.sax.SAXException

  Specified by:
    `endDocument` in interface `org.xml.sax.ContentHandler`
  Throws:
    `org.xml.sax.SAXException`

### startPrefixMapping

    public void startPrefixMapping(java.lang.String prefix,
                                   java.lang.String uri)
                            throws org.xml.sax.SAXException

  Specified by:
    `startPrefixMapping` in interface `org.xml.sax.ContentHandler`
  Throws:
    `org.xml.sax.SAXException`

### endPrefixMapping

    public void endPrefixMapping(java.lang.String prefix)
                          throws org.xml.sax.SAXException

  Specified by:
    `endPrefixMapping` in interface `org.xml.sax.ContentHandler`
  Throws:
    `org.xml.sax.SAXException`

### startElement

    public void startElement(java.lang.String uri,
                             java.lang.String localName,
                             java.lang.String qName,
                             org.xml.sax.Attributes atts)
                      throws org.xml.sax.SAXException

  Specified by:
    `startElement` in interface `org.xml.sax.ContentHandler`
  Throws:
    `org.xml.sax.SAXException`

### endElement

    public void endElement(java.lang.String uri,
                           java.lang.String localName,
                           java.lang.String qName)
                    throws org.xml.sax.SAXException

  Specified by:
    `endElement` in interface `org.xml.sax.ContentHandler`
  Throws:
    `org.xml.sax.SAXException`

### characters

    public void characters(char[] ch,
                           int start,
                           int length)
                    throws org.xml.sax.SAXException

  Specified by:
    `characters` in interface `org.xml.sax.ContentHandler`
  Throws:
    `org.xml.sax.SAXException`

### ignorableWhitespace

    public void ignorableWhitespace(char[] ch,
                                    int start,
                                    int length)
                             throws org.xml.sax.SAXException

  Specified by:
    `ignorableWhitespace` in interface `org.xml.sax.ContentHandler`
  Throws:
    `org.xml.sax.SAXException`

### processingInstruction

    public void processingInstruction(java.lang.String target,
                                      java.lang.String data)
                               throws org.xml.sax.SAXException

  Specified by:
    `processingInstruction` in interface `org.xml.sax.ContentHandler`
  Throws:
    `org.xml.sax.SAXException`

### skippedEntity

    public void skippedEntity(java.lang.String name)
                       throws org.xml.sax.SAXException

  Specified by:
    `skippedEntity` in interface `org.xml.sax.ContentHandler`
  Throws:
    `org.xml.sax.SAXException`

Copyright (C) Wolfgang Meier. All rights reserved.