Subject: Re: [xsl] Expression Logic Problem From: "Charles Knell" <cknell@xxxxxxxxxx> Date: Wed, 31 Jul 2002 17:49:11 -0700 |
While I can appreciate esthetics, the two things I am most concerned with are correctness and efficiency. My XPath says find a field element which is a child of a record element, then get the first field element which is a child of the record element (at least that's what I think it says, and that appears to be backed up by XPath Explorer.) That is the most direct way I can see to get the desired element. If it is incorrect and you or anyone else cares to explain why, I will be anxious to learn. Now as to the efficiency, I have no feelings. I suspect that the initial double-slash could slow things down on a large document, and I can see that replacing it with an absolute path the the document root might be better, but I was hoping for a more practical reaction than one concerning its comeliness. -- Charles Knell cknell@xxxxxxxxxx - email ---- "Robert S. Koberg" <rob@xxxxxxxxxx> wrote: > hi, > > Charles Knell wrote: > > Let me recommend Purple Technology's XPath Explorer (http://sourceforge.net/projects/xpe/) > > > > I copied your XML to a file, opened it in XPath Explorer, and determined > > this XPath in a few seconds.: > > //record/field/../field[1] > > > > or in expanded form: > > /descendant-or-self::node()/child::record/child::field/parent::node()/child::field[1.0] > > this looks hideous > > > > > > This may not be the most efficient XPath, but it is a good starting > point. > > > > > > I just noticed a cut & paste error in my code. I had: > > <xsl:if test="not(@id=preceding-sibling::field[1]/@id)"> > > > > <!-- perhaps use a key here? --> > > <xsl:value-of > > select="$/document/configure/server/resultfield[@id=$id]"/> > > <xsl:text>: </xsl:text> > > </xsl:if> > > I was going to use a variable to save line space, but then switched > back > but did not get the '$.' It is probably obvious but it should be: > > <xsl:if test="not(@id=preceding-sibling::field[1]/@id)"> > > > > <!-- perhaps use a key here? --> > > <xsl:value-of > select="/document/configure/server/resultfield[@id=$id]"/> > > > <xsl:text>: </xsl:text> > > </xsl:if> > > -Rob > > > > > XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list > > XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Expression Logic Problem, Robert S. Koberg | Thread | [xsl] Re: Summing multiple attribut, Dimitre Novatchev |
Re: [xsl] Expression Logic Problem, Joerg Heinicke | Date | |
Month |