metatools/sysdeftools/filtering.xsl
author lorewang
Wed, 01 Dec 2010 16:05:36 +0800
changeset 715 e0739b8406dd
parent 634 f7179968fc36
permissions -rw-r--r--
Specify extenal tool with path
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
624
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
     1
<?xml version="1.0"?>
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
     2
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:exslt="http://exslt.org/common"  exclude-result-prefixes="exslt">
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
     3
<!--Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
     4
	All rights reserved.
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
     5
	This component and the accompanying materials are made available
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
     6
	under the terms of the License "Eclipse Public License v1.0"
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
     7
	which accompanies this distribution, and is available
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
     8
	at the URL "http://www.eclipse.org/legal/epl-v10.html".
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
     9
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
    10
	Initial Contributors:
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
    11
	Nokia Corporation - initial contribution.
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
    12
	Contributors:
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
    13
	Description:
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
    14
	Filter a sysdef in the 2.0 or 3.0 syntax
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
    15
	The functionality of these filters is not supported outside of this tool. 
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
    16
	The filtering concepts here may not be carried forward in future system definition processing tools
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
    17
-->
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
    18
<!--Description:This filters a sysdef in either the 2.0 or 3.0 syntax
634
f7179968fc36 Add verbatim functionality to filtering so it can perform chassis builds. Add ProductsDefinition file for defining exports.
Bob Rosenberg <bob.rosenberg@nokia.com>
parents: 624
diff changeset
    19
If using the 3.0 syntax, specific IDs optionally be included verbatim
624
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
    20
-->
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
    21
634
f7179968fc36 Add verbatim functionality to filtering so it can perform chassis builds. Add ProductsDefinition file for defining exports.
Bob Rosenberg <bob.rosenberg@nokia.com>
parents: 624
diff changeset
    22
<!--Input:<sysdef> - (required) The system definition XML file to process.
f7179968fc36 Add verbatim functionality to filtering so it can perform chassis builds. Add ProductsDefinition file for defining exports.
Bob Rosenberg <bob.rosenberg@nokia.com>
parents: 624
diff changeset
    23
		Can be in the 2.0 or 3.0 format, and can be a fragment or
f7179968fc36 Add verbatim functionality to filtering so it can perform chassis builds. Add ProductsDefinition file for defining exports.
Bob Rosenberg <bob.rosenberg@nokia.com>
parents: 624
diff changeset
    24
		stand-alone.-->
f7179968fc36 Add verbatim functionality to filtering so it can perform chassis builds. Add ProductsDefinition file for defining exports.
Bob Rosenberg <bob.rosenberg@nokia.com>
parents: 624
diff changeset
    25
<!--Output:<sysdef> - (optional) The system definition XML file to save the
f7179968fc36 Add verbatim functionality to filtering so it can perform chassis builds. Add ProductsDefinition file for defining exports.
Bob Rosenberg <bob.rosenberg@nokia.com>
parents: 624
diff changeset
    26
		output as. If not present it will write to stdout.-->
624
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
    27
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
    28
<xsl:output method="xml" indent="yes"/>
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
    29
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
    30
<xsl:param name="filter-type">only</xsl:param>
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
    31
<!-- <type> - The method of filtering. Legal values are:
634
f7179968fc36 Add verbatim functionality to filtering so it can perform chassis builds. Add ProductsDefinition file for defining exports.
Bob Rosenberg <bob.rosenberg@nokia.com>
parents: 624
diff changeset
    32
		"only" = every component/unit can only have zero or more of
f7179968fc36 Add verbatim functionality to filtering so it can perform chassis builds. Add ProductsDefinition file for defining exports.
Bob Rosenberg <bob.rosenberg@nokia.com>
parents: 624
diff changeset
    33
			these specified filters. ie, it can only have filters
f7179968fc36 Add verbatim functionality to filtering so it can perform chassis builds. Add ProductsDefinition file for defining exports.
Bob Rosenberg <bob.rosenberg@nokia.com>
parents: 624
diff changeset
    34
			from this list, no other filters are allowed. This
