[Xerte] Having problems duplicating nodes

Julian Tenney Julian.Tenney at nottingham.ac.uk
Thu Dec 4 08:58:07 GMT 2008


What you describe sounds right. I think the index is correct (and that'
backed up by the fact you use the same var to display the current page
number to the user).

 

So if that is indeed correct, then it must be an issue with reading the
data out of the xml data. Are you using th index in the right part of
the templateData path?

 

From: xerte-bounces at lists.nottingham.ac.uk
[mailto:xerte-bounces at lists.nottingham.ac.uk] On Behalf Of Paul Swanson
Sent: Wednesday, December 03, 2008 10:04 PM
To: Xerte discussion list
Subject: RE: [Xerte] Having problems duplicating nodes

 

Well, apparently I was. I had the duplicate code in the entry frame of
lesson 1, so I guess it was executing each time I moved from page to
page in lesson 1? I moved the code to just above the interface icon (so
it can only run once), made the necessary changes to the childNodes
structure, and it was still acting funny. I then found that I had both a
variable and an icon id of 'lesson1Counter' so it's no wonder it was
acting inconsistently. ;o)  I fixed that and now I'm consistently
getting the correct number of question nodes.

 

I still have one problem though: it only displays one question. When I
get to the first question node, it displays the question correctly, the
second node displays the same question, and if I back up to the first
question node, it's blank.  Here is the code where I get the question
number:

 

questIndex = icon.parentNode.index() - 1;

 

The script icon with this code is the first icon in the proto Wrap Up
page (what I was calling the question node above), and the proto Wrap Up
page is the second child of the wrap up framework (the Entry Frame being
the first child), so questIndex should be 0 for the first question, and
1 for the next, right? I'm using questIndex+1 for a page counter, and
that is correctly displaying 1 for question 1 and 2 for question 2, but
the questions don't change. Any insight on that?

 

Thanks for all your help!

 

P

	 

	
________________________________


	From: xerte-bounces at lists.nottingham.ac.uk
[mailto:xerte-bounces at lists.nottingham.ac.uk] On Behalf Of Julian Tenney
	Sent: Wednesday, December 03, 2008 12:45 PM
	To: Xerte discussion list
	Subject: RE: [Xerte] Having problems duplicating nodes

	You're not duplicating icons more than once are you? When you
call duplicate, you are manipulatingthe xml in the rlo file:

	 

	//this makes n + 1 children on icon.nextSibling:

	icon.nextSibling.firstChild.duplicate(n);

	 

	//call it again (perhaps because we revisit this page):

	icon.nextSibling.firstChild.duplicate(n);

	 

	//how many children?

	debug(icon.nextSibling.childNodes.length); //duh. Twice as many
as I needed.

	 

	//so, only let the duplicate run once, 'cos if we revisit a
page, we'll end up with too many xml nodes...

	if (someFlag != true){

	  duplicate(....make icons here...);

	  someFlag = true;

	}

	 

	//i tend to do it like this, so duplicate code in icon will only
ever run once:

	if (icon.attributes.built != 'true'){

	  //duplicate and other logic here

	  icon.attributes.built = 'true';

	}

	 

	sort that out and the see if you've got any issues left. The
thing is that 'icon' refers to the underlying xml node - that is key to
understanding what's happening with duplicate(); make sure the code that
builds the piece only runs once.

	 

	J

	 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.nottingham.ac.uk/pipermail/xerte/attachments/20081204/c8c94545/attachment.html


More information about the Xerte mailing list