xsl-list
[Top] [All Lists]

RE: Re: [xslt transform & grouping] Using the Muenchian Method?

2004-10-06 02:40:08
I think you can be pretty sure that a NullReferenceException 20 levels deep
into system classes, with no user-written code in sight, is indeed a
Microsoft bug.

Michael Kay
http://www.saxonica.com/

 

-----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>
--+--





<Prev in Thread] Current Thread [Next in Thread>