velocity-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From James Taylor <ja...@jamestaylor.org>
Subject Re: DVSL - replace tags inside unknown parent tags
Date Fri, 06 Dec 2002 14:05:29 GMT
Yes... it is no xsl:copy but it gets the job done.

Probably can't cope with namespaces, but could be extended.

On Fri, 2002-12-06 at 09:02, Geir Magnusson Jr. wrote:
> That is nasty.  That works?
> 
> On Friday, December 6, 2002, at 07:43 AM, James Taylor wrote:
> 
> > Nasty hack:
> >
> > #match( "*" )
> >     <$node.name()
> >         #foreach ( $attr in $node.selectNodes( "@*" ) )
> >             ${attr.name()}="${attr.value()}"
> >         #end
> >>
> >         $context.applyTemplates()
> >     </$node.name()>
> > #end
> >
> > -- jt
> >
> >
> >
> > On Fri, 2002-12-06 at 05:17, Wido Hillmann wrote:
> >> Tank You Bill,
> >>
> >> I forgot to say that i like leave the rest of the unknown tree as it 
> >> is
> >> and copy it to the output.
> >>
> >> from:
> >>
> >> <variable-tag>
> >>         <foo/><bar/>
> >>         <tag-to-replace>other elements</tag-to-replace>
> >>         <etc/>
> >> </variable-tag>
> >>
> >> to:
> >>
> >> <variable-tag>
> >>         <foo/><bar/>
> >>         <replaced-tag>other elements</replaced-tag>
> >>         <etc/>
> >> </variable-tag>
> >>
> >>
> >> I found a solution in xslt:
> >>
> >> <template match="*|@*|text()|processing-instruction()">
> >>   <copy>
> >>     <apply-templates select="*|@*|text()|processing-instruction()"/>
> >>   </copy>
> >> </template>
> >>
> >> <template match="tag-to-replace">
> >>   <replaced-tag>
> >>     <apply-templates select="*|@*|text()|processing-instruction()"/>
> >>   </replaced-tag>
> >> </template>
> >>
> >> The first xslt- template works rekursiv. It copies only one node and
> >> than looks again above all templates. I've tried to copy this
> >> implementation to dvsl. But how can i copy only one unknown node? I
> >> found in the DVSL spec. only directives to copy a hole tree ("deep
> >> copy"). So the following try doesnt work:
> >>
> >> #match("*")
> >> $node.copy($node.selectNodes( "." ))##copys again the hole tree
> >> $context.applyTemplates("*")
> >> #end
> >>
> >> -Wido
> >>
> >> --
> >> To unsubscribe, e-mail:   
> >> <mailto:velocity-user-unsubscribe@jakarta.apache.org>
> >> For additional commands, e-mail: 
> >> <mailto:velocity-user-help@jakarta.apache.org>
> >>
> >
> >
> > --
> > To unsubscribe, e-mail:   
> > <mailto:velocity-user-unsubscribe@jakarta.apache.org>
> > For additional commands, e-mail: 
> > <mailto:velocity-user-help@jakarta.apache.org>
> >
> >


--
To unsubscribe, e-mail:   <mailto:velocity-user-unsubscribe@jakarta.apache.org>
For additional commands, e-mail: <mailto:velocity-user-help@jakarta.apache.org>


Mime
View raw message