-----Original Message-----
From: Michael PG [mailto:xrow(_at_)msn(_dot_)com]
Sent: 06 October 2004 10:13
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: Re: [xsl] Re: [xslt transform & grouping] Using the
Muenchian Method?
Vendor: Microsoft
Vendor URL: http://www.microsoft.com
XSLT Version: 1
-
Exception Details:
System.NullReferenceException: Object reference not set to an
instance of an
object.
Source Error:
Line 60: myXslTrans.Transform(myXPathDoc, null, writer, null);
Stack Trace:
[NullReferenceException: Object reference not set to an
instance of an
object.]
System.Xml.XPath.FilterQuery.SetXsltContext(XsltContext input)
System.Xml.XPath.FilterQuery.SetXsltContext(XsltContext input)
System.Xml.XPath.MergeFilterQuery.SetXsltContext(XsltContext input)
System.Xml.XPath.OrQuery.SetXsltContext(XsltContext context)
System.Xml.XPath.MethodOperand.SetXsltContext(XsltContext context)
System.Xml.XPath.LogicalExpr.SetXsltContext(XsltContext context)
System.Xml.XPath.FilterQuery.SetXsltContext(XsltContext input)
System.Xml.XPath.MergeFilterQuery.SetXsltContext(XsltContext input)
System.Xml.XPath.CompiledXpathExpr.SetContext(XmlNamespaceManager
nsManager)
System.Xml.Xsl.Processor.GetCompiledQuery(Int32 key)
System.Xml.Xsl.Processor.StartQuery(XPathNavigator
context, Int32 key)
System.Xml.Xsl.ForEachAction.Execute(Processor processor,
ActionFrame
frame)
System.Xml.Xsl.ActionFrame.Execute(Processor processor)
System.Xml.Xsl.Processor.Execute()
System.Xml.Xsl.XslTransform.Transform(XPathNavigator input,
XsltArgumentList args, XmlWriter output, XmlResolver resolver)
System.Xml.Xsl.XslTransform.Transform(IXPathNavigable input,
XsltArgumentList args, XmlWriter output, XmlResolver resolver)
com.tetrapak.gts.ctip.tpop.mm_main_v2.Page_Load(Object
sender, EventArgs
e) in c:\inetpub\wwwroot\mm_main_v2.aspx.cs:60
System.Web.UI.Control.OnLoad(EventArgs e)
System.Web.UI.Control.LoadRecursive()
System.Web.UI.Page.ProcessRequestMain()
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Posting the exact exception message and the version of your processor
would have been much more helpful.
Wolfgang
Michael PG wrote:
| I don't think that's there'a an bug in msxml.
|
| -M
|
|
|> From: "Werner, Wolfgang" <mail(_at_)wolfgang-werner(_dot_)net>
|> Reply-To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
|> To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
|> Subject: Re: [xsl] Re: [xslt transform & grouping] Using
the Muenchian
|> Method?
|> Date: Wed, 06 Oct 2004 09:57:04 +0200
|>
| xsltproc, XMLSpy's internal processor and msxml 3.0 yield
the following
| result (differing only in whitespace) using the files in
your last mail:
| <Documents>
| ~ <Document name="sub"/>
| ~ <Document name="main">
| ~ <Article title="1.2" info="main" filter="food"/>
| ~ <Article title="2.2" info="main" filter="food"/>
| ~ </Document>
| </Documents>
|
| So perhaps it's a bug in msxml 4.0, as Michael suggested.
|
| Wolfgang
|
| Michael PG wrote:
|
| | Hi Anton,
| |
| |
| | Here's the XSL stylesheet:
| |
| | <?xml version="1.0" encoding="UTF-8"?>
| |
| | <xsl:stylesheet version="1.0"
| | xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
| |
| | <xsl:output method="xml" version="1.0" encoding="utf-8"
| indent="yes"/>
| |
| | <xsl:key name="by-info" match="Article" use="@info"/>
| |
| | <xsl:param name="filter" select="'food'"></xsl:param>
| |
| | <xsl:template match="Documents">
| |
| | <!-- @filter='' will be true if it is there and
empty or if it
| | is not there at all) -->
| | <xsl:apply-templates select="*[(_at_)filter='' or
| @filter=$filter]"/>
| |
| | <Documents>
| | <xsl:for-each select="Document[(_at_)filter='' or
| |
@filter=$filter]/Article[count(.|key('by-info',@info)[(_at_)filter='' or
| | @filter=$filter][1])=1]">
| | <Document name="{(_at_)info}">
| | <xsl:copy-of
| | select="key('by-info',@info)[(_at_)filter=$filter]"/>
| | </Document>
| | </xsl:for-each>
| | </Documents>
| |
| | </xsl:template>
| |
| | </xsl:stylesheet>
| |
| |
| | The line proposed by David C. gives an exception.
| |
| | <xsl:for-each select="Document[(_at_)filter='' or
| |
@filter=$filter]/Article[count(.|key('by-info',@info)[(_at_)filter='' or
| | @filter=$filter][1])=1]">
| |
| |
| | The XML looks like:
| |
| | <?xml version="1.0" encoding="utf-8"?>
| |
| | <Documents>
| | <Document chapter="1" title="title 1"
href="file1.xml" filter="">
| | <Article title="1.1" info="sub" filter="drink"/>
| | <Article title="1.2" info="main" filter="food"/>
| | </Document>
| | <Document chapter="2" title="title 2" href="file2.xml"
| filter="drink">
| | <Article title="2.1" info="sub" filter="drink"/>
| | <Article title="2.2" info="main" filter="food"/>
| | </Document>
| | </Documents>
| |
| |
| | Thanx.
| |
| | -M
| |
| |
| |> From: Anton Triest <anton(_at_)cking(_dot_)be>
| |> Reply-To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
| |> To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
| |> Subject: Re: [xsl] Re: [xslt transform & grouping]
Using the Muenchian
| |> Method?
| |> Date: Wed, 06 Oct 2004 00:47:56 +0200
| |>
| |> Michael PG wrote:
| |>
| |>> After adding the suggested line I got an exception
lake it last case.
| |>>
| |>> select="Document[(_at_)filter='' or
| |>>
@filter=$filter]/Article[count(.|key('by-info',@info)[(_at_)filter='' or
| |>> @filter=$filter][1])=1]">
| |>
| |>
| |>
| |> Hi Michael (I'm jumping in again, was away yesterday)
| |>
| |> did you define the key in this template? (that caused
the exception
| |> last time, didn't it)
| |> if so, maybe you'll better post the complete stylesheet
once more...
| |> (+ exception details)
| |>
| |> Anton
| |>
| |>
| |>
--+------------------------------------------------------------------
| |> 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>
| |> --+--
| |>
| |
| | _________________________________________________________________
| | On the road to retirement? Check out MSN Life Events for
advice on how
| | to get there!
http://lifeevents.msn.com/category.aspx?cid=Retirement
| |
| |
| |
--+------------------------------------------------------------------
| | 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>
- --+--
|>
| _________________________________________________________________
| FREE pop-up blocking with the new MSN Toolbar ? get it now!
| http://toolbar.msn.click-url.com/go/onm00200415ave/direct/01/
|
--+------------------------------------------------------------------
| 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>
| --+--
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (Cygwin)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org
iD8DBQFBY7PFqjaicDyx8o8RAtaSAKCK15QCOCxiwKIZgJ+z9JQqRPVNrACfXu1n
6FzRHNJrHdmbQ7t5ZCKDrX0=
=uWRD
-----END PGP SIGNATURE-----
--+------------------------------------------------------------------
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>
--+--
_________________________________________________________________
Get ready for school! Find articles, homework help and more
in the Back to
School Guide! http://special.msn.com/network/04backtoschool.armx
--+------------------------------------------------------------------
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>
--+--