Joinsysdef schema calculation handles missing files. rootsystef generation does not modify embedded metatdata.
--- a/metatools/sysdeftools/group/contents.xml Fri Aug 27 14:50:55 2010 +0100
+++ b/metatools/sysdeftools/group/contents.xml Mon Sep 06 09:57:24 2010 +0100
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<ProductsDefinition schema="3.0.0">
<product name="BuildEnvironment" long-name="Build Environment">
- <tool name="sysdeftools" long-name="System Definition Tools" default-src="metatools/sysdeftools" default-dst="/" version="1.0.1">
+ <tool name="sysdeftools" long-name="System Definition Tools" default-src="metatools/sysdeftools" default-dst="/" version="1.0.2">
<!-- core functionality -->
<file filename="*.pl"/>
--- a/metatools/sysdeftools/lib/joinsysdef-module.xsl Fri Aug 27 14:50:55 2010 +0100
+++ b/metatools/sysdeftools/lib/joinsysdef-module.xsl Mon Sep 06 09:57:24 2010 +0100
@@ -215,7 +215,8 @@
<xsl:template name="compare-versions"><xsl:param name="v1"/><xsl:param name="v2"/>
<xsl:choose>
- <xsl:when test="$v1=$v2"><xsl:value-of select="$v1"/></xsl:when>
+ <xsl:when test="$v1=''"><xsl:value-of select="$v2"/></xsl:when>
+ <xsl:when test="$v1=$v2 or $v2=''"><xsl:value-of select="$v1"/></xsl:when>
<xsl:when test="substring-before($v1,'.') > substring-before($v2,'.')"><xsl:value-of select="$v1"/></xsl:when>
<xsl:when test="substring-before($v1,'.') < substring-before($v2,'.')"><xsl:value-of select="$v2"/></xsl:when>
<xsl:when test="substring-before(substring-after($v1,'.'),'.') > substring-before(substring-after($v2,'.'),'.')"><xsl:value-of select="$v1"/></xsl:when>
--- a/metatools/sysdeftools/rootsysdef.pl Fri Aug 27 14:50:55 2010 +0100
+++ b/metatools/sysdeftools/rootsysdef.pl Mon Sep 06 09:57:24 2010 +0100
@@ -414,7 +414,7 @@
}
}
}
- elsif($tag eq 'meta')
+ elsif($tag eq 'meta' && $node->getAttribute('href'))
{
&fixHref($node,$file);
foreach my $child (@{$node->getChildNodes}) {$node->removeChild($child)} # can't have children