Node
From ICO wiki
Meeskond Node
Meeskonna liikmed:
- Stanislav Gorski
- Meelis-Marius Pinka
- Janno Mäemets
- Andre Padu
- Indrek Luts
Kodutöö XML osa 8.märts
XML osa täitmiseks võtsin näiteks plaadikogumiku.
XML andmefail
<?xml version="1.0" encoding="utf-8" ?> <Retseptid> <Retsept id="1"> <Nimi>Pannkoogid</Nimi> <Kirjeldus>Pannkoogid moosiga, varajasteks pühapäeva hommikuteks</Kirjeldus> <Koostis> <Koostisosad> <Osa Kogus="4" Ühik="tk">Muna</Osa> <Osa Kogus="250" Ühik="g">Kohupiim</Osa> <Osa Kogus="150" Ühik="g">Jahu</Osa> <Osa Kogus="3" Ühik="tl">Suhkur</Osa> <Osa Kogus="1" Ühik="tl">Sool</Osa> </Koostisosad> </Koostis> </Retsept> <Retsept id="2"> <Nimi>Kotletid</Nimi> <Kirjeldus>Hakklihast valmistatud kuumad kotletid</Kirjeldus> <Koostis> <Koostisosad> <Osa Kogus="500" Ühik="g">Hakkliha</Osa> <Osa Kogus="75" Ühik="g">Jahu</Osa> <Osa Kogus="2" Ühik="tk">Muna</Osa> <Osa>Riivsai</Osa> </Koostisosad> </Koostis> </Retsept> <Retsept id="3"> <Nimi>Makaronid juustuga</Nimi> <Kirjeldus>Keedetud makaronid, riivjuustuga</Kirjeldus> <Koostis> <Koostisosad> <Osa Kogus="300" Ühik="g">Makaronid</Osa> <Osa Kogus="50" Ühik="ml">Vesi</Osa> <Osa Kogus="100" Ühik="g">Riivjuust</Osa> </Koostisosad> </Koostis> </Retsept> <Retsept id="4"> <Nimi>Risotto</Nimi> <Kirjeldus>Kergelt soolane, parajalt terav, indjapärane riisitoit</Kirjeldus> <Koostis> <Koostisosad> <Osa Kogus="1" Ühik="tl">Riis</Osa> <Osa Kogus="3" Ühik="tk">Tomat</Osa> <Osa Kogus="1" Ühik="tk">Paprika</Osa> <Osa Kogus="2" Ühik="tk">Sibul</Osa> </Koostisosad> </Koostis> </Retsept> <Retsept id="5"> <Nimi>Kanaliha rull</Nimi> <Kirjeldus>Rulli keeratud kanaliha viilud, maitsestatud pipra ja soolaga</Kirjeldus> <Koostis> <Koostisosad> <Osa Kogus="300" Ühik="g">Kanaliha</Osa> <Osa Kogus="1" Ühik="tl">Pipar</Osa> <Osa Kogus="0.5" Ühik="tl">Sool</Osa> </Koostisosad> </Koostis> </Retsept> </Retseptid>
XML skeemifail
<?xml version="1.0" encoding="utf-8"?> <xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="Retseptid"> <xs:complexType> <xs:sequence> <xs:element maxOccurs="unbounded" name="Retsept"> <xs:complexType> <xs:sequence> <xs:element name="Nimi" type="xs:string" /> <xs:element name="Kirjeldus" type="xs:string" /> <xs:element name="Koostis"> <xs:complexType> <xs:sequence> <xs:element name="Koostisosad"> <xs:complexType> <xs:sequence> <xs:element maxOccurs="unbounded" name="Osa"> <xs:complexType> <xs:simpleContent> <xs:extension base="xs:string"> <xs:attribute name="Kogus" type="xs:decimal" use="optional" /> <xs:attribute name="Ühik" type="xs:string" use="optional" /> </xs:extension> </xs:simpleContent> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute name="id" type="xs:unsignedByte" use="required" /> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:schema>
XSL fail 1
<?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="/"> <html> <head> <title>Retseptid</title> </head> <body> <h1>Retseptid</h1> <xsl:for-each select="/Retseptid/Retsept/Nimi"> <xsl:variable name="CurrentNimi" select="."></xsl:variable> <h2> <xsl:value-of select="$CurrentNimi"/> </h2> </xsl:for-each> </body> </html> </xsl:template> </xsl:stylesheet>