f7179968fc36 Add verbatim functionality to filtering so it can perform chassis builds. Add ProductsDefinition file for defining exports.
Bob Rosenberg <bob.rosenberg@nokia.com>
parents: 624
diff changeset
    35
			covers the common use case of "I want anything with gt
f7179968fc36 Add verbatim functionality to filtering so it can perform chassis builds. Add ProductsDefinition file for defining exports.
Bob Rosenberg <bob.rosenberg@nokia.com>
parents: 624
diff changeset
    36
			and or techview, but no other filters" that was the
f7179968fc36 Add verbatim functionality to filtering so it can perform chassis builds. Add ProductsDefinition file for defining exports.
Bob Rosenberg <bob.rosenberg@nokia.com>
parents: 624
diff changeset
    37
			first step in all old symbian.com builds. 
624
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
    38
634
f7179968fc36 Add verbatim functionality to filtering so it can perform chassis builds. Add ProductsDefinition file for defining exports.
Bob Rosenberg <bob.rosenberg@nokia.com>
parents: 624
diff changeset
    39
		"has" =  every component/unit must have all of these filters.
f7179968fc36 Add verbatim functionality to filtering so it can perform chassis builds. Add ProductsDefinition file for defining exports.
Bob Rosenberg <bob.rosenberg@nokia.com>
parents: 624
diff changeset
    40
			ie it can have any other filters, but all specified
f7179968fc36 Add verbatim functionality to filtering so it can perform chassis builds. Add ProductsDefinition file for defining exports.
Bob Rosenberg <bob.rosenberg@nokia.com>
parents: 624
diff changeset
    41
			filters must all be present. This covers the case where
f7179968fc36 Add verbatim functionality to filtering so it can perform chassis builds. Add ProductsDefinition file for defining exports.
Bob Rosenberg <bob.rosenberg@nokia.com>
parents: 624
diff changeset
    42
			filter="test" identifies tests and there is no special
f7179968fc36 Add verbatim functionality to filtering so it can perform chassis builds. Add ProductsDefinition file for defining exports.
Bob Rosenberg <bob.rosenberg@nokia.com>
parents: 624
diff changeset
    43
			filter to identify things that are not tests. So a
f7179968fc36 Add verbatim functionality to filtering so it can perform chassis builds. Add ProductsDefinition file for defining exports.
Bob Rosenberg <bob.rosenberg@nokia.com>
parents: 624
diff changeset
    44
			filter for "!test" will strip out anything with
f7179968fc36 Add verbatim functionality to filtering so it can perform chassis builds. Add ProductsDefinition file for defining exports.
Bob Rosenberg <bob.rosenberg@nokia.com>
parents: 624
diff changeset
    45
			filter="test" (plus any other filters) for a production
f7179968fc36 Add verbatim functionality to filtering so it can perform chassis builds. Add ProductsDefinition file for defining exports.
Bob Rosenberg <bob.rosenberg@nokia.com>
parents: 624
diff changeset
    46
			build, and a filter of "test" will strip out everything
f7179968fc36 Add verbatim functionality to filtering so it can perform chassis builds. Add ProductsDefinition file for defining exports.
Bob Rosenberg <bob.rosenberg@nokia.com>
parents: 624
diff changeset
    47
			that does not have filter="test" (plus any other
f7179968fc36 Add verbatim functionality to filtering so it can perform chassis builds. Add ProductsDefinition file for defining exports.
Bob Rosenberg <bob.rosenberg@nokia.com>
parents: 624
diff changeset
    48
			filters) for a test build. Opposite filters will
f7179968fc36 Add verbatim functionality to filtering so it can perform chassis builds. Add ProductsDefinition file for defining exports.
Bob Rosenberg <bob.rosenberg@nokia.com>
parents: 624
diff changeset
    49
			generate sets that are exactly opposite to each other.
624
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
    50
