Revision 4307
Added by ben leinfelder almost 16 years ago
ObjectList.xsl | ||
---|---|---|
6 | 6 |
|
7 | 7 |
<!-- |
8 | 8 |
Description: Generate the component register from the config XML schema. |
9 |
Author: Mike Adair |
|
9 |
Author: Mike Adair / Gertjan van Oosten
|
|
10 | 10 |
Licence: LGPL as per: http://www.gnu.org/copyleft/lesser.html |
11 | 11 |
|
12 |
$Id$ |
|
12 |
$Id: ObjectList.xsl 3094 2007-08-09 12:29:59Z gjvoosten $
|
|
13 | 13 |
--> |
14 | 14 |
|
15 | 15 |
<xsl:output method="xml" encoding="utf-8" indent="yes"/> |
16 | 16 |
|
17 | 17 |
<xsl:param name="widgetId"/> |
18 |
<xsl:param name="listType">modelsType</xsl:param>
|
|
18 |
<xsl:param name="listType"/>
|
|
19 | 19 |
<xsl:param name="subType"/> |
20 |
<xsl:param name="excludeType"/> |
|
20 | 21 |
|
21 | 22 |
<xsl:variable name="docRoot" select="/xs:schema"/> |
22 | 23 |
|
23 |
<xsl:template match="/xs:schema">
|
|
24 |
<xsl:template match="/xs:schema">
|
|
24 | 25 |
<dl> |
25 | 26 |
<xsl:for-each select="xs:complexType[@name=$listType]/xs:choice/*"> |
26 | 27 |
<xsl:variable name="typeName" select="substring-after(@type,':')"/> |
27 | 28 |
<xsl:variable name="typeDef" select="$docRoot/xs:complexType[@name=$typeName]"/> |
28 |
<xsl:if test="string-length($subType)=0 or $typeDef/xs:complexContent/xs:extension/@base=$subType"> |
|
29 |
<xsl:choose> |
|
30 |
<xsl:when test="string-length($subType)=0 or $typeName=substring-after($subType,':') or $typeDef/xs:complexContent/xs:extension/@base=$subType"> |
|
29 | 31 |
<dt><a href="javascript:config.objects.{$widgetId}.showDetails('{$typeName}')"><xsl:value-of select="@name"/></a></dt> |
30 | 32 |
<dd><xsl:value-of select="$typeDef/xs:annotation/xs:documentation"/></dd> |
31 |
</xsl:if> |
|
33 |
</xsl:when> |
|
34 |
<xsl:otherwise> |
|
35 |
<xsl:call-template name="findSubType"> |
|
36 |
<xsl:with-param name="typeName" select="$typeName"/> |
|
37 |
<xsl:with-param name="typeDesc" select="$typeDef/xs:annotation/xs:documentation"/> |
|
38 |
<xsl:with-param name="typeBase" select="$typeName"/> |
|
39 |
</xsl:call-template> |
|
40 |
</xsl:otherwise> |
|
41 |
</xsl:choose> |
|
32 | 42 |
</xsl:for-each> |
33 | 43 |
</dl> |
34 |
</xsl:template> |
|
44 |
</xsl:template> |
|
45 |
|
|
46 |
<xsl:template name="findSubType"> |
|
47 |
<xsl:param name="typeName"/> |
|
48 |
<xsl:param name="typeDesc"/> |
|
49 |
<xsl:param name="typeBase"/> |
|
50 |
<xsl:variable name="typeDef" select="$docRoot/xs:complexType[@name=$typeBase]"/> |
|
51 |
<xsl:if test="$typeBase and $typeBase!=substring-after($excludeType,':')"> |
|
52 |
<xsl:choose> |
|
53 |
<xsl:when test="$typeDef/xs:complexContent/xs:extension/@base=$subType"> |
|
54 |
<dt><a href="javascript:config.objects.{$widgetId}.showDetails('{$typeName}')"><xsl:value-of select="@name"/></a></dt> |
|
55 |
<dd><xsl:value-of select="$typeDesc"/></dd> |
|
56 |
</xsl:when> |
|
57 |
<xsl:otherwise> |
|
58 |
<xsl:call-template name="findSubType"> |
|
59 |
<xsl:with-param name="typeName" select="$typeName"/> |
|
60 |
<xsl:with-param name="typeDesc" select="$typeDesc"/> |
|
61 |
<xsl:with-param name="typeBase" select="substring-after($typeDef/xs:complexContent/xs:extension/@base,':')"/> |
|
62 |
</xsl:call-template> |
|
63 |
</xsl:otherwise> |
|
64 |
</xsl:choose> |
|
65 |
</xsl:if> |
|
66 |
</xsl:template> |
|
35 | 67 |
|
36 | 68 |
<xsl:template match="text()|@*"/> |
37 | 69 |
|
Also available in: Unified diff
upgrade to MapBuilder 1.5rc2 - includes support for Firefox 3 compatibility (yes, it is also EOLed)