Hi Ajay,
If the XML is valid, I don't see how you can have SwInt1 prefix without
declaring the SwInt1 namespace in your source XML. That namespace prefix
is being used in the XML, so it should be declared.
XSLT will of course complain about SwInt1 not being defined. Both Xalan
and my version of Altova XMLSpy complain.
If you were to add a declaration of the SwInt1 namespace to the source
XML, then the XSLT would work as expected.
Nathan
ajay bhadauria wrote:
Hi,
I need to copy all the child elements from the parent element to
output xml using java transform method. However, one of the child
element is prefixed but does not have corresponding namespace.
What should I do in xslt so that all the children elements of parent
element are copied to output xml file without caring the namespace.
Altova XMLSpy does that but When I use xalan-java 2.7.1 , it does not
copy.
How I can achieve with xalan java 2.7.1 ?
E.g.
Input XML file
============
<?xml version="1.0" encoding="UTF-8"?>
<SwInt:Request >
<SwInt:RequestHeader>
<SwInt1:Requestor>cn=requestor,o=pimxbebb,o=swift1</SwInt1:Requestor>
<SwInt:Responder>cn=responder,o=pimxus33,o=swift</SwInt:Responder>
<SwInt:RequestRef>xyz</SwInt:RequestRef>
</SwInt:RequestHeader>
</SwInt:Request>
XSLT file
======
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:Sw="urn:swift:snl:ns.Sw" xmlns:SwInt="urn:swift:snl:ns.SwInt"
xmlns:SwSec="urn:swift:snl:ns.SwSec" >
<xsl:output method="xml" version="1.0" encoding="UTF-8"
indent="yes"/>
<xsl:template match="/">
<xsl:copy-of select="/SwInt:Request/SwInt:RequestHeader"/>
</xsl:template>
</xsl:stylesheet>
Output Xml comes with
<?xml version="1.0" encoding="UTF-8"?>
Regards
Ajay
--
Nathan Nadeau
n...@gleim.com
Software Development
Gleim Publications, Inc.
http://www.gleim.com