I've discovered another problem. It possible that MSXML is wrong but its giving me the results I'm expecting.
I'll attach the files in question. If you apply xslFlashNavigationData.xsl to config.xml (be sure to set the itemid param to 'DFNavData') you will get different results depending on whether you use stylus or msxml to parse.
The bit that is causeing trouble seems to be:
count(ancestor-or-self::node/preceding::node|ancestor-or-self::node)
With Stylus I get the following results:
ChildCount0=5&ID0=NavTree001&Title0=Home&
ChildCount1=3&ID1=node1&Title1=TSN Home&
ChildCount2=0&ID2=node2&Title2=Top Stories&
ChildCount3=0&ID3=node3&Title3=TSN Broadcast&
ChildCount4=0&ID4=node4&Title4=Schedule&
ChildCount5=4&ID5=node5&Title5=MLB&
ChildCount10=0&ID10=node10&Title10=Top Stories&
ChildCount11=0&ID11=node11&Title11=Standings&
ChildCount12=0&ID12=node12&Title12=Schedule&
ChildCount13=2&ID13=node13&Title13=Teams&
ChildCount21=3&ID21=node21&Title21= National League&
....
With MSXML I get:
ChildCount0=5&ID0=NavTree001&Title0=Home&
ChildCount1=3&ID1=node1&Title1=TSN Home&
ChildCount2=0&ID2=node2&Title2=Top Stories&
ChildCount3=0&ID3=node3&Title3=TSN Broadcast&
ChildCount4=0&ID4=node4&Title4=Schedule&
ChildCount5=4&ID5=node5&Title5=MLB&
ChildCount6=0&ID6=node6&Title6=Top Stories&
ChildCount7=0&ID7=node7&Title7=Standings&
ChildCount8=0&ID8=node8&Title8=Schedule&
ChildCount9=2&ID9=node9&Title9=Teams&
....
From what I understand of my axes, MSXML is right. Its also the output I want. I know there are other ways of doing this but there will be a later transform that will replicate the hierarchy (I really hate flash4) which will not be processing the nodes in a hierarchical fashion.
Your friendly neighborhood beta tester.
Adam
Config(1).xml XML Source
ConfigLib(1).xsl Library (has code in question)
xslFlashNavigationData.xsl Stylesheet
|