634
f7179968fc36 Add verbatim functionality to filtering so it can perform chassis builds. Add ProductsDefinition file for defining exports.
Bob Rosenberg <bob.rosenberg@nokia.com>
parents: 624
diff changeset
    51
		"with" =  components/units that have the opposite filter are
f7179968fc36 Add verbatim functionality to filtering so it can perform chassis builds. Add ProductsDefinition file for defining exports.
Bob Rosenberg <bob.rosenberg@nokia.com>
parents: 624
diff changeset
    52
			removed. This covers the old symbian.com case of
f7179968fc36 Add verbatim functionality to filtering so it can perform chassis builds. Add ProductsDefinition file for defining exports.
Bob Rosenberg <bob.rosenberg@nokia.com>
parents: 624
diff changeset
    53
			java, !java and "don't care" components. In other words
f7179968fc36 Add verbatim functionality to filtering so it can perform chassis builds. Add ProductsDefinition file for defining exports.
Bob Rosenberg <bob.rosenberg@nokia.com>
parents: 624
diff changeset
    54
			we have a global feature that every item can be built
f7179968fc36 Add verbatim functionality to filtering so it can perform chassis builds. Add ProductsDefinition file for defining exports.
Bob Rosenberg <bob.rosenberg@nokia.com>
parents: 624
diff changeset
    55
			only when the feature is set, only when the feature is
f7179968fc36 Add verbatim functionality to filtering so it can perform chassis builds. Add ProductsDefinition file for defining exports.
Bob Rosenberg <bob.rosenberg@nokia.com>
parents: 624
diff changeset
    56
			not set, or it does not care and will always be built.
f7179968fc36 Add verbatim functionality to filtering so it can perform chassis builds. Add ProductsDefinition file for defining exports.
Bob Rosenberg <bob.rosenberg@nokia.com>
parents: 624
diff changeset
    57
			So for a !java build only items containing filter="java"
f7179968fc36 Add verbatim functionality to filtering so it can perform chassis builds. Add ProductsDefinition file for defining exports.
Bob Rosenberg <bob.rosenberg@nokia.com>
parents: 624
diff changeset
    58
			are stripped out. For a java build, only items with
f7179968fc36 Add verbatim functionality to filtering so it can perform chassis builds. Add ProductsDefinition file for defining exports.
Bob Rosenberg <bob.rosenberg@nokia.com>
parents: 624
diff changeset
    59
			filter="!java" are stripped out. Anything which does not
f7179968fc36 Add verbatim functionality to filtering so it can perform chassis builds. Add ProductsDefinition file for defining exports.
Bob Rosenberg <bob.rosenberg@nokia.com>
parents: 624
diff changeset
    60
			explicitly mention java are always unaffected. Opposite
f7179968fc36 Add verbatim functionality to filtering so it can perform chassis builds. Add ProductsDefinition file for defining exports.
Bob Rosenberg <bob.rosenberg@nokia.com>
parents: 624
diff changeset
    61
			filters will generate sets which overlap.
624
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
    62
-->
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
    63
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
    64
634
f7179968fc36 Add verbatim functionality to filtering so it can perform chassis builds. Add ProductsDefinition file for defining exports.
Bob Rosenberg <bob.rosenberg@nokia.com>
parents: 624
diff changeset
    65
<xsl:param name="filter"/> <!-- <list> - (required) A comma-separated list of filters
f7179968fc36 Add verbatim functionality to filtering so it can perform chassis builds. Add ProductsDefinition file for defining exports.
Bob Rosenberg <bob.rosenberg@nokia.com>
parents: 624
diff changeset
    66
		used to process the sysdef.-->
f7179968fc36 Add verbatim functionality to filtering so it can perform chassis builds. Add ProductsDefinition file for defining exports.
Bob Rosenberg <bob.rosenberg@nokia.com>
parents: 624
diff changeset
    67
f7179968fc36 Add verbatim functionality to filtering so it can perform chassis builds. Add ProductsDefinition file for defining exports.
Bob Rosenberg <bob.rosenberg@nokia.com>
parents: 624
diff changeset
    68
