Unnamed Team: Difference between revisions
From ICO wiki
Jump to navigationJump to search
Line 281: | Line 281: | ||
<source lang="xml"> | <source lang="xml"> | ||
<?xml version="1.0" encoding="UTF-8"?> | |||
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-microsoft-com:xslt" version="1.0" exclude-result-prefixes="msxsl"> | |||
<xsl:output method="xml" indent="yes" /> | |||
<xsl:template match="@* | node()"> | |||
<GameShop> | |||
<Game> | |||
<xsl:for-each select="/GameShop/Games/Game"> | |||
<xsl:if test="Genres/Genre = 'Action'"> | |||
<xsl:variable name="Game" select="." /> | |||
<Name> | |||
<xsl:value-of select="./@Title" /> | |||
</Name> | |||
<Realease> | |||
<xsl:value-of select="./@Year" /> | |||
</Realease> | |||
<Images> | |||
<xsl:for-each select="./Images/Image"> | |||
<xsl:variable name="ImageUrl" select="." /> | |||
<img src="{$ImageUrl}" width="400" height="200" /> | |||
</xsl:for-each> | |||
</Images> | |||
<xsl:if test="SystemRequiments/@RequimentType = 'Minimum'"> | |||
<MinimumSystemRequiments> | |||
<OperatingSystems> | |||
<xsl:for-each select="./SystemRequiments/Oses/Os"> | |||
<OperatingSystem> | |||
<xsl:value-of select="." /> | |||
</OperatingSystem> | |||
</xsl:for-each> | |||
</OperatingSystems> | |||
<Processor> | |||
<xsl:value-of select="$Game/SystemRequiments/Processor" /> | |||
</Processor> | |||
<Memory> | |||
<xsl:value-of select="$Game/SystemRequiments/Memory" /> | |||
</Memory> | |||
<GraphicsCard> | |||
<xsl:value-of select="$Game/SystemRequiments/Graphics" /> | |||
</GraphicsCard> | |||
<Storage> | |||
<xsl:value-of select="$Game/SystemRequiments/Storage" /> | |||
</Storage> | |||
<Notes> | |||
<xsl:value-of select="$Game/SystemRequiments/AdditionalNotes" /> | |||
</Notes> | |||
<Sound> | |||
<xsl:value-of select="$Game/SystemRequiments/SoundCard" /> | |||
</Sound> | |||
<DirectX> | |||
<xsl:value-of select="$Game/SystemRequiments/DirectX" /> | |||
</DirectX> | |||
</MinimumSystemRequiments> | |||
</xsl:if> | |||
</xsl:if> | |||
</xsl:for-each> | |||
</Game> | |||
</GameShop> | |||
</xsl:template> | |||
</xsl:stylesheet> | |||
</source> | </source> | ||
Revision as of 18:22, 20 March 2017
Meeskond
- Andreas Kirotar
- Jaan Kostõgov
Idee
XML ideeks on arvuti mängude kataloog.
XML / XSD / XSLT
<?xml version="1.0" encoding="UTF-8"?>
<GameShop>
<Genres>
<Genre>Action</Genre>
<Genre>RPG</Genre>
<Genre>Action</Genre>
<Genre>Fantasy</Genre>
<Genre>Sci-fi</Genre>
<Genre>Horror</Genre>
</Genres>
<Games>
<Game Title="Fallout4" Year="2016">
<Genres>
<Genre>FPS</Genre>
<Genre>Action</Genre>
<Genre>Sci-fi</Genre>
</Genres>
<Images>
<Image>http://cdn.akamai.steamstatic.com/steam/apps/377160/header.jpg?t=1486403180</Image>
<Image>http://cdn.akamai.steamstatic.com/steam/apps/377160/header.jpg?t=1486403180</Image>
</Images>
<SystemRequiments RequimentType="Minimum">
<Oses>
<Os Architecture="64bit">Windows 7</Os>
<Os Architecture="64bit">Windows 10</Os>
</Oses>
<Processor>Intel Core i5-2400/AMD FX-8320 or better</Processor>
<Memory>4 GB RAM</Memory>
<Graphics>NVIDIA GTX 670 2GB/AMD Radeon HD 7870 2GB or better</Graphics>
<Storage>25 GB available space</Storage>
<AdditionalNotes>Requires broadband internet connection for Multiplayer</AdditionalNotes>
</SystemRequiments>
<SystemRequiments RequimentType="Reccomended">
<Os>Windows 7/8.1/10 (64-bit versions)</Os>
<Processor>Intel Core i7-3770/AMD FX-8350 or better</Processor>
<Memory>8 GB RAM</Memory>
<Graphics>NVIDIA GTX 970 4GB/AMD Radeon R9 290 4GB or better</Graphics>
<Storage>25 GB available space</Storage>
<AdditionalNotes>Requires broadband internet connection for Multiplayer</AdditionalNotes>
</SystemRequiments>
</Game>
<Game Title="Fallout 3 NewVegas" Year="2016">
<Genres>
<Genre>FPS</Genre>
<Genre>Action</Genre>
<Genre>Sci-fi</Genre>
</Genres>
<Images>
<Image>https://i.kinja-img.com/gawker-media/image/upload/s--dWfA2BXt--/ilz6yicwfquqoyalkwjd.jpg</Image>
</Images>
<SystemRequiments RequimentType="Minimum">
<Oses>
<Os Architecture="32bit">Windows xp</Os>
<Os Architecture="32bit">Windows Vista</Os>
</Oses>
<Processor>2.4 Ghz Intel Pentium 4 or equivalent processor</Processor>
<Memory>1 GB (XP)/ 2 GB (Vista)</Memory>
<Graphics>Direct X 9.0c compliant video card with 256MB RAM (NVIDIA 6800 or better/ATI X850 or better)</Graphics>
<Storage>25 GB available space</Storage>
<AdditionalNotes>Online play requires log-in to Games For Windows - Live</AdditionalNotes>
</SystemRequiments>
</Game>
<Game Title="Dark Souls 3" Year="2016">
<Genres>
<Genre>RPG</Genre>
</Genres>
<Images>
<Image>https://d1r7xvmnymv7kg.cloudfront.net/sites_products/darksouls3/assets/img/DARKSOUL_facebook_mini.jpg</Image>
<Image>https://cdn2.vox-cdn.com/uploads/chorus_asset/file/6323691/Dark_Souls_3_concept_art.0.jpg</Image>
<Image>https://i.ytimg.com/vi/Ha8eRiP0DmI/maxresdefault.jpg</Image>
</Images>
<SystemRequiments RequimentType="Minimum">
<Oses>
<Os Architecture="32bit">Windows xp</Os>
<Os Architecture="32bit">Windows Vista</Os>
</Oses>
<Os>Windows 7 SP1 64bit, Windows 8.1 64bit Windows 10 64bit</Os>
<Processor>Intel Core i3-2100 / AMD® FX-6300</Processor>
<Memory>4 GB RAM</Memory>
<Graphics>NVIDIA® GeForce GTX 750 Ti / ATI Radeon HD 7950</Graphics>
<DirectX>Version 11</DirectX>
<Network>Broadband Internet connection</Network>
<Storage>25 GB available space</Storage>
<SoundCard>DirectX 11 sound device</SoundCard>
</SystemRequiments>
<SystemRequiments RequimentType="Recommended">
<Oses>
<Os Architecture="64bit">Windows 7</Os>
<Os Architecture="64bit">Windows 8.1</Os>
<Os Architecture="64bit">Windows 10</Os>
</Oses>
<Processor>Intel Core i7-3770 / AMD® FX-8350</Processor>
<Memory>8 GB RAM</Memory>
<Graphics>NVIDIA® GeForce GTX 970 / ATI Radeon R9 series</Graphics>
<DirectX>Version 11</DirectX>
<Network>Broadband Internet connection</Network>
<Storage>25 GB</Storage>
<SoundCard>DirectX 11 sound device</SoundCard>
</SystemRequiments>
</Game>
</Games>
</GameShop>
XSD
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" attributeFormDefault="unqualified" elementFormDefault="qualified">
<xs:element name="GameShop">
<xs:complexType>
<xs:sequence>
<xs:element name="Genres">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="Genre" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Games">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="Game">
<xs:complexType>
<xs:sequence>
<xs:element name="Genres">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="Genre" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Images">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="Image" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element maxOccurs="unbounded" name="SystemRequiments">
<xs:complexType>
<xs:sequence>
<xs:choice maxOccurs="unbounded">
<xs:element name="Os" type="xs:string" />
<xs:element name="Oses">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="Os">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="Architecture" type="xs:string" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Processor" type="xs:string" />
<xs:element name="Memory" type="xs:string" />
<xs:element name="Graphics" type="xs:string" />
<xs:element name="Storage" type="xs:string" />
<xs:element name="AdditionalNotes" type="xs:string" />
<xs:element name="DirectX" type="xs:string" />
<xs:element name="Network" type="xs:string" />
<xs:element name="SoundCard" type="xs:string" />
</xs:choice>
</xs:sequence>
<xs:attribute name="RequimentType" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="Title" type="xs:string" use="required" />
<xs:attribute name="Year" type="xs:unsignedShort" use="required" />
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
XSLT
XSLT (HTML)
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-microsoft-com:xslt" version="1.0" exclude-result-prefixes="msxsl">
<xsl:output method="html" indent="yes" />
<xsl:template match="/">
<html>
<head>
<title>Games by genre(windows 7)</title>
</head>
<body>
<xsl:for-each select="/GameShop/Genres/Genre">
<xsl:variable name="MainGenre" select="." />
<h2>
<xsl:value-of select="$MainGenre" />
</h2>
<ul style="list-style-type:none">
<xsl:for-each select="/GameShop/Games/Game">
<xsl:if test="(Genres/Genre = $MainGenre) and (SystemRequiments/Oses/Os ='Windows 7')">
<xsl:variable name="Game" select="." />
<li>
Name:
<xsl:value-of select="./@Title" />
</li>
<li>
Release year:
<xsl:value-of select="./@Year" />
</li>
<li>
<xsl:for-each select="./Images/Image">
<xsl:variable name="ImageUrl" select="." />
<img src="{$ImageUrl}" width="400" height="200" />
</xsl:for-each>
</li>
<li>Requirements:</li>
<li>
Operating systems:
<xsl:value-of select="$Game/SystemRequiments/Oses" />
</li>
<li>
Processor:
<xsl:value-of select="$Game/SystemRequiments/Processor" />
</li>
<li>
Memory:
<xsl:value-of select="$Game/SystemRequiments/Memory" />
</li>
<li>
Graphics card:
<xsl:value-of select="$Game/SystemRequiments/Graphics" />
</li>
<li>
Storage:
<xsl:value-of select="$Game/SystemRequiments/Storage" />
</li>
<li>
Notes:
<xsl:value-of select="$Game/SystemRequiments/AdditionalNotes" />
</li>
<li>
Sound:
<xsl:value-of select="$Game/SystemRequiments/SoundCard" />
</li>
<li>
DirectX:
<xsl:value-of select="$Game/SystemRequiments/DirectX" />
</li>
</xsl:if>
</xsl:for-each>
</ul>
</xsl:for-each>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
XSLT (XML)
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-microsoft-com:xslt" version="1.0" exclude-result-prefixes="msxsl">
<xsl:output method="xml" indent="yes" />
<xsl:template match="@* | node()">
<GameShop>
<Game>
<xsl:for-each select="/GameShop/Games/Game">
<xsl:if test="Genres/Genre = 'Action'">
<xsl:variable name="Game" select="." />
<Name>
<xsl:value-of select="./@Title" />
</Name>
<Realease>
<xsl:value-of select="./@Year" />
</Realease>
<Images>
<xsl:for-each select="./Images/Image">
<xsl:variable name="ImageUrl" select="." />
<img src="{$ImageUrl}" width="400" height="200" />
</xsl:for-each>
</Images>
<xsl:if test="SystemRequiments/@RequimentType = 'Minimum'">
<MinimumSystemRequiments>
<OperatingSystems>
<xsl:for-each select="./SystemRequiments/Oses/Os">
<OperatingSystem>
<xsl:value-of select="." />
</OperatingSystem>
</xsl:for-each>
</OperatingSystems>
<Processor>
<xsl:value-of select="$Game/SystemRequiments/Processor" />
</Processor>
<Memory>
<xsl:value-of select="$Game/SystemRequiments/Memory" />
</Memory>
<GraphicsCard>
<xsl:value-of select="$Game/SystemRequiments/Graphics" />
</GraphicsCard>
<Storage>
<xsl:value-of select="$Game/SystemRequiments/Storage" />
</Storage>
<Notes>
<xsl:value-of select="$Game/SystemRequiments/AdditionalNotes" />
</Notes>
<Sound>
<xsl:value-of select="$Game/SystemRequiments/SoundCard" />
</Sound>
<DirectX>
<xsl:value-of select="$Game/SystemRequiments/DirectX" />
</DirectX>
</MinimumSystemRequiments>
</xsl:if>
</xsl:if>
</xsl:for-each>
</Game>
</GameShop>
</xsl:template>
</xsl:stylesheet>
Log
- 17.03 Esimene kokkusaamine, XML, XSD, XSLT(HTML) kujul loomine.
- 20.03 Kaugtööna XSLT(HTML) ja XSLT(XML) lõpetamine, Wiki lehe loomine.