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 [email protected], 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: [email protected]
>>>>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 [email protected], Sean <scene@> 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="textBox">Text</tspan></text>
>>>>>>>><text><tspan 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 
>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/
 



Reply via email to