<xsl:param name="addbuild" select="0"/> <!--1 - (optional) If present, it will add a system build
f7179968fc36 Add verbatim functionality to filtering so it can perform chassis builds. Add ProductsDefinition file for defining exports.
Bob Rosenberg <bob.rosenberg@nokia.com>
parents: 624
diff changeset
    69
		section that accepts everything. This is needed for genxml
f7179968fc36 Add verbatim functionality to filtering so it can perform chassis builds. Add ProductsDefinition file for defining exports.
Bob Rosenberg <bob.rosenberg@nokia.com>
parents: 624
diff changeset
    70
		processing -->
624
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
    71
634
f7179968fc36 Add verbatim functionality to filtering so it can perform chassis builds. Add ProductsDefinition file for defining exports.
Bob Rosenberg <bob.rosenberg@nokia.com>
parents: 624
diff changeset
    72
<xsl:param name="verbatim"/> <!-- <list> - (optional) A comma-separated list of system
f7179968fc36 Add verbatim functionality to filtering so it can perform chassis builds. Add ProductsDefinition file for defining exports.
Bob Rosenberg <bob.rosenberg@nokia.com>
parents: 624
diff changeset
    73
		model IDs to include unfiltered. IDs must take the form as in
f7179968fc36 Add verbatim functionality to filtering so it can perform chassis builds. Add ProductsDefinition file for defining exports.
Bob Rosenberg <bob.rosenberg@nokia.com>
parents: 624
diff changeset
    74
		the document they appear (ie using the same namespace prefix).
f7179968fc36 Add verbatim functionality to filtering so it can perform chassis builds. Add ProductsDefinition file for defining exports.
Bob Rosenberg <bob.rosenberg@nokia.com>
parents: 624
diff changeset
    75
		This does not work on 2.0 syntax sysdefs. -->
f7179968fc36 Add verbatim functionality to filtering so it can perform chassis builds. Add ProductsDefinition file for defining exports.
Bob Rosenberg <bob.rosenberg@nokia.com>
parents: 624
diff changeset
    76
f7179968fc36 Add verbatim functionality to filtering so it can perform chassis builds. Add ProductsDefinition file for defining exports.
Bob Rosenberg <bob.rosenberg@nokia.com>
parents: 624
diff changeset
    77
<xsl:variable name="ID-list" select="concat(',',translate(normalize-space($verbatim),' ',''),',')"/> <!-- remove all spaces from $idlist and add surrounding commas for easier processing-->
624
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
    78
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
    79
<xsl:template match="node()|@*"><xsl:copy-of select="."/></xsl:template>
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
    80
<xsl:template match="*"><xsl:param name="data"/>
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
    81
	<xsl:copy>
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
    82
		<xsl:copy-of select="@*"/>
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
    83
		<xsl:apply-templates select="node()">
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
    84
			<xsl:with-param name="data" select="$data"/>
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
    85
		</xsl:apply-templates>
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
    86
	</xsl:copy>
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
    87
</xsl:template>
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
    88
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
    89
<xsl:template match="component|unit"><xsl:param name="data"/> <!-- filterable items -->
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
    90
	 <xsl:variable name="display">
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
    91
	 	<xsl:apply-templates select="$data" mode="filter">
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
    92
			<xsl:with-param name="item" select="current()"/>
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
    93
		</xsl:apply-templates>
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
    94
	 </xsl:variable>
634
f7179968fc36 Add verbatim functionality to filtering so it can perform chassis builds. Add ProductsDefinition file for defining exports.
Bob Rosenberg <bob.rosenberg@nokia.com>
parents: 624
diff changeset
    95
	 <xsl:if test="$display != 'hide' or ($verbatim != '' and ancestor-or-self::*[contains($ID-list,concat(',',@id,','))])"> 
