Re: [svg-developers] Re: use tag and unique IDs

2006-02-09 Thread Sean
Domenico,

First, thanks for pointing me to the resizable text wrap.  It was just 
what I needed.

With regards to the use tag,  I was hoping I could reuse a tspan element 
and modify the text for each use tag, but once I change tspan1, all the 
references would reflect it.  So using a tspan in the defs and reusing 
over and over for separate text boxes is not possible.

Sean

domenico_strazzullo wrote:

Sean,

Of course it's possible. You need to target the document and not 
just the element that makes the call:

function edit2(evt){
// var objet=evt.target;
   var objet = evt.target.ownerDocument;
   var tspan1 = objet.getElementById(tspan1); //Works
   tspan1.firstChild.data = NewText;
}

It works in IE7 and FF. I'm not sure the last line is what you want 
to do, just a guess, but tspan1 returns an object so you can do 
anything with it.

Domenico


--- In svg-developers@yahoogroups.com, Jeff Rafter [EMAIL PROTECTED] wrote:
  

Sean,

It can be done, it just has to be done differently in each 


browser. Try 
  

this code inside of your event:

 var target = evt.target;
  var use = null
 if (target == null) return;
 if (target.correspondingUseElement)
   use = target.correspondingUseElement;

This is a sure way to get the use element from the target (in 


case it 
  

is not correctly returned as an SVGElementInstance). The 
correspondingElement property is not itself reliable (because of 
inconsitent implementation interpretations). Once you have that 


you 
  

should be able to access

  use.instanceRoot, use.animatedInstanceRoot (less reliable)

 From that you should get a reliable SVGElementInstance on which 


you can 
  

use the correspondingElement property. Additionally you should be 


able 
  

to use read only DOM properties. See

http://www.w3.org/TR/SVG/struct.html#InterfaceSVGElementInstance

Also, once you have the use element, you can simply follow the 


link 
  

specified in the URI reference or simply lookup the referenced 


element 
  

by the specified ID.

Cheers,
Jeff Rafter

Sean wrote:


I can get the use tag, I want to be able to navigate the use 
  

tag.  I 
  

have the use referencing a g tag with several elements under the 
  

g tag.  
  

I want to be able to navigate those elements.  I'm coming to the 
conclusion that it can't be done.

Sean

Peter Kalev wrote:

  

Why don't you wrap the use element in a g id=, search 


for the
  

g and then look for the use inside the g... Works fine 


for me...
  

Peter Kalev
Senior Developer,
SWF, LLC


