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]

Reply via email to