Tiim Placeholder
From ICO wiki
Tiim Placeholder
Koosseis
- Eero Jämsä
- ..
- ..
XML Fail
<?xml version="1.0" encoding="utf-8" ?> <cars> <car seeria="S"> <name>VOLVO S60</name> <accessories> <accessory group="styling" type="wheels"><![CDATA[ Aluminum rim "Balder" 7 x 17"]]></accessory> <accessory group="tech_and_sound" type="audio"><![CDATA[Digital radio, DAB/DAB+ ((Excl. BR))]]></accessory> <accessory group="comfort" type="seats"><![CDATA[Pillow, comfort]]></accessory> </accessories> </car> <car seeria="S"> <name>VOLVO S80</name> <accessories> <accessory group="maintenance" type="interior"><![CDATA[ Leather care]]></accessory> <accessory group="comfort" type="climate"><![CDATA[Sunshade, rear doors]]></accessory> <accessory group="tech_and_sound" type="audio"><![CDATA[USB and iPod® Music Interface, cradle]]></accessory> <accessory group="styling" type="wheels"><![CDATA[Aluminum rim "Magni" 8 x 18"]]></accessory> </accessories> </car> <car seeria="V"> <name>VOLVO V40</name> <accessories> <accessory group="comfort" type="storage"><![CDATA[Glasses holder]]></accessory> <accessory group="tech_and_sound" type="audio"><![CDATA[Digital radio, DAB/DAB+ ((Excl. BR))]]></accessory> </accessories> </car> <car seeria="XC"> <name>VOLVO XC60</name> <accessories> <accessory group="comfort" type="seats"><![CDATA[ Rear seat guard]]></accessory> <accessory group="comfort" type="climate"><![CDATA[Remote start, fuel-driven heater (Excl. GB, BR)]]></accessory> <accessory group="tech_and_sound" type="audio"><![CDATA[CD-changer, 6-disc]]></accessory> <accessory group="styling" type="wheels"><![CDATA[Aluminum rim "Cratus" 8 x 20"]]></accessory> <accessory group="styling" type="interior_styling"><![CDATA[Steering wheel, leather]]></accessory> <accessory group="performance" type="software"><![CDATA[Polestar Performance Software (Excl. BE, BR, FR, IT, LU, NO)]]></accessory> </accessories> </car> <car seeria="C"> <name>VOLVO C70</name> <accessories> <accessory group="styling" type="wheels"><![CDATA[ Aluminum rim "Castula" 7.5 x 16"]]></accessory> <accessory group="tech_and_sound" type="communication"><![CDATA[Handsfree, Bluetooth]]></accessory> <accessory group="comfort" type="climate"><![CDATA[Windblocker]]></accessory> </accessories> </car> <car seeria="V"> <name>VOLVO V60</name> <accessories> <accessory group="maintenance" type="exterior"><![CDATA[ Dirt and water repellent, side window (Excl. SY)]]></accessory> <accessory group="comfort" type="storage"><![CDATA[Cup holder]]></accessory> <accessory group="tech_and_sound" type="audio"><![CDATA[Infotainment levels upgrade]]></accessory> <accessory group="styling" type="wheels"><![CDATA[Aluminum rim "Magni" 8 x 18"]]></accessory> <accessory group="styling" type="wheels"><![CDATA[ Aluminum rim "Castula" 7.5 x 16"]]></accessory> </accessories> </car> <car seeria="S"> <name>VOLVO S80</name> <accessories> <accessory group="tech_and_sound" type="audio"><![CDATA[CD-changer, 6-disc]]></accessory> <accessory group="tech_and_sound" type="audio"><![CDATA[Digital radio, DAB/DAB+ ((Excl. BR))]]></accessory> <accessory group="tech_and_sound" type="audio"><![CDATA[Infotainment levels upgrade]]></accessory> </accessories> </car> <car seeria="XC"> <name>VOLVO XC90</name> <accessories> <accessory group="comfort" type="seats"><![CDATA[ Rear seat guard]]></accessory> <accessory group="comfort" type="climate"><![CDATA[Electric engine heater (Excl. GB)]]></accessory> <accessory group="tech_and_sound" type="audio"><![CDATA[CD-changer, 6-disc]]></accessory> <accessory group="styling" type="wheels"><![CDATA[Aluminum rim "Cratus" 8 x 20"]]></accessory> <accessory group="styling" type="exterior_styling"><![CDATA[Accessory, R-design, general description]]></accessory> <accessory group="performance" type="software"><![CDATA[Polestar Performance Software (Excl. BE, BR, FR, IT, LU, NO)]]></accessory> </accessories> </car> </cars>
Schema
<?xml version="1.0" encoding="utf-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="cars">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="car">
<xs:complexType>
<xs:sequence>
<xs:element name="name" type="xs:string" />
<xs:element name="accessories">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="accessory">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="group" type="xs:string" use="required" />
<xs:attribute name="type" type="xs:string" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="seeria" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
XSLT
Esimene
Kuva välja kõikide isendite lisavarustus
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl">
<xsl:output method="html" indent="yes"/>
<xsl:template match="/">
<xsl:for-each select="cars/car">
<h3>
<xsl:value-of select="name"/>
</h3>
<ul>
<xsl:for-each select="accessories/accessory">
<li>
<xsl:value-of select="."/>
</li>
</xsl:for-each>
</ul>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
Teine
Kuvame kõik volvod, kellel on lisavarustuses veljed
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl">
<xsl:output method="html" indent="yes"/>
<xsl:template match="/">
<xsl:for-each select="cars/car">
<xsl:if test="contains(accessories[accessory], 'rim')">
<xsl:value-of select="name"/>
<br />
</xsl:if>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>