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 |
WSDLFilter
public WSDLFilter(org.xml.sax.ContentHandler outputHandler,
java.lang.String tnsNamespaceUri)
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.