Martin,

That's great!  Thanks a lot. I'll give it a try first thing tomorrow.

Eric


On Tue, 2004-02-24 at 16:25, Martin Holz wrote:
> Hello Eric
> 
> [EMAIL PROTECTED] writes:
>  
> > I looked into it a little bit and noticed that a new tag
> > <parents></parents> has been added to the .def.xml files.  Not having
> > this tag seems to be the cause of the exception.  Am I correct in this
> > and if so is there a solution to this (beyond adding this tag to every
> > resource in my older store)?
> 
> I wrote a small stylesheet and anttask for the conversion.
> Add the anttask to your build.xml and define the properties  
> for store.new and store.old 
> 
>  <!-- =================================================================== -->
>  <!-- Convert filestore                                                   -->
>  <!-- =================================================================== -->
>     <target name="convert-filestore" >
>       <xslt basedir="${store.old}" destdir="${store.new}"
>            style="etc/filestoreupdate.xsl"
>            extension=".xml"
>          >
>          <outputproperty name="indent" value="false"/>
>          <include name="**/*.def.xml" />
>       </xslt>
>     </target>
> <!-- =================================================================== -->
> 
> 
> You may have to modify the stylesheet. Add Rules for 
> removing groups and actions, that do not longer exist.
> 
> ===================== filestoreupdate.xsl =========================================
> <?xml version="1.0" encoding="utf-8"?>
> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
>                 version="1.0">
> 
> 
>   <xsl:template match="@classname">
>      <xsl:attribute name="classname">
>        <xsl:choose>
>          <xsl:when test="starts-with(.,'sliderole')">
>            <xsl:text>org.apache.slide.structure.SubjectNode</xsl:text>
>          </xsl:when>
>          <xsl:otherwise>
>            <xsl:value-of select="." />
>         </xsl:otherwise>
>       </xsl:choose>
>     </xsl:attribute>
>   </xsl:template>
> 
>   <xsl:template match="childs" >
>     <children>
>       <xsl:apply-templates select="child" />
>     </children>
>     <parents>
>       <xsl:if test="/data/objectnode/@uri != '/'">
>       <xsl:variable name="parentname">
>         <xsl:call-template name="afterLastSlash">
>             <xsl:with-param name="value" select="/data/objectnode/@uri" />
>           </xsl:call-template>
>       </xsl:variable>
>       <xsl:variable name="parentuuri">
>         <xsl:call-template name="beforeLastSlash">
>             <xsl:with-param name="rest" select="/data/objectnode/@uri" />
>           </xsl:call-template>
>       </xsl:variable>
>       <parent uuri="{$parentuuri}" name="{$parentname}" >
>       </parent>
>     </xsl:if>
>     </parents>
>   </xsl:template>
> 
>   <xsl:template match="child">
>     <xsl:variable name="name">
>         <xsl:call-template name="afterLastSlash">
>             <xsl:with-param name="value" select="@val" />
>           </xsl:call-template>
>     </xsl:variable>
>     <child  name="{$name}"
>             uuri="[EMAIL PROTECTED]" />
>   </xsl:template>
> 
>   
>   <xsl:template name="afterLastSlash">
>     <xsl:param name="value" />
>       <xsl:variable name="rest" select="substring-after($value,'/')" />
>       <xsl:choose>
>         <xsl:when test="$rest = ''">
>           <xsl:value-of select="$value" />
>         </xsl:when>
>         <xsl:otherwise>
>           <xsl:call-template name="afterLastSlash">
>             <xsl:with-param name="value" select="$rest" />
>           </xsl:call-template>
>         </xsl:otherwise>
>       </xsl:choose>
>   </xsl:template>
> 
>   <xsl:template name="beforeLastSlash">
>     <xsl:param name="head" />
>     <xsl:param name="rest" />  
>       <xsl:variable name="h" select="substring-before($rest,'/')" />
>       <xsl:variable name="r" select="substring-after($rest,'/')" />
>       <xsl:choose>
>         <xsl:when test="$r = ''">
>           <xsl:value-of select="$head" />
>         </xsl:when>
>         <xsl:when test="$h = ''">
>           <xsl:call-template name="beforeLastSlash">
>             <xsl:with-param name="rest" select="$r" />
>           </xsl:call-template>
>         </xsl:when>
>         <xsl:otherwise>
>           <xsl:call-template name="beforeLastSlash">
>             <xsl:with-param name="head" select="concat($head,'/',$h)" />
>             <xsl:with-param name="rest" select="$r" />
>           </xsl:call-template>
>         </xsl:otherwise>
>       </xsl:choose>
>   </xsl:template>
> 
> 
>  <!-- =====================================================================
>    Default rules 
>   =======================================================================-->
> 
>  <xsl:template match="@*|*|text()|processing-instruction()" priority="-1">
>     <xsl:copy>
>       <xsl:apply-templates select="@*|*|text()|processing-instruction()"/>
>     </xsl:copy>
>   </xsl:template>
> 
> </xsl:stylesheet>
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to