Rootkit
Meeskonna liikmed
- Jaanus Kääp
XML failid
XML andmefail
<?xml version="1.0" encoding="utf-8" ?> <workout> <workoutInfo> <date>2015-05-22</date> <location>sparta</location> <info><![CDATA[Väga väsinud olemine oli, otsustasin teha ainult 2 harjutust]]></info> </workoutInfo> <exercises> <exercise> <exerciseInfo> <name exerciseId="1">squat</name> <info><![CDATA[Ilma vööta]]></info> </exerciseInfo> <sets> <set nr="1"> <weight unit="kg">110</weight> <goal>5</goal> <reps>5</reps> <rpe>8</rpe> <info/> </set> <set nr="2"> <weight unit="kg">110</weight> <goal>5</goal> <reps>5</reps> <rpe>9</rpe> <info/> </set> <set nr="3"> <weight unit="kg">110</weight> <goal>5</goal> <reps>4</reps> <rpe>9.5</rpe> <info><![CDATA[Viimane oli väga aeglane]]></info> </set> </sets> </exercise> <exercise> <exerciseInfo> <name exerciseId="2">bench press</name> <info><![CDATA[Pausiga]]></info> </exerciseInfo> <sets> <set nr="1"> <weight unit="kg">90</weight> <goal>3</goal> <reps>3</reps> <rpe>8</rpe> <info/> </set> <set nr="2"> <weight unit="kg">90</weight> <goal>3</goal> <reps>3</reps> <rpe>8</rpe> <info/> </set> <set nr="3"> <weight unit="kg">90</weight> <goal>3</goal> <reps>3</reps> <rpe>9</rpe> <info/> </set> <set nr="4"> <weight unit="kg">90</weight> <goal>3</goal> <reps>3</reps> <rpe>9</rpe> <info/> </set> <set nr="5"> <weight unit="kg">90</weight> <goal>3</goal> <reps>2</reps> <rpe>9.5</rpe> <info><![CDATA[Ei riksinud viimast enam üritada]]></info> </set> </sets> </exercise> </exercises> </workout>
XSD fail
<?xml version="1.0" encoding="utf-8"?> <xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="workout"> <xs:complexType> <xs:sequence> <xs:element name="workoutInfo"> <xs:complexType> <xs:sequence> <xs:element type="xs:date" name="date"/> <xs:element type="xs:string" name="location"/> <xs:element type="xs:string" name="info"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="exercises"> <xs:complexType> <xs:sequence> <xs:element name="exercise" maxOccurs="unbounded" minOccurs="0"> <xs:complexType> <xs:sequence> <xs:element name="exerciseInfo"> <xs:complexType> <xs:sequence> <xs:element name="name"> <xs:complexType> <xs:simpleContent> <xs:extension base="xs:string"> <xs:attribute type="xs:unsignedInt" name="exerciseId" use="required"/> </xs:extension> </xs:simpleContent> </xs:complexType> </xs:element> <xs:element type="xs:string" name="info"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="sets"> <xs:complexType> <xs:sequence> <xs:element name="set" maxOccurs="unbounded" minOccurs="0"> <xs:complexType> <xs:sequence> <xs:element name="weight"> <xs:complexType> <xs:simpleContent> <xs:extension base="xs:unsignedInt"> <xs:attribute type="xs:string" name="unit" use="optional"/> </xs:extension> </xs:simpleContent> </xs:complexType> </xs:element> <xs:element type="xs:unsignedInt" name="goal"/> <xs:element type="xs:unsignedInt" name="reps"/> <xs:element type="xs:float" name="rpe"/> <xs:element type="xs:string" name="info"/> </xs:sequence> <xs:attribute type="xs:unsignedInt" name="nr" use="optional"/> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:schema>
XSLT fail
<?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>Tehtud harjutused</Title> </head> <body> <table> <tr> <td><b>Harjutuse nimi</b></td> <td><b>Raskus</b></td> <td><b>Korduste arv</b></td> </tr> <xsl:for-each select="workout/exercises/exercise"> <xsl:variable name="exerciseName" select="exerciseInfo/name"/> <xsl:for-each select="sets/set"> <tr> <td> <xsl:value-of select="$exerciseName"/> </td> <td> <xsl:value-of select="weight"/> </td> <td> <xsl:value-of select="reps"/> </td> </tr> </xsl:for-each> </xsl:for-each> </table> </body> </html> </xsl:template> </xsl:stylesheet>
XML RETSENSIOON
Backbone
XML
XML faili struktuur on loogilise üleehitusega, piisavalt sügav ning mugavalt loetav - erinevad väärtused annavad väga selge ettekujutuse mida mingi atribuut või element tähendab. Struktuur võimaldab ka lihtsalt analüüsi muude vahenditega.
XSD
XSD fail kirjeldab XML struktuuri hästi ning on samuti enam kui piisav. Ainukest küsimust tekitab rowNumber-i tüüp byte. Ei tundu nagu olevat mingit põhjust miks see ei võiks olla int, et katta väga äärmised olukorrad kus ridade arv on üle byte piiride (vähe usutav olukord, aga teoreetiliselt täiesti võimalik).
XSL
XSL fail näitab väga ilusti kuidas on olemasolevast XML struktuurist võimalik ilusti välja eraldada kindlad andmed.
IT
XML
Andmefail on piisavalt sügav ja väga selge ning loogilise ehitusega. Juba kiire pilguheit sellele ei tekita probleeme arusaamise või tõlgendamise osas - samuti tundub see olevat väga lihtne programmi abil analüüsida.
XSD
Skeemifaili kohta ei oskagi midagi muud kirjutada kui et see on täiesti piisav andmefaili struktuuri kirjledamiseks ning on väga selge lugeda.
XSL
XSL näited demonstreerivad väga hästi, kuidas antud andmestruktuuri puhul on väga mugav ja lihtne erinevas vormingus/grupeeringus andmeid väljastada.