Subject: RE: [xsl] namespace prefix weirdness From: "Michael Kay" <mhk@xxxxxxxxx> Date: Tue, 17 Aug 2004 23:47:16 +0100 |
> > <modsCollection xmlns="http://www.loc.gov/mods/v3"> > > <key xmlns="">test</key> > > <_0:mods xmlns="" > > xmlns:_0="http://www.loc.gov/mods/v3" > ID="Mitchell1996b">> > > <titleInfo xmlns="http://www.loc.gov/mods/v3"> > > <title>Introduction</title> > > <subTitle>Public Space and the City</subTitle> > > </titleInfo> > This is certainly rather unusual output, though it's perfectly correct according to the spec. I think that what's happening here is that when Saxon copies an element (xsl:copy-of applied to the mods element in this case), it first copies all the namespace nodes from the source element, then performs namespace fixup to decide what prefix to allocate to the element name (and to any attribute names). While copying the namespace nodes, it has decided to generate an xmlns="" undeclaration, because the source element does not have the namespace xmlns="http://www.loc.gov/mods/v3" in scope and it therefore needs to be undeclared. When it comes to generate the prefix for the mods element, it decides that the default prefix "" is already in use, so it has to generate an arbitrary new prefix. In fact if Saxon delayed the decision to generate the xmlns="" undeclaration until after namespace fixup, it could reassign the default ("") prefix, and generate a more pleasing output tree. But it doesn't. Michael Kay
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] namespace prefix weirdnes, Bruce D'Arcus | Thread | Re: [xsl] namespace prefix weirdnes, Bruce D'Arcus |
RE: [xsl] Split HTML File Into XML , Michael Kay | Date | RE: [xsl] SaxonProcessorVsParser, Michael Kay |
Month |