-Original Message-
From: Sean [mailto:[EMAIL PROTECTED] 
Sent: Wednesday, February 08, 2006 11:21 AM
To: svg-developers@yahoogroups.com
Subject: Re: [svg-developers] Re: use tag and unique IDs

I should say navigate the use element.  I realize that it is 


read only, 
  

but I can't figure out how to do that.  Thanks.

Sean wrote:

 



Does any one have examples of using SVGUseElement  
  

SVGElementInstance?
  

   

  

 



Thanks.

Sean

Sean wrote:



   

  

Hi Alastair,

Thanks for the input.  I figured as much with the id, but 
getElementByName didn't work either.  I was hoping that 


something
  

 



would 
 



work.  I tried the childNodes and firstChild, but nothing 


works.  
  

objet.childNodes.length returns 0, which appears to mean that 


the
  

 



child 
 



nodes under the use tag don't get recognized, rendering the 


approaches
  

 



 



below useless, no pun intended.  My failure to get the use 


tags to
  

 



work 
 



would mean the difference between using 35,000 tags and 


210,000 tags.
  

 



I 
 



have quite the incentive to make it work.  Thanks.

var objet=evt.target;
alert(objet.childNodes.length);

var child = objet.firstChild;
i=0;
while(child != null){
childSibling = child.nextSibling;
alert(child.nodeType);
child = childSibling;
}

Sean

Alastair Fettes wrote:



  

 



You've made a fundamental mistake.  

1.  The idea behind a defs section is to resuse (have 
  

multiple
  

   

  

copies)
 



of an definition.
2.  The idea of an ID attribute is to only have one 
  

attribute with a
  

specific value document wide (see xs:ID type -
http://www.w3.org/TR/xmlschema-2/#ID).

So therefore you have a fundamental mistake.  The defs 
  

section and
  

   

  

the
 



id invalidate each other.

The only thing you could (possibly) do would be to 
  

getElementById(
  

useFrame2 ).childNodes.foo.bar to get the tspan.  Maybe, i 
  

don't
  

guarantee it.

Alastair

Re: [svg-developers] Re: use tag and unique IDs

2006-02-09 Thread Sean
Jeff,

As of now, I realize I cannot use the use tags the way I thought I 
could, but I'm still curios.  Either I'm missing something or I don't 
get what is going on.  If I understand correctly, use = 
target.correspondingUseElement; should give me the use tag I clicked 
on.  Which means use.getAttribute(id); should return the id of the use 
tag.  I get id is null.  Should I be getting null or the id?  Thanks.

Sean

Jeff Rafter wrote:

Sean,

It can be done, it just has to be done differently in each browser. Try 
this code inside of your event:

 var target = evt.target;
   var use = null
 if (target == null) return;
 if (target.correspondingUseElement)
   use = target.correspondingUseElement;

This is a sure way to get the use element from the target (in case it 
is not correctly returned as an SVGElementInstance). The 
correspondingElement property is not itself reliable (because of 
inconsitent implementation interpretations). Once you have that you 
should be able to access

   use.instanceRoot, use.animatedInstanceRoot (less reliable)

 From that you should get a reliable SVGElementInstance on which you can 
use the correspondingElement property. Additionally you should be able 
to use read only DOM properties. See

http://www.w3.org/TR/SVG/struct.html#InterfaceSVGElementInstance

Also, once you have the use element, you can simply follow the link 
specified in the URI reference or simply lookup the referenced element 
by the specified ID.

Cheers,
Jeff Rafter

Sean wrote:
  

I can get the use tag, I want to be able to navigate the use tag.  I 
have the use referencing a g tag with several elements under the g tag.  
I want to be able to navigate those elements.  I'm coming to the 
conclusion that it can't be done.

Sean

Peter Kalev wrote:



Why don't you wrap the use element in a g id=, search for the
g and then look for the use inside the g... Works fine for me...

Peter Kalev
Senior Developer,
SWF, LLC


-Original Message-
From: Sean [mailto:[EMAIL PROTECTED] 
Sent: Wednesday, February 08, 2006 11:21 AM
To: svg-developers@yahoogroups.com
Subject: Re: [svg-developers] Re: use tag and unique IDs

I should say navigate the use element.  I realize that it is read only, 
but I can't figure out how to do that.  Thanks.

Sean wrote:

 

  

Does any one have examples of using SVGUseElement  SVGElementInstance?
   



 

  

Thanks.

Sean

Sean wrote:



   



Hi Alastair,

Thanks for the input.  I figured as much with the id, but 
getElementByName didn't work either.  I was hoping that something
 

  

would 
 

  

work.  I tried the childNodes and firstChild, but nothing works.  
objet.childNodes.length returns 0, which appears to mean that the
 

  

child 
 

  

nodes under the use tag don't get recognized, rendering the approaches
 

  

 

  

below useless, no pun intended.  My failure to get the use tags to
 

  

work 
 

  

would mean the difference between using 35,000 tags and 210,000 tags.
 

  

I 
 

  

have quite the incentive to make it work.  Thanks.

var objet=evt.target;
alert(objet.childNodes.length);

var child = objet.firstChild;
i=0;
while(child != null){
childSibling = child.nextSibling;
alert(child.nodeType);
child = childSibling;
}

Sean

Alastair Fettes wrote:



  

 

  

You've made a fundamental mistake.  

1.  The idea behind a defs section is to resuse (have multiple
   



copies)
 

  

of an definition.
2.  The idea of an ID attribute is to only have one attribute with a
specific value document wide (see xs:ID type -
http://www.w3.org/TR/xmlschema-2/#ID).

So therefore you have a fundamental mistake.  The defs section and
   



the
 

  

id invalidate each other.

The only thing you could (possibly) do would be to getElementById(
useFrame2 ).childNodes.foo.bar to get the tspan.  Maybe, i don't
guarantee it.

Alastair

--- In svg-developers@yahoogroups.com, Sean [EMAIL PROTECTED] wrote:


 



   



I would like to use the use tags to save much text size as below.  
Problem is grabbing and editing data with onclick events.  The id


   

  

 

  

for my 


 



   



tspan would always be the same, but they would be used in different
 

  

use 
 

  

tags with unique IDs.  Is there a way to isolate say the tspan1
 

  

under 
 

  

useFrame2?

SVG
defs
g id=textFrame cat=textBox
text cat=textBox font-size=14 font=sans-serif tspan 
id=tspan1 cat=textBoxText/tspan/text
texttspan visibility=hidden id=tspan2/tspan/text
/g
/defs
use id=useFrame onclick=edit2(evt); xlink:href=#textFrame 
transform=translate(10,25)/
use id=useFrame2 onclick=edit2(evt); xlink:href=#textFrame 
transform=translate(10,50)/

JS
function edit2(evt){
var objet

Re: [svg-developers] Re: use tag and unique IDs

2006-02-08 Thread Sean
Hi Alastair,

Thanks for the input.  I figured as much with the id, but 
getElementByName didn't work either.  I was hoping that something would 
work.  I tried the childNodes and firstChild, but nothing works.  
objet.childNodes.length returns 0, which appears to mean that the child 
nodes under the use tag don't get recognized, rendering the approaches 
below useless, no pun intended.  My failure to get the use tags to work 
would mean the difference between using 35,000 tags and 210,000 tags.  I 
have quite the incentive to make it work.  Thanks.

var objet=evt.target;
alert(objet.childNodes.length);

var child = objet.firstChild;
i=0;
while(child != null){
  childSibling = child.nextSibling;
  alert(child.nodeType);
  child = childSibling;
}

Sean

Alastair Fettes wrote:

You've made a fundamental mistake.  

1.  The idea behind a defs section is to resuse (have multiple copies)
of an definition.
2.  The idea of an ID attribute is to only have one attribute with a
specific value document wide (see xs:ID type -
http://www.w3.org/TR/xmlschema-2/#ID).

So therefore you have a fundamental mistake.  The defs section and the
id invalidate each other.

The only thing you could (possibly) do would be to getElementById(
useFrame2 ).childNodes.foo.bar to get the tspan.  Maybe, i don't
guarantee it.

Alastair

--- In svg-developers@yahoogroups.com, Sean [EMAIL PROTECTED] wrote:
  

I would like to use the use tags to save much text size as below.  
Problem is grabbing and editing data with onclick events.  The id


for my 
  

tspan would always be the same, but they would be used in different use 
tags with unique IDs.  Is there a way to isolate say the tspan1 under 
useFrame2?

SVG
defs
  g id=textFrame cat=textBox
text cat=textBox font-size=14 font=sans-serif tspan 
id=tspan1 cat=textBoxText/tspan/text
texttspan visibility=hidden id=tspan2/tspan/text
  /g
/defs
use id=useFrame onclick=edit2(evt); xlink:href=#textFrame 
transform=translate(10,25)/
use id=useFrame2 onclick=edit2(evt); xlink:href=#textFrame 
transform=translate(10,50)/

JS
function edit2(evt){
var objet=evt.target;
var tspan1 = objet.getElementById(tspan1); //Doesn't work
}

Thanks!

Sean

-- 
I'd rather have a bottle in front of me, than a frontal lobotomy.
-- Tom Waits









-
To unsubscribe send a message to: [EMAIL PROTECTED]
-or-
visit http://groups.yahoo.com/group/svg-developers and click edit my 
membership
 
Yahoo! Groups Links



 





  


-- 
I'd rather have a bottle in front of me, than a frontal lobotomy.
-- Tom Waits 



-
To unsubscribe send a message to: [EMAIL PROTECTED]
-or-
visit http://groups.yahoo.com/group/svg-developers and click edit my 
membership
 
Yahoo! Groups Links

* To visit your group on the web, go to:
http://groups.yahoo.com/group/svg-developers/

* To unsubscribe from this group, send an email to:
[EMAIL PROTECTED]

* Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
 





Re: [svg-developers] Re: use tag and unique IDs

2006-02-08 Thread Sean
Does any one have examples of using SVGUseElement  SVGElementInstance?  
Thanks.

Sean

Sean wrote:

Hi Alastair,

Thanks for the input.  I figured as much with the id, but 
getElementByName didn't work either.  I was hoping that something would 
work.  I tried the childNodes and firstChild, but nothing works.  
objet.childNodes.length returns 0, which appears to mean that the child 
nodes under the use tag don't get recognized, rendering the approaches 
below useless, no pun intended.  My failure to get the use tags to work 
would mean the difference between using 35,000 tags and 210,000 tags.  I 
have quite the incentive to make it work.  Thanks.

var objet=evt.target;
alert(objet.childNodes.length);

var child = objet.firstChild;
i=0;
while(child != null){
  childSibling = child.nextSibling;
  alert(child.nodeType);
  child = childSibling;
}

Sean

Alastair Fettes wrote:

  

You've made a fundamental mistake.  

1.  The idea behind a defs section is to resuse (have multiple copies)
of an definition.
2.  The idea of an ID attribute is to only have one attribute with a
specific value document wide (see xs:ID type -
http://www.w3.org/TR/xmlschema-2/#ID).

So therefore you have a fundamental mistake.  The defs section and the
id invalidate each other.

The only thing you could (possibly) do would be to getElementById(
useFrame2 ).childNodes.foo.bar to get the tspan.  Maybe, i don't
guarantee it.

Alastair

--- In svg-developers@yahoogroups.com, Sean [EMAIL PROTECTED] wrote:
 



I would like to use the use tags to save much text size as below.  
Problem is grabbing and editing data with onclick events.  The id
   

  

for my 
 



tspan would always be the same, but they would be used in different use 
tags with unique IDs.  Is there a way to isolate say the tspan1 under 
useFrame2?

SVG
defs
 g id=textFrame cat=textBox
   text cat=textBox font-size=14 font=sans-serif tspan 
id=tspan1 cat=textBoxText/tspan/text
   texttspan visibility=hidden id=tspan2/tspan/text
 /g
/defs
use id=useFrame onclick=edit2(evt); xlink:href=#textFrame 
transform=translate(10,25)/
use id=useFrame2 onclick=edit2(evt); xlink:href=#textFrame 
transform=translate(10,50)/

JS
function edit2(evt){
   var objet=evt.target;
   var tspan1 = objet.getElementById(tspan1); //Doesn't work
}

Thanks!

Sean

-- 
I'd rather have a bottle in front of me, than a frontal lobotomy.
-- Tom Waits

   

  





-
To unsubscribe send a message to: [EMAIL PROTECTED]
-or-
visit http://groups.yahoo.com/group/svg-developers and click edit my 
membership
 
Yahoo! Groups Links









 




  


-- 
I'd rather have a bottle in front of me, than a frontal lobotomy.
-- Tom Waits 



-
To unsubscribe send a message to: [EMAIL PROTECTED]
-or-
visit http://groups.yahoo.com/group/svg-developers and click edit my 
membership
 
Yahoo! Groups Links

* To visit your group on the web, go to:
http://groups.yahoo.com/group/svg-developers/

* To unsubscribe from this group, send an email to:
[EMAIL PROTECTED]

* Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
 




Re: [svg-developers] Re: use tag and unique IDs

2006-02-08 Thread Sean
I should say navigate the use element.  I realize that it is read only, 
but I can't figure out how to do that.  Thanks.

Sean wrote:

Does any one have examples of using SVGUseElement  SVGElementInstance?  
Thanks.

Sean

Sean wrote:

  

Hi Alastair,

Thanks for the input.  I figured as much with the id, but 
getElementByName didn't work either.  I was hoping that something would 
work.  I tried the childNodes and firstChild, but nothing works.  
objet.childNodes.length returns 0, which appears to mean that the child 
nodes under the use tag don't get recognized, rendering the approaches 
below useless, no pun intended.  My failure to get the use tags to work 
would mean the difference between using 35,000 tags and 210,000 tags.  I 
have quite the incentive to make it work.  Thanks.

var objet=evt.target;
alert(objet.childNodes.length);

var child = objet.firstChild;
i=0;
while(child != null){
 childSibling = child.nextSibling;
 alert(child.nodeType);
 child = childSibling;
}

Sean

Alastair Fettes wrote:

 



You've made a fundamental mistake.  

1.  The idea behind a defs section is to resuse (have multiple copies)
of an definition.
2.  The idea of an ID attribute is to only have one attribute with a
specific value document wide (see xs:ID type -
http://www.w3.org/TR/xmlschema-2/#ID).

So therefore you have a fundamental mistake.  The defs section and the
id invalidate each other.

The only thing you could (possibly) do would be to getElementById(
useFrame2 ).childNodes.foo.bar to get the tspan.  Maybe, i don't
guarantee it.

Alastair

--- In svg-developers@yahoogroups.com, Sean [EMAIL PROTECTED] wrote:


   

  

I would like to use the use tags to save much text size as below.  
Problem is grabbing and editing data with onclick events.  The id
  

 



for my 


   

  

tspan would always be the same, but they would be used in different use 
tags with unique IDs.  Is there a way to isolate say the tspan1 under 
useFrame2?

SVG
defs
g id=textFrame cat=textBox
  text cat=textBox font-size=14 font=sans-serif tspan 
id=tspan1 cat=textBoxText/tspan/text
  texttspan visibility=hidden id=tspan2/tspan/text
/g
/defs
use id=useFrame onclick=edit2(evt); xlink:href=#textFrame 
transform=translate(10,25)/
use id=useFrame2 onclick=edit2(evt); xlink:href=#textFrame 
transform=translate(10,50)/

JS
function edit2(evt){
  var objet=evt.target;
  var tspan1 = objet.getElementById(tspan1); //Doesn't work
}

Thanks!

Sean

-- 
I'd rather have a bottle in front of me, than a frontal lobotomy.
-- Tom Waits

  

 





-
To unsubscribe send a message to: [EMAIL PROTECTED]
-or-
visit http://groups.yahoo.com/group/svg-developers and click edit my 
membership
 
Yahoo! Groups Links











   

  

 




  


-- 
I'd rather have a bottle in front of me, than a frontal lobotomy.
-- Tom Waits 



-
To unsubscribe send a message to: [EMAIL PROTECTED]
-or-
visit http://groups.yahoo.com/group/svg-developers and click edit my 
membership
 
Yahoo! Groups Links

* To visit your group on the web, go to:
http://groups.yahoo.com/group/svg-developers/

* To unsubscribe from this group, send an email to:
[EMAIL PROTECTED]

* Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
 




RE: [svg-developers] Re: use tag and unique IDs

2006-02-08 Thread Peter Kalev
Why don't you wrap the use element in a g id=, search for the
g and then look for the use inside the g... Works fine for me...

Peter Kalev
Senior Developer,
SWF, LLC


-Original Message-
From: Sean [mailto:[EMAIL PROTECTED] 
Sent: Wednesday, February 08, 2006 11:21 AM
To: svg-developers@yahoogroups.com
Subject: Re: [svg-developers] Re: use tag and unique IDs

I should say navigate the use element.  I realize that it is read only, 
but I can't figure out how to do that.  Thanks.

Sean wrote:

Does any one have examples of using SVGUseElement  SVGElementInstance?

Thanks.

Sean

Sean wrote:

  

Hi Alastair,

Thanks for the input.  I figured as much with the id, but 
getElementByName didn't work either.  I was hoping that something
would 
work.  I tried the childNodes and firstChild, but nothing works.  
objet.childNodes.length returns 0, which appears to mean that the
child 
nodes under the use tag don't get recognized, rendering the approaches

below useless, no pun intended.  My failure to get the use tags to
work 
would mean the difference between using 35,000 tags and 210,000 tags.
I 
have quite the incentive to make it work.  Thanks.

var objet=evt.target;
alert(objet.childNodes.length);

var child = objet.firstChild;
i=0;
while(child != null){
 childSibling = child.nextSibling;
 alert(child.nodeType);
 child = childSibling;
}

Sean

Alastair Fettes wrote:

 



You've made a fundamental mistake.  

1.  The idea behind a defs section is to resuse (have multiple
copies)
of an definition.
2.  The idea of an ID attribute is to only have one attribute with a
specific value document wide (see xs:ID type -
http://www.w3.org/TR/xmlschema-2/#ID).

So therefore you have a fundamental mistake.  The defs section and
the
id invalidate each other.

The only thing you could (possibly) do would be to getElementById(
useFrame2 ).childNodes.foo.bar to get the tspan.  Maybe, i don't
guarantee it.

Alastair

--- In svg-developers@yahoogroups.com, Sean [EMAIL PROTECTED] wrote:


   

  

I would like to use the use tags to save much text size as below.  
Problem is grabbing and editing data with onclick events.  The id
  

 



for my 


   

  

tspan would always be the same, but they would be used in different
use 
tags with unique IDs.  Is there a way to isolate say the tspan1
under 
useFrame2?

SVG
defs
g id=textFrame cat=textBox
  text cat=textBox font-size=14 font=sans-serif tspan 
id=tspan1 cat=textBoxText/tspan/text
  texttspan visibility=hidden id=tspan2/tspan/text
/g
/defs
use id=useFrame onclick=edit2(evt); xlink:href=#textFrame 
transform=translate(10,25)/
use id=useFrame2 onclick=edit2(evt); xlink:href=#textFrame 
transform=translate(10,50)/

JS
function edit2(evt){
  var objet=evt.target;
  var tspan1 = objet.getElementById(tspan1); //Doesn't work
}

Thanks!

Sean

-- 
I'd rather have a bottle in front of me, than a frontal lobotomy.
-- Tom Waits

  

 





-
To unsubscribe send a message to:
[EMAIL PROTECTED]
-or-
visit http://groups.yahoo.com/group/svg-developers and click edit my
membership
 
Yahoo! Groups Links











   

  

 




  


-- 
I'd rather have a bottle in front of me, than a frontal lobotomy.
-- Tom Waits 



-
To unsubscribe send a message to:
[EMAIL PROTECTED]
-or-
visit http://groups.yahoo.com/group/svg-developers and click edit my
membership
 
Yahoo! Groups Links



 




-
To unsubscribe send a message to: [EMAIL PROTECTED]
-or-
visit http://groups.yahoo.com/group/svg-developers and click edit my 
membership
 
Yahoo! Groups Links

* To visit your group on the web, go to:
http://groups.yahoo.com/group/svg-developers/

* To unsubscribe from this group, send an email to:
[EMAIL PROTECTED]

* Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
 




Re: [svg-developers] Re: use tag and unique IDs

2006-02-08 Thread Sean
I can get the use tag, I want to be able to navigate the use tag.  I 
have the use referencing a g tag with several elements under the g tag.  
I want to be able to navigate those elements.  I'm coming to the 
conclusion that it can't be done.

Sean

Peter Kalev wrote:

Why don't you wrap the use element in a g id=, search for the
g and then look for the use inside the g... Works fine for me...

Peter Kalev
Senior Developer,
SWF, LLC


-Original Message-
From: Sean [mailto:[EMAIL PROTECTED] 
Sent: Wednesday, February 08, 2006 11:21 AM
To: svg-developers@yahoogroups.com
Subject: Re: [svg-developers] Re: use tag and unique IDs

I should say navigate the use element.  I realize that it is read only, 
but I can't figure out how to do that.  Thanks.

Sean wrote:

  

Does any one have examples of using SVGUseElement  SVGElementInstance?



  

Thanks.

Sean

Sean wrote:

 



Hi Alastair,

Thanks for the input.  I figured as much with the id, but 
getElementByName didn't work either.  I was hoping that something
  

would 
  

work.  I tried the childNodes and firstChild, but nothing works.  
objet.childNodes.length returns 0, which appears to mean that the
  

child 
  

nodes under the use tag don't get recognized, rendering the approaches
  


  

below useless, no pun intended.  My failure to get the use tags to
  

work 
  

would mean the difference between using 35,000 tags and 210,000 tags.
  

I 
  

have quite the incentive to make it work.  Thanks.

var objet=evt.target;
alert(objet.childNodes.length);

var child = objet.firstChild;
i=0;
while(child != null){
childSibling = child.nextSibling;
alert(child.nodeType);
child = childSibling;
}

Sean

Alastair Fettes wrote:



   

  

You've made a fundamental mistake.  

1.  The idea behind a defs section is to resuse (have multiple


copies)
  

of an definition.
2.  The idea of an ID attribute is to only have one attribute with a
specific value document wide (see xs:ID type -
http://www.w3.org/TR/xmlschema-2/#ID).

So therefore you have a fundamental mistake.  The defs section and


the
  

id invalidate each other.

The only thing you could (possibly) do would be to getElementById(
useFrame2 ).childNodes.foo.bar to get the tspan.  Maybe, i don't
guarantee it.

Alastair

--- In svg-developers@yahoogroups.com, Sean [EMAIL PROTECTED] wrote:


  

 



I would like to use the use tags to save much text size as below.  
Problem is grabbing and editing data with onclick events.  The id
 



   

  

for my 


  

 



tspan would always be the same, but they would be used in different
  

use 
  

tags with unique IDs.  Is there a way to isolate say the tspan1
  

under 
  

useFrame2?

SVG
defs
g id=textFrame cat=textBox
 text cat=textBox font-size=14 font=sans-serif tspan 
id=tspan1 cat=textBoxText/tspan/text
 texttspan visibility=hidden id=tspan2/tspan/text
/g
/defs
use id=useFrame onclick=edit2(evt); xlink:href=#textFrame 
transform=translate(10,25)/
use id=useFrame2 onclick=edit2(evt); xlink:href=#textFrame 
transform=translate(10,50)/

JS
function edit2(evt){
 var objet=evt.target;
 var tspan1 = objet.getElementById(tspan1); //Doesn't work
}

Thanks!

Sean

-- 
I'd rather have a bottle in front of me, than a frontal lobotomy.
-- Tom Waits

 



   

  

-
To unsubscribe send a message to:


[EMAIL PROTECTED]
  

-or-
visit http://groups.yahoo.com/group/svg-developers and click edit my


membership
  

 
Yahoo! Groups Links











  

 



   

  

 




  


-- 
I'd rather have a bottle in front of me, than a frontal lobotomy.
-- Tom Waits 



-
To unsubscribe send a message to: [EMAIL PROTECTED]
-or-
visit http://groups.yahoo.com/group/svg-developers and click edit my 
membership
 
Yahoo! Groups Links

* To visit your group on the web, go to:
http://groups.yahoo.com/group/svg-developers/

* To unsubscribe from this group, send an email to:
[EMAIL PROTECTED]

* Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
 





RE: [svg-developers] Re: use tag and unique IDs

2006-02-08 Thread Peter Kalev
Yup, those guys are can be accessed easily, BUT when you modify them it
will show everywhere you reference that def...

Peter Kalev
Senior Developer,
SWF, LLC


-Original Message-
From: Sean [mailto:[EMAIL PROTECTED] 
Sent: Wednesday, February 08, 2006 11:31 AM
To: svg-developers@yahoogroups.com
Subject: Re: [svg-developers] Re: use tag and unique IDs

I can get the use tag, I want to be able to navigate the use tag.  I 
have the use referencing a g tag with several elements under the g tag.

I want to be able to navigate those elements.  I'm coming to the 
conclusion that it can't be done.

Sean

Peter Kalev wrote:

Why don't you wrap the use element in a g id=, search for the
g and then look for the use inside the g... Works fine for me...

Peter Kalev
Senior Developer,
SWF, LLC


-Original Message-
From: Sean [mailto:[EMAIL PROTECTED] 
Sent: Wednesday, February 08, 2006 11:21 AM
To: svg-developers@yahoogroups.com
Subject: Re: [svg-developers] Re: use tag and unique IDs

I should say navigate the use element.  I realize that it is read only,

but I can't figure out how to do that.  Thanks.

Sean wrote:

  

Does any one have examples of using SVGUseElement 
SVGElementInstance?



  

Thanks.

Sean

Sean wrote:

 



Hi Alastair,

Thanks for the input.  I figured as much with the id, but 
getElementByName didn't work either.  I was hoping that something
  

would 
  

work.  I tried the childNodes and firstChild, but nothing works.  
objet.childNodes.length returns 0, which appears to mean that the
  

child 
  

nodes under the use tag don't get recognized, rendering the
approaches
  


  

below useless, no pun intended.  My failure to get the use tags to
  

work 
  

would mean the difference between using 35,000 tags and 210,000 tags.
  

I 
  

have quite the incentive to make it work.  Thanks.

var objet=evt.target;
alert(objet.childNodes.length);

var child = objet.firstChild;
i=0;
while(child != null){
childSibling = child.nextSibling;
alert(child.nodeType);
child = childSibling;
}

Sean

Alastair Fettes wrote:



   

  

You've made a fundamental mistake.  

1.  The idea behind a defs section is to resuse (have multiple


copies)
  

of an definition.
2.  The idea of an ID attribute is to only have one attribute with a
specific value document wide (see xs:ID type -
http://www.w3.org/TR/xmlschema-2/#ID).

So therefore you have a fundamental mistake.  The defs section and


the
  

id invalidate each other.

The only thing you could (possibly) do would be to getElementById(
useFrame2 ).childNodes.foo.bar to get the tspan.  Maybe, i don't
guarantee it.

Alastair

--- In svg-developers@yahoogroups.com, Sean [EMAIL PROTECTED] wrote:


  

 



I would like to use the use tags to save much text size as below.  
Problem is grabbing and editing data with onclick events.  The id
 



   

  

for my 


  

 



tspan would always be the same, but they would be used in different
  

use 
  

tags with unique IDs.  Is there a way to isolate say the tspan1
  

under 
  

useFrame2?

SVG
defs
g id=textFrame cat=textBox
 text cat=textBox font-size=14 font=sans-serif tspan 
id=tspan1 cat=textBoxText/tspan/text
 texttspan visibility=hidden id=tspan2/tspan/text
/g
/defs
use id=useFrame onclick=edit2(evt); xlink:href=#textFrame 
transform=translate(10,25)/
use id=useFrame2 onclick=edit2(evt); xlink:href=#textFrame 
transform=translate(10,50)/

JS
function edit2(evt){
 var objet=evt.target;
 var tspan1 = objet.getElementById(tspan1); //Doesn't work
}

Thanks!

Sean

-- 
I'd rather have a bottle in front of me, than a frontal lobotomy.
-- Tom Waits

 



   

  

-
To unsubscribe send a message to:


[EMAIL PROTECTED]
  

-or-
visit http://groups.yahoo.com/group/svg-developers and click edit
my


membership
  

 
Yahoo! Groups Links











  

 



   

  

 




  


-- 
I'd rather have a bottle in front of me, than a frontal lobotomy.
-- Tom Waits 



-
To unsubscribe send a message to:
[EMAIL PROTECTED]
-or-
visit http://groups.yahoo.com/group/svg-developers and click edit my
membership
 
Yahoo! Groups Links



 





-
To unsubscribe send a message to: [EMAIL PROTECTED]
-or-
visit http://groups.yahoo.com/group/svg-developers and click edit my 
membership
 
Yahoo! Groups Links

* To visit your group on the web, go to:
http://groups.yahoo.com/group/svg-developers/

* To unsubscribe from this group, send an email to:
[EMAIL PROTECTED]

* Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
 





Re: [svg-developers] Re: use tag and unique IDs

2006-02-08 Thread Jeff Rafter

Sean,

It can be done, it just has to be done differently in each browser. Try 
this code inside of your event:

 var target = evt.target;
var use = null
 if (target == null) return;
 if (target.correspondingUseElement)
   use = target.correspondingUseElement;

This is a sure way to get the use element from the target (in case it 
is not correctly returned as an SVGElementInstance). The 
correspondingElement property is not itself reliable (because of 
inconsitent implementation interpretations). Once you have that you 
should be able to access

use.instanceRoot, use.animatedInstanceRoot (less reliable)

 From that you should get a reliable SVGElementInstance on which you can 
use the correspondingElement property. Additionally you should be able 
to use read only DOM properties. See

http://www.w3.org/TR/SVG/struct.html#InterfaceSVGElementInstance

Also, once you have the use element, you can simply follow the link 
specified in the URI reference or simply lookup the referenced element 
by the specified ID.

Cheers,
Jeff Rafter

Sean wrote:
 I can get the use tag, I want to be able to navigate the use tag.  I 
 have the use referencing a g tag with several elements under the g tag.  
 I want to be able to navigate those elements.  I'm coming to the 
 conclusion that it can't be done.
 
 Sean
 
 Peter Kalev wrote:
 
 Why don't you wrap the use element in a g id=, search for the
 g and then look for the use inside the g... Works fine for me...

 Peter Kalev
 Senior Developer,
 SWF, LLC


 -Original Message-
 From: Sean [mailto:[EMAIL PROTECTED] 
 Sent: Wednesday, February 08, 2006 11:21 AM
 To: svg-developers@yahoogroups.com
 Subject: Re: [svg-developers] Re: use tag and unique IDs

 I should say navigate the use element.  I realize that it is read only, 
 but I can't figure out how to do that.  Thanks.

 Sean wrote:

  

 Does any one have examples of using SVGUseElement  SVGElementInstance?


  

 Thanks.

 Sean

 Sean wrote:





 Hi Alastair,

 Thanks for the input.  I figured as much with the id, but 
 getElementByName didn't work either.  I was hoping that something
  

 would 
  

 work.  I tried the childNodes and firstChild, but nothing works.  
 objet.childNodes.length returns 0, which appears to mean that the
  

 child 
  

 nodes under the use tag don't get recognized, rendering the approaches
  

  

 below useless, no pun intended.  My failure to get the use tags to
  

 work 
  

 would mean the difference between using 35,000 tags and 210,000 tags.
  

 I 
  

 have quite the incentive to make it work.  Thanks.

 var objet=evt.target;
 alert(objet.childNodes.length);

 var child = objet.firstChild;
 i=0;
 while(child != null){
 childSibling = child.nextSibling;
 alert(child.nodeType);
 child = childSibling;
 }

 Sean

 Alastair Fettes wrote:



   

  

 You've made a fundamental mistake.  

 1.  The idea behind a defs section is to resuse (have multiple


 copies)
  

 of an definition.
 2.  The idea of an ID attribute is to only have one attribute with a
 specific value document wide (see xs:ID type -
 http://www.w3.org/TR/xmlschema-2/#ID).

 So therefore you have a fundamental mistake.  The defs section and


 the
  

 id invalidate each other.

 The only thing you could (possibly) do would be to getElementById(
 useFrame2 ).childNodes.foo.bar to get the tspan.  Maybe, i don't
 guarantee it.

 Alastair

 --- In svg-developers@yahoogroups.com, Sean [EMAIL PROTECTED] wrote:


  

 



 I would like to use the use tags to save much text size as below.  
 Problem is grabbing and editing data with onclick events.  The id




   

  

 for my 


  

 



 tspan would always be the same, but they would be used in different
  

 use 
  

 tags with unique IDs.  Is there a way to isolate say the tspan1
  

 under 
  

 useFrame2?

 SVG
 defs
 g id=textFrame cat=textBox
 text cat=textBox font-size=14 font=sans-serif tspan 
 id=tspan1 cat=textBoxText/tspan/text
 texttspan visibility=hidden id=tspan2/tspan/text
 /g
 /defs
 use id=useFrame onclick=edit2(evt); xlink:href=#textFrame 
 transform=translate(10,25)/
 use id=useFrame2 onclick=edit2(evt); xlink:href=#textFrame 
 transform=translate(10,50)/

 JS
 function edit2(evt){
 var objet=evt.target;
 var tspan1 = objet.getElementById(tspan1); //Doesn't work
 }

 Thanks!

 Sean

 -- 
 I'd rather have a bottle in front of me, than a frontal lobotomy.
 -- Tom Waits





   

  

 -
 To unsubscribe send a message to:


 [EMAIL PROTECTED]
  

 -or-
 visit http://groups.yahoo.com/group/svg-developers and click edit my


 membership
  

  
 Yahoo! Groups Links











  

 



   

  




  

 


-
To unsubscribe send a message to: [EMAIL PROTECTED]
-or-
visit http://groups.yahoo.com/group/svg-developers and click edit my