If you can get a handle to specify properties for the underlying Xerces XMLReaders, you might try setting the UsingNamespaces to false. The default for Xalan when creating XMLReaders is "true".
- Steve > > The issue may be in the Xerces-C XMLReader when trying to construct a > nodeset. > I have not tried such LAX parsing of XML documents with Xerces-C > callbacks. > > When namespace prefixes are used, indicating qualified names, the > namespaces must be specified. This is part of wellformedness. The > presence of prefixes without qualifying names will cause the nodeset > generators to fail during namespace resolution, resulting in an empty > nodeset. > > I have tried several methods trying to workaround your absence of > namespace qualified prefixes and failed. If you must have this > capability, > you may need to coerce your source into a nodeset by other means and > supply your own document tree walker. - Good Luck! > > Maybe someone else can shed some light on how to set specific features > for XMLReaders to accomplish what you want. > > - Steve > > On 11/7/2011 5:39 PM, shath...@e-z.net wrote: >>> Hi, >>> >>> I need to copy all the child elements from the parent element to output >>> xml using xalan c++ 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 c++ 1.10 , it does not copy. >>> >>> How I can achieve this using xalan c++ 1.10 ? >>> >>> 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 >> All namespace prefixes in your XML file should be namespace qualified. >> >> <?xml version="1.0" encoding="UTF-8"?> >> <SwInt:Request xmlns:SwInt="urn:swift:snl:ns.SwInt" >> xmlns:SwInt1="urn:swift:snl:ns.SwInt1"> >> <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> >> >> The following is an edit of your xslt file >> >> <?xml version="1.0" encoding="UTF-8"?> >> <xsl:stylesheet version="1.0" >> xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >> xmlns:SwInt="urn:swift:snl:ns.SwInt" >> xmlns:SwInt1="urn:swift:snl:ns.SwInt1"> >> <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes" >> omit-xml-declaration="yes"/> >> <xsl:template match="/"> >> <xsl:copy-of select="/SwInt:Request/SwInt:RequestHeader"/> >> </xsl:template> >> </xsl:stylesheet> >> >> Producing the output file >> >> <SwInt:RequestHeader xmlns:SwInt="urn:swift:snl:ns.SwInt" >> xmlns:SwInt1="urn:swift:snl:ns.SwInt1"> >> <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> >> >> I am unclear on what you are actually trying to do: >> >> You only need in the stylesheet the prefix declarations used in the >> stylesheet. The xml documents need namespace declarations for the >> prefixes they use. >> >> Steven J. Hathaway >> >> >> > >