1.1 --- a/examples/Common/VerySimple/Resources/structure_multivalue_template.xhtml Thu Jul 21 16:16:07 2005 +0000
1.2 +++ b/examples/Common/VerySimple/Resources/structure_multivalue_template.xhtml Thu Jul 21 16:16:50 2005 +0000
1.3 @@ -16,9 +16,9 @@
1.4 Some item: <input template:attribute="value" name="{template:this-attribute()}" type="text" value="{$this-value}" />
1.5 <input name="remove={template:this-element()}" type="submit" value="Remove" />
1.6 </p>
1.7 - <p template:element="types">
1.8 + <p>
1.9 Item type:
1.10 - <select template:element="type" name="{template:list-attribute('value')}" multiple="multiple">
1.11 + <select template:element="type" name="{template:list-attribute('type-enum', 'value')}" multiple="multiple">
1.12 <option template:element="type-enum" template:expr="@value-is-set" template:expr-attr="selected"
1.13 template:value="@value" value="{@value}" />
1.14 </select>
2.1 --- a/examples/Common/VerySimple/Resources/structure_multivalue_types.xsl Thu Jul 21 16:16:07 2005 +0000
2.2 +++ b/examples/Common/VerySimple/Resources/structure_multivalue_types.xsl Thu Jul 21 16:16:50 2005 +0000
2.3 @@ -11,25 +11,23 @@
2.4 <!-- Copy the element and its contents. -->
2.5 <xsl:copy>
2.6 <xsl:apply-templates select="@*"/>
2.7 - <!-- Look for a types element. -->
2.8 - <xsl:call-template name="types"/>
2.9 - <xsl:apply-templates select="*[local-name() != 'types']"/>
2.10 + <!-- Look for a type element. -->
2.11 + <xsl:call-template name="type"/>
2.12 + <xsl:apply-templates select="*[local-name() != 'type']"/>
2.13 </xsl:copy>
2.14 </xsl:template>
2.15
2.16 - <!-- Investigate types elements. -->
2.17 + <!-- Investigate type elements. -->
2.18
2.19 - <xsl:template name="types">
2.20 - <!-- Make the elements. -->
2.21 - <types>
2.22 - <type>
2.23 - <!-- Look for type element values. -->
2.24 - <xsl:call-template name="type-enum">
2.25 - <!-- Supply the existing type values. -->
2.26 - <xsl:with-param name="values" select="types/type/@value"/>
2.27 - </xsl:call-template>
2.28 - </type>
2.29 - </types>
2.30 + <xsl:template name="type">
2.31 + <!-- Make the element. -->
2.32 + <type>
2.33 + <!-- Look for type element values. -->
2.34 + <xsl:call-template name="type-enum">
2.35 + <!-- Supply the existing type-enum values. -->
2.36 + <xsl:with-param name="values" select="type/type-enum/@value"/>
2.37 + </xsl:call-template>
2.38 + </type>
2.39 </xsl:template>
2.40
2.41 <!-- Add to type elements the range of acceptable values. -->
3.1 --- a/examples/Common/VerySimple/Resources/structure_types.xsl Thu Jul 21 16:16:07 2005 +0000
3.2 +++ b/examples/Common/VerySimple/Resources/structure_types.xsl Thu Jul 21 16:16:50 2005 +0000
3.3 @@ -11,16 +11,7 @@
3.4 <xsl:copy>
3.5 <xsl:apply-templates select="@*"/>
3.6 <!-- Look for a type element. -->
3.7 - <xsl:choose>
3.8 - <xsl:when test="type">
3.9 - <!-- Use the existing type element. -->
3.10 - <xsl:apply-templates select="type"/>
3.11 - </xsl:when>
3.12 - <xsl:otherwise>
3.13 - <!-- Add a type element if none was found. -->
3.14 - <xsl:call-template name="type"/>
3.15 - </xsl:otherwise>
3.16 - </xsl:choose>
3.17 + <xsl:call-template name="type"/>
3.18 <xsl:apply-templates select="*[local-name() != 'type']"/>
3.19 </xsl:copy>
3.20 </xsl:template>
3.21 @@ -30,25 +21,14 @@
3.22 <xsl:template name="type">
3.23 <!-- Make the element. -->
3.24 <type>
3.25 + <xsl:apply-templates select="type/@*"/>
3.26 <xsl:call-template name="type-enum"/>
3.27 </type>
3.28 </xsl:template>
3.29
3.30 - <xsl:template match="type">
3.31 - <!-- Copy the element. -->
3.32 - <xsl:copy>
3.33 - <xsl:apply-templates select="@*"/>
3.34 - <xsl:call-template name="type-enum">
3.35 - <!-- Use the value of the element. -->
3.36 - <xsl:with-param name="value" select="@value"/>
3.37 - </xsl:call-template>
3.38 - </xsl:copy>
3.39 - </xsl:template>
3.40 -
3.41 <!-- Add to type elements the range of acceptable values. -->
3.42
3.43 <xsl:template name="type-enum">
3.44 - <xsl:param name="value"/>
3.45 <!-- Find all values in the range and add them. -->
3.46 <xsl:for-each select="$types/types/type-enum">
3.47 <xsl:copy>