common/sysdefdowngrade/filtering.xsl
author Shabe Razvi <shaber@symbian.org>
Wed, 28 Jul 2010 14:18:15 +0100
changeset 1193 70d88996e8cd
parent 852 41f42b520ea7
permissions -rw-r--r--
Update package_definition.xml generation for tip_pbc
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
852
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
     1
<?xml version="1.0"?>
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
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">
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
     3
	<xsl:output method="xml" indent="yes"/>
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
     4
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
     5
<!-- filter a sysdef (2.0 or 3.0 syntax)-->
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
     6
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
     7
<xsl:param name="filter-type">only</xsl:param> <!-- only, has or with -->
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
     8
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
     9
<xsl:param name="filter"/> <!-- comma-separated list -->
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
    10
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
    11
<xsl:param name="addbuild" select="0"/> <!-- add a system build section that accepts everything -->
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
    12
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
    13
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
    14
<xsl:template match="node()|@*"><xsl:copy-of select="."/></xsl:template>
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
    15
<xsl:template match="*"><xsl:param name="data"/>
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
    16
	<xsl:copy>
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
    17
		<xsl:copy-of select="@*"/>
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
    18
		<xsl:apply-templates select="node()">
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
    19
			<xsl:with-param name="data" select="$data"/>
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
    20
		</xsl:apply-templates>
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
    21
	</xsl:copy>
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
    22
</xsl:template>
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
    23
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
    24
<xsl:template match="component|unit"><xsl:param name="data"/> <!-- filterable items -->
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
    25
	 <xsl:variable name="display">
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
    26
	 	<xsl:apply-templates select="$data" mode="filter">
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
    27
			<xsl:with-param name="item" select="current()"/>
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
    28
		</xsl:apply-templates>
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
    29
	 </xsl:variable>
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
    30
	 
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
    31
	 <xsl:if test="$display != 'hide' "> <!-- if hide, remove completely from the output-->
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
    32
		<xsl:copy>
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
    33
			<xsl:copy-of select="@*"/>
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
    34
			<xsl:apply-templates select="node()">
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
    35
				<xsl:with-param name="data" select="$data"/>
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
    36
			</xsl:apply-templates>
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
    37
		</xsl:copy>
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
    38
	</xsl:if>
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
    39
</xsl:template>
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
    40
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
    41
<xsl:template match="/SystemDefinition">
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
    42
	<xsl:variable name="f">
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
    43
		<xsl:element name="filter-{$filter-type}">
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
    44
			<xsl:call-template name="filter-list">
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
    45
				<xsl:with-param name="f" select="$filter"/>
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
    46
			</xsl:call-template>
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
    47
		</xsl:element>
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
    48
	</xsl:variable>
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
    49
	<xsl:choose>
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
    50
		<xsl:when test="starts-with(@schema,'3.0')"/> <!-- no DTD needed for 3.0 sysdef -->
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
    51
		<xsl:when test="$addbuild">
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
    52
			<xsl:call-template name="DTD-bld"/> <!-- insert 2.0.1 DTD w/sysbuild parts-->
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
    53
		</xsl:when>
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
    54
		<xsl:otherwise>
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
    55
			<xsl:call-template name="DTD"/> <!-- insert 2.0.1 DTD -->
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
    56
		</xsl:otherwise>
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
    57
	</xsl:choose>
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
    58
	<xsl:copy>
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
    59
		<xsl:copy-of select="@*"/>
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
    60
		<xsl:variable name="content"> <!-- save content for potential further processing -->
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
    61
			<xsl:apply-templates select="node()">
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
    62
				<xsl:with-param name="data" select="exslt:node-set($f)/*"/>
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
    63
			</xsl:apply-templates>
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
    64
		</xsl:variable>
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
    65
		<!-- just output content as is. We could create a template to remove any filtered out items, but so far there's no compelling need -->
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
    66
		<xsl:copy-of select="$content"/>  
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
    67
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
    68
		<xsl:if test="$addbuild">
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
    69
			<SystemBuild schema="1.0.0">
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
    70
				<configuration name="any" description="text">
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
    71
					<xsl:attribute name="filter">
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
    72
						<xsl:for-each select="//@filter[not(.=following::*/@filter)]">
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
    73
							<xsl:value-of select="."/><xsl:if test="position()!=last()">,</xsl:if>
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
    74
						</xsl:for-each>
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
    75
					</xsl:attribute>
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
    76
					<xsl:for-each select="exslt:node-set($content)/systemModel/layer[descendant::unit]">
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
    77
						<!-- only include layers we know have units -->
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
    78
						<ref item="{@name}"/>
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
    79
					</xsl:for-each>
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
    80
				</configuration>
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
    81
			</SystemBuild>
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
    82
		</xsl:if>
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
    83
	</xsl:copy>
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
    84
