Subject: Re: [xsl] Name Spaces in Selects and xsl:element From: Karl Stubsjoen <kstubs@xxxxxxxxx> Date: Thu, 5 May 2005 09:03:14 -0700 |
> omit-result-prefixes="ms" Did you mean exclude-result-prefixes? exclude-result-prefixes is working, except for variables/elements that are being evaluated with xxx:nod-set(). I have a template rule which sorts data, and creates a number attribute from a date, the result might look something like this: <fn:members> <fn:member> <field name="first_name">Suzie</field> <field name="dob" num_dtm="19990604"/>1999-06-04</field> </fn:member> <fn:member> <field name="first_name">Bob</field> <field name="dob" num_dtm="20010304"/>2001-03-04</field> </fn:member> </fn:members> Contained in the variable "sorted_members". The xml result of this is not as "pretty" as I'd like it, all though better for sure; it removed my other namespaces, but the xmlns definition for "fn" lingers. Any ideas on that? On 5/5/05, David Carlisle <davidc@xxxxxxxxx> wrote: > > > So, given the sample data, how would one > > select all elements who's namespace is "fn"? > > select="//fn:*" > > does just what you say 9so long as fn prefix is bound to a namespace in > your stylesheet (the source doesn't have to use the same prefix) > > But that probably isn't what you want to do, as selecting all elements > in a single node set isn't usually useful. In this case you'd get fn:A > and all the fn:B's > > if you justuse a normal apply-templates then you can make all elements > be discarded > <xsl:template match="*"/> > and then have more specific templates to do something with fn elements, > eg > <xsl:template match="fn:*"> > <xsl:apply-templates/> > </xsl:template> > > will produce the result that you wanted. > > Another question, about xsl:element. When I use this to create > elements, the elements never get the appended xmlns attribute added. > > note that namespace declarations (xmlns....) are not attributes to > XPath/XSLT (even though they use a similar syntax) > > > > <NewElement xmlns:ms="urn:schemas-microsoft-com:xslt"> > > How can this be avoided without using the xsl:element command? > > Th ms namespace prefix must be in scope in your stylesheet. > If you need it declared but don't need it in the result add > omit-result-prefixes="ms" > to your xsl:stylesheet element. > > David > > ________________________________________________________________________ > This e-mail has been scanned for all viruses by Star. The > service is powered by MessageLabs. For more information on a proactive > anti-virus service working around the clock, around the globe, visit: > http://www.star.net.uk > ________________________________________________________________________
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Name Spaces in Selects an, David Carlisle | Thread | Re: [xsl] Name Spaces in Selects an, Karl Stubsjoen |
RE: [xsl] XSL - Transforming 2 XSL , Andrew Welch | Date | Re: [xsl] XSL - Transforming 2 XSL , JBryant |
Month |