Subject: Re: [xsl] key with restricting the scope of use attribute From: Dan Diebolt <dandiebolt@xxxxxxxxx> Date: Fri, 11 May 2001 09:12:46 -0700 (PDT) |
Okay I think I see where the misunderstanding is coming in; I posted some misleading XML. Sorry for the confusion. Let me explaing what I am doing in the large. I am traversing a very large tree doing a dependency sort (topological sort) among a set of blocks. Some of the blocks are themselves hierarchical so when I encounter one of these I have to topologically sort the block as normal but also descend into the hierarchical block and recurse the dependency sort algorithm. The purpose of the dependency sort is to generate c-code from XML in the correct sequence so inputs to one block are previously calculated. The purpsoe of descending into lower blocks is to expand subroutines or function calls. Magically this works in the real XML, but apparently I am having some trouble providing a simplified example to the list. As you can imagine the XML instance is large and tangled - too large to post. When I came up with the sample XML, I trimmed it down severely, droppng out many levels of hierarchy and converting children to attributes to economize on space. I think I did this in a misleading fashion. Jeni's (and David's) observation that the generate-id():@x:y key value can only ever match a single node is true for the XML I posted. > randomID1:1:1 > > *Only* this particular b element will have this key because > generate-id() produces a unique ID for a node. Thus each key value > will only ever access one node. However, the real XML effectively has elements ahead of <b> and in between the pieces of information I made attributes of <b>, @x and @y. So conceptually the info represented the XML might be something like this: <a> <aa> <b> <foo><bar><x>1</x><y>1</y></bar><foo> <foo><baz><x>1</x><y>2</y></baz><foo> <foo><bit><x>1</x><y>1</y></bit><foo> <foo><bem><x>2</x><y>2</y></bem><foo> </b> </aa> </a> <a> <aa> <b> <foo><bar><x>1</x><y>1</y></bar><foo> </b> </aa> </a> What I am trying to avoid is while I am visiting say the first b, I don't want to concern myself with an out-of-context match x:y='1:1" that might come from another instance of <b> (like the second). At this point, I think I should correct the sample XML before proceeding with this thread, but the xsl:key definition and call to key() need to be reworked so generate-id() is not operating on the matched node. Perhaps I should have used generate-id(..) instead. Let me see if I can surgically simplify the actual XML I am working with and I will repost. Thanks for you comments. Regards, Dan __________________________________________________ Do You Yahoo!? Yahoo! Auctions - buy the things you want at great prices http://auctions.yahoo.com/ XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] key with restricting the , Jeni Tennison | Thread | Re: [xsl] key with restricting the , David Carlisle |
Re: [xsl] Incrementing a Variable, Jeni Tennison | Date | Re: [xsl] key with restricting the , David Carlisle |
Month |