</xsl:template>
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
    85
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
    86
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
    87
<xsl:include href="filter-module.xsl"/>
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
    88
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
    89
<xsl:template name="DTD-bld">
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
    90
<xsl:text disable-output-escaping="yes"><![CDATA[<!DOCTYPE SystemDefinition [
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
    91
 <!ELEMENT SystemDefinition ( systemModel?, SystemBuild? )>
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
    92
 <!ATTLIST SystemDefinition
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
    93
  name CDATA #REQUIRED
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
    94
  schema CDATA #REQUIRED>
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
    95
 <!ELEMENT systemModel (layer+)>
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
    96
 <!ELEMENT layer (block* | collection*)*>
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
    97
 <!ATTLIST layer
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
    98
  name CDATA #REQUIRED
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
    99
  long-name CDATA #IMPLIED
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   100
  levels NMTOKENS #IMPLIED
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   101
  span CDATA #IMPLIED>
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   102
 <!ELEMENT block (subblock* | collection*)*>
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   103
 <!ATTLIST block
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   104
  levels NMTOKENS #IMPLIED
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   105
  span CDATA #IMPLIED
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   106
  level NMTOKEN #IMPLIED
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   107
  name CDATA #REQUIRED
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   108
  long-name CDATA #IMPLIED>
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   109
 <!ELEMENT subblock (collection)*>
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   110
 <!ATTLIST subblock
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   111
  name CDATA #REQUIRED
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   112
  long-name CDATA #IMPLIED>
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   113
 <!ELEMENT collection (component)*>
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   114
 <!ATTLIST collection
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   115
  name CDATA #REQUIRED
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   116
  long-name CDATA #IMPLIED
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   117
  level NMTOKEN #IMPLIED>
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   118
 <!ELEMENT component (unit)*>
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   119
 <!ATTLIST component
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   120
  name CDATA #REQUIRED
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   121
  long-name CDATA #IMPLIED
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   122
  deprecated CDATA #IMPLIED
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   123
  introduced CDATA #IMPLIED
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   124
  contract CDATA #IMPLIED
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   125
  plugin (Y|N) "N"
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   126
  filter CDATA #IMPLIED
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   127
  class NMTOKENS #IMPLIED
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   128
  supports CDATA #IMPLIED
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   129
  purpose ( optional | mandatory | development ) "optional">
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   130
 <!ELEMENT unit EMPTY>
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   131
 <!ATTLIST unit
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   132
  mrp CDATA #IMPLIED
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   133
  filter CDATA #IMPLIED
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   134
  bldFile CDATA #IMPLIED
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   135
  root CDATA #IMPLIED
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   136
  version NMTOKEN #IMPLIED
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   137
  prebuilt NMTOKEN #IMPLIED
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   138
  late (Y|N) #IMPLIED
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   139
  priority CDATA #IMPLIED>
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   140
 <!ELEMENT SystemBuild (option* | target+ | targetList+ | list+ | configuration+)*>
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   141
 <!ATTLIST SystemBuild schema CDATA #REQUIRED>
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   142
 <!ELEMENT list (ref+)>
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   143
 <!ATTLIST list
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   144
  name ID #REQUIRED
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   145
  description CDATA #REQUIRED>
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   146
 <!ELEMENT ref EMPTY>
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   147
 <!ATTLIST ref item CDATA #REQUIRED>
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   148
 <!ELEMENT targetList EMPTY>
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   149
 <!ATTLIST targetList
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   150
  name ID #REQUIRED
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   151
  description CDATA #REQUIRED
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   152
  target IDREFS #REQUIRED>
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   153
 <!ELEMENT target EMPTY>
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   154
 <!ATTLIST target
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   155
  name ID #REQUIRED
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   156
  abldTarget CDATA #REQUIRED
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   157
  description CDATA #REQUIRED>
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   158
 <!ELEMENT option EMPTY>
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   159
 <!ATTLIST option
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   160
  name ID #REQUIRED
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   161
  abldOption CDATA #REQUIRED
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   162
  description CDATA #REQUIRED
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   163
  enable (Y | N ) #REQUIRED>
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   164
 <!ELEMENT configuration (listRef+ | ref+ | task+)*>
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   165
 <!ATTLIST configuration
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   166
  name ID #REQUIRED
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   167
  description CDATA #REQUIRED
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   168
  filter CDATA #REQUIRED>
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   169
 <!ELEMENT task (listRef* , (buildLayer | specialInstructions))>
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   170
 <!ELEMENT listRef EMPTY>
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   171
 <!ATTLIST listRef list CDATA #REQUIRED>
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   172
 <!ELEMENT buildLayer EMPTY>
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   173
 <!ATTLIST buildLayer
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   174
  command CDATA #REQUIRED
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   175
  targetList IDREFS #IMPLIED
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   176
  unitParallel (Y | N ) #REQUIRED
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   177
  targetParallel (Y | N ) "N">
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   178
 <!ELEMENT specialInstructions EMPTY>
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   179
 <!ATTLIST specialInstructions
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   180
  name CDATA #REQUIRED
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   181
  cwd CDATA #REQUIRED
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   182
  root CDATA #IMPLIED
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   183
  command CDATA #REQUIRED>
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   184
]>
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   185
]]></xsl:text>
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   186
</xsl:template>
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   187
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   188
<xsl:template name="DTD">
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   189
<xsl:text disable-output-escaping="yes"><![CDATA[<!DOCTYPE SystemDefinition [
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   190
<!ELEMENT SystemDefinition ( systemModel )>
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   191
<!ATTLIST SystemDefinition
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   192
  name CDATA #REQUIRED
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   193
  schema CDATA #REQUIRED
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   194
>
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   195
<!-- all paths are relative to the environment variable specified by the root attribute, or SOURCEROOT if not.  -->
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   196
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   197
<!-- System Model Section of DTD -->
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   198
<!ELEMENT systemModel (layer+)>
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   199
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   200
<!ELEMENT layer (block* | collection*)*>
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   201
<!-- Kernel Services, Base Services, OS Services, Etc -->
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   202
<!ATTLIST layer
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   203
  name CDATA #REQUIRED
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   204
  long-name CDATA #IMPLIED
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   205
  levels NMTOKENS #IMPLIED
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   206
  span CDATA #IMPLIED
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   207
>
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   208
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   209
<!ELEMENT block (subblock* | collection*)*>
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   210
 <!-- Generic OS services, Comms Services, etc -->
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   211
<!ATTLIST block
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   212
  levels NMTOKENS #IMPLIED
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   213
  span CDATA #IMPLIED
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   214
  level NMTOKEN #IMPLIED
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   215
  name CDATA #REQUIRED
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   216
  long-name CDATA #IMPLIED
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   217
>
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   218
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   219
<!ELEMENT subblock (collection)*>
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   220
<!-- Cellular Baseband Services, Networking Services, etc -->
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   221
<!ATTLIST subblock
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   222
  name CDATA #REQUIRED
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   223
  long-name CDATA #IMPLIED
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   224
>
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   225
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   226
<!ELEMENT collection (component)*>
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   227
<!-- Screen Driver, Content Handling, etc -->
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   228
<!ATTLIST collection
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   229
  name CDATA #REQUIRED
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   230
  long-name CDATA #IMPLIED
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   231
  level NMTOKEN #IMPLIED
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   232
>
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   233
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   234
<!ELEMENT component (unit)*>
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   235
<!-- contains units or is a  package or prebuilt -->
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   236
<!ATTLIST component
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   237
  name CDATA #REQUIRED
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   238
  long-name CDATA #IMPLIED
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   239
  deprecated CDATA #IMPLIED
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   240
  introduced CDATA #IMPLIED
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   241
  contract CDATA #IMPLIED
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   242
  plugin (Y|N) "N"
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   243
  filter CDATA #IMPLIED
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   244
  class NMTOKENS #IMPLIED
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   245
  supports CDATA #IMPLIED
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   246
  purpose ( optional | mandatory | development ) "optional"
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   247
>
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   248
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   249
<!ELEMENT unit EMPTY >
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   250
<!-- must be buildable (bld.inf) -->
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   251
<!-- bldFile  may someday be removed in favour of mrp -->
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   252
<!ATTLIST unit
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   253
  mrp CDATA #IMPLIED
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   254
  filter CDATA #IMPLIED
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   255
  bldFile CDATA #IMPLIED
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   256
  root CDATA #IMPLIED
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   257
  version NMTOKEN #IMPLIED
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   258
  prebuilt NMTOKEN #IMPLIED
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   259
  late (Y|N) #IMPLIED
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   260
  priority CDATA #IMPLIED
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   261
>
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   262
]>
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   263
]]></xsl:text>
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   264
</xsl:template>
41f42b520ea7 add xsl for merging / downgrading system model
andy simpson <andrews@symbian.org>
parents:
diff changeset
   265
</xsl:stylesheet>