f7179968fc36 Add verbatim functionality to filtering so it can perform chassis builds. Add ProductsDefinition file for defining exports.
Bob Rosenberg <bob.rosenberg@nokia.com>
parents: 624
diff changeset
    96
		<!-- if 'hide', remove completely from the output, but always include any ID listed as a $ID-list item-->
624
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
    97
		<xsl:copy>
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
    98
			<xsl:copy-of select="@*"/>
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
    99
			<xsl:apply-templates select="node()">
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   100
				<xsl:with-param name="data" select="$data"/>
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   101
			</xsl:apply-templates>
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   102
		</xsl:copy>
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   103
	</xsl:if>
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   104
</xsl:template>
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   105
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   106
<xsl:template match="/SystemDefinition">
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   107
	<xsl:variable name="f">
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   108
		<xsl:element name="filter-{$filter-type}">
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   109
			<xsl:call-template name="filter-list">
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   110
				<xsl:with-param name="f" select="$filter"/>
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   111
			</xsl:call-template>
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   112
		</xsl:element>
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   113
	</xsl:variable>
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   114
	<xsl:choose>
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   115
		<xsl:when test="starts-with(@schema,'3.0')"/> <!-- no DTD needed for 3.0 sysdef -->
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   116
		<xsl:when test="$addbuild">
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   117
			<xsl:call-template name="DTD-bld"/> <!-- insert 2.0.1 DTD w/sysbuild parts-->
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   118
		</xsl:when>
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   119
		<xsl:otherwise>
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   120
			<xsl:call-template name="DTD"/> <!-- insert 2.0.1 DTD -->
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   121
		</xsl:otherwise>
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   122
	</xsl:choose>
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   123
	<xsl:copy>
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   124
		<xsl:copy-of select="@*"/>
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   125
		<xsl:variable name="content"> <!-- save content for potential further processing -->
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   126
			<xsl:apply-templates select="node()">
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   127
				<xsl:with-param name="data" select="exslt:node-set($f)/*"/>
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   128
			</xsl:apply-templates>
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   129
		</xsl:variable>
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   130
		<!-- just output content as is. We could create a template to remove any filtered out items, but so far there's no compelling need -->
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   131
		<xsl:copy-of select="$content"/>  
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   132
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   133
		<xsl:if test="$addbuild">
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   134
			<SystemBuild schema="1.0.0">
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   135
				<configuration name="any" description="text">
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   136
					<xsl:attribute name="filter">
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   137
						<xsl:for-each select="//@filter[not(.=following::*/@filter)]">
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   138
							<xsl:value-of select="."/><xsl:if test="position()!=last()">,</xsl:if>
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   139
						</xsl:for-each>
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   140
					</xsl:attribute>
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   141
					<xsl:for-each select="exslt:node-set($content)/systemModel/layer[descendant::unit]">
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   142
						<!-- only include layers we know have units -->
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   143
						<ref item="{@name}"/>
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   144
					</xsl:for-each>
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   145
				</configuration>
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   146
			</SystemBuild>
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   147
		</xsl:if>
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   148
	</xsl:copy>
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   149
</xsl:template>
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   150
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   151
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   152
<xsl:include href="lib/filter-module.xsl"/>
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   153
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   154
<xsl:template name="DTD-bld">
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   155
<xsl:text disable-output-escaping="yes"><![CDATA[<!DOCTYPE SystemDefinition [
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   156
 <!ELEMENT SystemDefinition ( systemModel?, SystemBuild? )>
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   157
 <!ATTLIST SystemDefinition
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   158
  name CDATA #REQUIRED
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   159
  schema CDATA #REQUIRED>
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   160
 <!ELEMENT systemModel (layer+)>
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   161
 <!ELEMENT layer (block* | collection*)*>
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   162
 <!ATTLIST layer
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   163
  name CDATA #REQUIRED
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   164
  long-name CDATA #IMPLIED
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   165
  levels NMTOKENS #IMPLIED
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   166
  span CDATA #IMPLIED>
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   167
 <!ELEMENT block (subblock* | collection*)*>
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   168
 <!ATTLIST block
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   169
  levels NMTOKENS #IMPLIED
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   170
  span CDATA #IMPLIED
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   171
  level NMTOKEN #IMPLIED
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   172
  name CDATA #REQUIRED
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   173
  long-name CDATA #IMPLIED>
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   174
 <!ELEMENT subblock (collection)*>
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   175
 <!ATTLIST subblock
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   176
  name CDATA #REQUIRED
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   177
  long-name CDATA #IMPLIED>
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   178
 <!ELEMENT collection (component)*>
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   179
 <!ATTLIST collection
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   180
  name CDATA #REQUIRED
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   181
  long-name CDATA #IMPLIED
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   182
  level NMTOKEN #IMPLIED>
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   183
 <!ELEMENT component (unit)*>
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   184
 <!ATTLIST component
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   185
  name CDATA #REQUIRED
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   186
  long-name CDATA #IMPLIED
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   187
  deprecated CDATA #IMPLIED
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   188
  introduced CDATA #IMPLIED
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   189
  contract CDATA #IMPLIED
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   190
  plugin (Y|N) "N"
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   191
  filter CDATA #IMPLIED
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   192
  class NMTOKENS #IMPLIED
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   193
  supports CDATA #IMPLIED
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   194
  purpose ( optional | mandatory | development ) "optional">
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   195
 <!ELEMENT unit EMPTY>
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   196
 <!ATTLIST unit
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   197
  mrp CDATA #IMPLIED
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   198
  filter CDATA #IMPLIED
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   199
  bldFile CDATA #IMPLIED
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   200
  root CDATA #IMPLIED
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   201
  version NMTOKEN #IMPLIED
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   202
  prebuilt NMTOKEN #IMPLIED
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   203
  late (Y|N) #IMPLIED
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   204
  priority CDATA #IMPLIED>
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   205
 <!ELEMENT SystemBuild (option* | target+ | targetList+ | list+ | configuration+)*>
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   206
 <!ATTLIST SystemBuild schema CDATA #REQUIRED>
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   207
 <!ELEMENT list (ref+)>
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   208
 <!ATTLIST list
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   209
  name ID #REQUIRED
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   210
  description CDATA #REQUIRED>
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   211
 <!ELEMENT ref EMPTY>
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   212
 <!ATTLIST ref item CDATA #REQUIRED>
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   213
 <!ELEMENT targetList EMPTY>
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   214
 <!ATTLIST targetList
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   215
  name ID #REQUIRED
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   216
  description CDATA #REQUIRED
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   217
  target IDREFS #REQUIRED>
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   218
 <!ELEMENT target EMPTY>
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   219
 <!ATTLIST target
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   220
  name ID #REQUIRED
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   221
  abldTarget CDATA #REQUIRED
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   222
  description CDATA #REQUIRED>
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   223
 <!ELEMENT option EMPTY>
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   224
 <!ATTLIST option
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   225
  name ID #REQUIRED
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   226
  abldOption CDATA #REQUIRED
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   227
  description CDATA #REQUIRED
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   228
  enable (Y | N ) #REQUIRED>
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   229
 <!ELEMENT configuration (listRef+ | ref+ | task+)*>
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   230
 <!ATTLIST configuration
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   231
  name ID #REQUIRED
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   232
  description CDATA #REQUIRED
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   233
  filter CDATA #REQUIRED>
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   234
 <!ELEMENT task (listRef* , (buildLayer | specialInstructions))>
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   235
 <!ELEMENT listRef EMPTY>
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   236
 <!ATTLIST listRef list CDATA #REQUIRED>
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   237
 <!ELEMENT buildLayer EMPTY>
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   238
 <!ATTLIST buildLayer
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   239
  command CDATA #REQUIRED
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   240
  targetList IDREFS #IMPLIED
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   241
  unitParallel (Y | N ) #REQUIRED
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   242
  targetParallel (Y | N ) "N">
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   243
 <!ELEMENT specialInstructions EMPTY>
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   244
 <!ATTLIST specialInstructions
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   245
  name CDATA #REQUIRED
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   246
  cwd CDATA #REQUIRED
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   247
  root CDATA #IMPLIED
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   248
  command CDATA #REQUIRED>
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   249
]>
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   250
]]></xsl:text>
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   251
</xsl:template>
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   252
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   253
<xsl:template name="DTD">
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   254
<xsl:text disable-output-escaping="yes"><![CDATA[<!DOCTYPE SystemDefinition [
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   255
<!ELEMENT SystemDefinition ( systemModel )>
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   256
<!ATTLIST SystemDefinition
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   257
  name CDATA #REQUIRED
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   258
  schema CDATA #REQUIRED
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   259
>
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   260
<!-- all paths are relative to the environment variable specified by the root attribute, or SOURCEROOT if not.  -->
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   261
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   262
<!-- System Model Section of DTD -->
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   263
<!ELEMENT systemModel (layer+)>
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   264
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   265
<!ELEMENT layer (block* | collection*)*>
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   266
<!-- Kernel Services, Base Services, OS Services, Etc -->
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   267
<!ATTLIST layer
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   268
  name CDATA #REQUIRED
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   269
  long-name CDATA #IMPLIED
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   270
  levels NMTOKENS #IMPLIED
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   271
  span CDATA #IMPLIED
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   272
>
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   273
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   274
<!ELEMENT block (subblock* | collection*)*>
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   275
 <!-- Generic OS services, Comms Services, etc -->
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   276
<!ATTLIST block
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   277
  levels NMTOKENS #IMPLIED
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   278
  span CDATA #IMPLIED
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   279
  level NMTOKEN #IMPLIED
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   280
  name CDATA #REQUIRED
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   281
  long-name CDATA #IMPLIED
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   282
>
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   283
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   284
<!ELEMENT subblock (collection)*>
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   285
<!-- Cellular Baseband Services, Networking Services, etc -->
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   286
<!ATTLIST subblock
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   287
  name CDATA #REQUIRED
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   288
  long-name CDATA #IMPLIED
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   289
>
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   290
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   291
<!ELEMENT collection (component)*>
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   292
<!-- Screen Driver, Content Handling, etc -->
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   293
<!ATTLIST collection
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   294
  name CDATA #REQUIRED
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   295
  long-name CDATA #IMPLIED
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   296
  level NMTOKEN #IMPLIED
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   297
>
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   298
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   299
<!ELEMENT component (unit)*>
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   300
<!-- contains units or is a  package or prebuilt -->
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   301
<!ATTLIST component
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   302
  name CDATA #REQUIRED
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   303
  long-name CDATA #IMPLIED
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   304
  deprecated CDATA #IMPLIED
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   305
  introduced CDATA #IMPLIED
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   306
  contract CDATA #IMPLIED
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   307
  plugin (Y|N) "N"
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   308
  filter CDATA #IMPLIED
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   309
  class NMTOKENS #IMPLIED
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   310
  supports CDATA #IMPLIED
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   311
  purpose ( optional | mandatory | development ) "optional"
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   312
>
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   313
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   314
<!ELEMENT unit EMPTY >
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   315
<!-- must be buildable (bld.inf) -->
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   316
<!-- bldFile  may someday be removed in favour of mrp -->
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   317
<!ATTLIST unit
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   318
  mrp CDATA #IMPLIED
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   319
  filter CDATA #IMPLIED
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   320
  bldFile CDATA #IMPLIED
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   321
  root CDATA #IMPLIED
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   322
  version NMTOKEN #IMPLIED
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   323
  prebuilt NMTOKEN #IMPLIED
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   324
  late (Y|N) #IMPLIED
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   325
  priority CDATA #IMPLIED
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   326
>
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   327
]>
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   328
]]></xsl:text>
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   329
</xsl:template>
f70b728ea30c Move sysdeftools from buildtools package into build package
Bob Rosenberg <bob.rosenberg@nokia.com>
parents:
diff changeset
   330
</xsl:stylesheet>