Simple question:
If you element is named fn:field, and you do an apply templates of
select="fn:field", does your match have to be "fn:field", or does it
work fine with "field", and if not, is there a way to set up a match
for field for all namespaces? (maybe that was all ready answered,
reviewing this thread)
On 5/5/05, Karl Stubsjoen <kstubs(_at_)gmail(_dot_)com> wrote:
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(_at_)nag(_dot_)co(_dot_)uk> 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
________________________________________________________________________
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail:
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--