Kirde sai: Difference between revisions
From ICO wiki
Jump to navigationJump to search
Line 6: | Line 6: | ||
==XML/XSD/XSLT== | ==XML/XSD/XSLT== | ||
===XML=== | ===XML=== | ||
Plants with names, needed light conditions etc. | |||
<div class="toccolours mw-collapsible mw-collapsed" style="width:75em"> | <div class="toccolours mw-collapsible mw-collapsed" style="width:75em"> | ||
<source lang="xml"> | <source lang="xml"> | ||
Line 315: | Line 317: | ||
===XSD=== | ===XSD=== | ||
Assigned minOccurs to PLANT and DIM2, changed attribute SpiritAnimal's use to optional and Plants attribute Id to unsignedInt | |||
<div class="toccolours mw-collapsible mw-collapsed" style="width:75em"> | <div class="toccolours mw-collapsible mw-collapsed" style="width:75em"> | ||
<source lang="xml"> | <source lang="xml"> | ||
Line 354: | Line 358: | ||
===XSLT HTML=== | ===XSLT HTML=== | ||
XSLT that returns HTML as output. It creates a table that consists of plants common name, necessary light condition and price. Assigned light conditon necessity is color coded by availability value fulfilling certaing condition. | |||
<div class="toccolours mw-collapsible mw-collapsed" style="width:75em"> | <div class="toccolours mw-collapsible mw-collapsed" style="width:75em"> | ||
<source lang="xml"> | <source lang="xml"> | ||
Line 422: | Line 428: | ||
===XSLT XML=== | ===XSLT XML=== | ||
XSLT that returns XML as output. It sorts plants inside each DIM2 separately and lists only the ones with availability value below 050000. | |||
<div class="toccolours mw-collapsible mw-collapsed" style="width:75em"> | <div class="toccolours mw-collapsible mw-collapsed" style="width:75em"> | ||
<source lang="xml"> | <source lang="xml"> | ||
Line 465: | Line 472: | ||
===Output=== | ===Output=== | ||
Pictures of outputs created by XSLT-s listed above. | |||
<div class="toccolours mw-collapsible mw-collapsed" style="width:75em"> | <div class="toccolours mw-collapsible mw-collapsed" style="width:75em"> | ||
[[File:Plants.png|thumb|left|alt=HTML output of given XSLT HTML|XSLT HTML output]] | [[File:Plants.png|thumb|left|alt=HTML output of given XSLT HTML|XSLT HTML output]] |
Revision as of 19:42, 20 March 2017
Team "Kirde sai"
- Taavi Teearu
XML/XSD/XSLT
XML
Plants with names, needed light conditions etc.
<?xml version="1.0" encoding="utf-8"?>
<!-- Edited with XML Spy v2006 (http://www.altova.com) -->
<CATALOG Id="1" Name="Herbarium">
<DIM2 Id="1" Name="DIM 2.1" >
<PLANT SpiritAnimal="Fox">
<COMMON>Bloodroot</COMMON>
<BOTANICAL>Sanguinaria canadensis</BOTANICAL>
<ZONE>4</ZONE>
<LIGHT>Mostly Shady</LIGHT>
<PRICE>$2.44</PRICE>
<AVAILABILITY>031599</AVAILABILITY>
</PLANT>
<PLANT SpiritAnimal="Squirrel">
<COMMON>Columbine</COMMON>
<BOTANICAL>Aquilegia canadensis</BOTANICAL>
<ZONE>3</ZONE>
<LIGHT>Mostly Shady</LIGHT>
<PRICE>$9.37</PRICE>
<AVAILABILITY>030699</AVAILABILITY>
</PLANT>
<PLANT SpiritAnimal="Rabbit">
<COMMON>Marsh Marigold</COMMON>
<BOTANICAL>Caltha palustris</BOTANICAL>
<ZONE>4</ZONE>
<LIGHT>Mostly Sunny</LIGHT>
<PRICE>$6.81</PRICE>
<AVAILABILITY>051799</AVAILABILITY>
</PLANT>
<PLANT SpiritAnimal="Ant">
<COMMON>Cowslip</COMMON>
<BOTANICAL>Caltha palustris</BOTANICAL>
<ZONE>4</ZONE>
<LIGHT>Mostly Shady</LIGHT>
<PRICE>$9.90</PRICE>
<AVAILABILITY>030699</AVAILABILITY>
</PLANT>
<PLANT SpiritAnimal="Elephant">
<COMMON>Dutchman's-Breeches</COMMON>
<BOTANICAL>Dicentra cucullaria</BOTANICAL>
<ZONE>3</ZONE>
<LIGHT>Mostly Shady</LIGHT>
<PRICE>$6.44</PRICE>
<AVAILABILITY>012099</AVAILABILITY>
</PLANT>
</DIM2>
<DIM2 Id="2" Name="DIM 2.2">
<PLANT SpiritAnimal="Fox">
<COMMON>Ginger, Wild</COMMON>
<BOTANICAL>Asarum canadense</BOTANICAL>
<ZONE>3</ZONE>
<LIGHT>Mostly Shady</LIGHT>
<PRICE>$9.03</PRICE>
<AVAILABILITY>041899</AVAILABILITY>
</PLANT>
<PLANT SpiritAnimal="Rat">
<COMMON>Hepatica</COMMON>
<BOTANICAL>Hepatica americana</BOTANICAL>
<ZONE>4</ZONE>
<LIGHT>Mostly Shady</LIGHT>
<PRICE>$4.45</PRICE>
<AVAILABILITY>012699</AVAILABILITY>
</PLANT>
<PLANT SpiritAnimal="Hippo">
<COMMON>Liverleaf</COMMON>
<BOTANICAL>Hepatica americana</BOTANICAL>
<ZONE>4</ZONE>
<LIGHT>Mostly Shady</LIGHT>
<PRICE>$3.99</PRICE>
<AVAILABILITY>010299</AVAILABILITY>
</PLANT>
<PLANT SpiritAnimal="Lion">
<COMMON>Jack-In-The-Pulpit</COMMON>
<BOTANICAL>Arisaema triphyllum</BOTANICAL>
<ZONE>4</ZONE>
<LIGHT>Mostly Shady</LIGHT>
<PRICE>$3.23</PRICE>
<AVAILABILITY>020199</AVAILABILITY>
</PLANT>
<PLANT SpiritAnimal="Zebra">
<COMMON>Mayapple</COMMON>
<BOTANICAL>Podophyllum peltatum</BOTANICAL>
<ZONE>3</ZONE>
<LIGHT>Mostly Shady</LIGHT>
<PRICE>$2.98</PRICE>
<AVAILABILITY>060599</AVAILABILITY>
</PLANT>
<PLANT SpiritAnimal="Alien">
<COMMON>Phlox, Woodland</COMMON>
<BOTANICAL>Phlox divaricata</BOTANICAL>
<ZONE>3</ZONE>
<LIGHT>Sun or Shade</LIGHT>
<PRICE>$2.80</PRICE>
<AVAILABILITY>012299</AVAILABILITY>
</PLANT>
<PLANT SpiritAnimal="Beaver">
<COMMON>Phlox, Blue</COMMON>
<BOTANICAL>Phlox divaricata</BOTANICAL>
<ZONE>3</ZONE>
<LIGHT>Sun or Shade</LIGHT>
<PRICE>$5.59</PRICE>
<AVAILABILITY>021699</AVAILABILITY>
</PLANT>
<PLANT SpiritAnimal="Moose">
<COMMON>Spring-Beauty</COMMON>
<BOTANICAL>Claytonia Virginica</BOTANICAL>
<ZONE>7</ZONE>
<LIGHT>Mostly Shady</LIGHT>
<PRICE>$6.59</PRICE>
<AVAILABILITY>020199</AVAILABILITY>
</PLANT>
<PLANT SpiritAnimal="Monkey">
<COMMON>Trillium</COMMON>
<BOTANICAL>Trillium grandiflorum</BOTANICAL>
<ZONE>5</ZONE>
<LIGHT>Sun or Shade</LIGHT>
<PRICE>$3.90</PRICE>
<AVAILABILITY>042999</AVAILABILITY>
</PLANT>
<PLANT SpiritAnimal="Snake">
<COMMON>Wake Robin</COMMON>
<BOTANICAL>Trillium grandiflorum</BOTANICAL>
<ZONE>5</ZONE>
<LIGHT>Sun or Shade</LIGHT>
<PRICE>$3.20</PRICE>
<AVAILABILITY>022199</AVAILABILITY>
</PLANT>
<PLANT SpiritAnimal="Frog">
<COMMON>Violet, Dog-Tooth</COMMON>
<BOTANICAL>Erythronium americanum</BOTANICAL>
<ZONE>4</ZONE>
<LIGHT>Shade</LIGHT>
<PRICE>$9.04</PRICE>
<AVAILABILITY>020199</AVAILABILITY>
</PLANT>
<PLANT SpiritAnimal="Dragon">
<COMMON>Trout Lily</COMMON>
<BOTANICAL>Erythronium americanum</BOTANICAL>
<ZONE>4</ZONE>
<LIGHT>Shade</LIGHT>
<PRICE>$6.94</PRICE>
<AVAILABILITY>032499</AVAILABILITY>
</PLANT>
<PLANT SpiritAnimal="Shrek">
<COMMON>Adder's-Tongue</COMMON>
<BOTANICAL>Erythronium americanum</BOTANICAL>
<ZONE>4</ZONE>
<LIGHT>Shade</LIGHT>
<PRICE>$9.58</PRICE>
<AVAILABILITY>041399</AVAILABILITY>
</PLANT>
<PLANT SpiritAnimal="Cyclope">
<COMMON>Anemone</COMMON>
<BOTANICAL>Anemone blanda</BOTANICAL>
<ZONE>6</ZONE>
<LIGHT>Mostly Shady</LIGHT>
<PRICE>$8.86</PRICE>
<AVAILABILITY>122698</AVAILABILITY>
</PLANT>
<PLANT SpiritAnimal="Tiger">
<COMMON>Grecian Windflower</COMMON>
<BOTANICAL>Anemone blanda</BOTANICAL>
<ZONE>6</ZONE>
<LIGHT>Mostly Shady</LIGHT>
<PRICE>$9.16</PRICE>
<AVAILABILITY>071099</AVAILABILITY>
</PLANT>
</DIM2>
<DIM2 Id="3" Name="DIM 2.3">
<PLANT SpiritAnimal="Cat">
<COMMON>Bee Balm</COMMON>
<BOTANICAL>Monarda didyma</BOTANICAL>
<ZONE>4</ZONE>
<LIGHT>Shade</LIGHT>
<PRICE>$4.59</PRICE>
<AVAILABILITY>050399</AVAILABILITY>
</PLANT>
<PLANT SpiritAnimal="Dog">
<COMMON>Bergamot</COMMON>
<BOTANICAL>Monarda didyma</BOTANICAL>
<ZONE>4</ZONE>
<LIGHT>Shade</LIGHT>
<PRICE>$7.16</PRICE>
<AVAILABILITY>042799</AVAILABILITY>
</PLANT>
<PLANT SpiritAnimal="Cow">
<COMMON>Black-Eyed Susan</COMMON>
<BOTANICAL>Rudbeckia hirta</BOTANICAL>
<ZONE>Annual</ZONE>
<LIGHT>Sunny</LIGHT>
<PRICE>$9.80</PRICE>
<AVAILABILITY>061899</AVAILABILITY>
</PLANT>
<PLANT SpiritAnimal="Pig">
<COMMON>Buttercup</COMMON>
<BOTANICAL>Ranunculus</BOTANICAL>
<ZONE>4</ZONE>
<LIGHT>Shade</LIGHT>
<PRICE>$2.57</PRICE>
<AVAILABILITY>061099</AVAILABILITY>
</PLANT>
<PLANT SpiritAnimal="Dolphin">
<COMMON>Crowfoot</COMMON>
<BOTANICAL>Ranunculus</BOTANICAL>
<ZONE>4</ZONE>
<LIGHT>Shade</LIGHT>
<PRICE>$9.34</PRICE>
<AVAILABILITY>040399</AVAILABILITY>
</PLANT>
<PLANT SpiritAnimal="Blue whale">
<COMMON>Butterfly Weed</COMMON>
<BOTANICAL>Asclepias tuberosa</BOTANICAL>
<ZONE>Annual</ZONE>
<LIGHT>Sunny</LIGHT>
<PRICE>$2.78</PRICE>
<AVAILABILITY>063099</AVAILABILITY>
</PLANT>
<PLANT SpiritAnimal="Donkey">
<COMMON>Cinquefoil</COMMON>
<BOTANICAL>Potentilla</BOTANICAL>
<ZONE>Annual</ZONE>
<LIGHT>Shade</LIGHT>
<PRICE>$7.06</PRICE>
<AVAILABILITY>052599</AVAILABILITY>
</PLANT>
</DIM2>
<DIM2 Id="4" Name="DIM 2.4">
<PLANT SpiritAnimal="Mouse">
<COMMON>Primrose</COMMON>
<BOTANICAL>Oenothera</BOTANICAL>
<ZONE>3 - 5</ZONE>
<LIGHT>Sunny</LIGHT>
<PRICE>$6.56</PRICE>
<AVAILABILITY>013099</AVAILABILITY>
</PLANT>
<PLANT SpiritAnimal="Horse">
<COMMON>Gentian</COMMON>
<BOTANICAL>Gentiana</BOTANICAL>
<ZONE>4</ZONE>
<LIGHT>Sun or Shade</LIGHT>
<PRICE>$7.81</PRICE>
<AVAILABILITY>051899</AVAILABILITY>
</PLANT>
<PLANT SpiritAnimal="Wolf">
<COMMON>Blue Gentian</COMMON>
<BOTANICAL>Gentiana</BOTANICAL>
<ZONE>4</ZONE>
<LIGHT>Sun or Shade</LIGHT>
<PRICE>$8.56</PRICE>
<AVAILABILITY>050299</AVAILABILITY>
</PLANT>
<PLANT SpiritAnimal="Bear">
<COMMON>Jacob's Ladder</COMMON>
<BOTANICAL>Polemonium caeruleum</BOTANICAL>
<ZONE>Annual</ZONE>
<LIGHT>Shade</LIGHT>
<PRICE>$9.26</PRICE>
<AVAILABILITY>022199</AVAILABILITY>
</PLANT>
<PLANT SpiritAnimal="Lynx">
<COMMON>Greek Valerian</COMMON>
<BOTANICAL>Polemonium caeruleum</BOTANICAL>
<ZONE>Annual</ZONE>
<LIGHT>Shade</LIGHT>
<PRICE>$4.36</PRICE>
<AVAILABILITY>071499</AVAILABILITY>
</PLANT>
<PLANT SpiritAnimal="Deer">
<COMMON>California Poppy</COMMON>
<BOTANICAL>Eschscholzia californica</BOTANICAL>
<ZONE>Annual</ZONE>
<LIGHT>Sun</LIGHT>
<PRICE>$7.89</PRICE>
<AVAILABILITY>032799</AVAILABILITY>
</PLANT>
<PLANT SpiritAnimal="Kangaroo">
<COMMON>Shooting Star</COMMON>
<BOTANICAL>Dodecatheon</BOTANICAL>
<ZONE>Annual</ZONE>
<LIGHT>Mostly Shady</LIGHT>
<PRICE>$8.60</PRICE>
<AVAILABILITY>051399</AVAILABILITY>
</PLANT>
</DIM2>
<DIM2 Id="5" Name="DIM 2.5">
<PLANT SpiritAnimal="Lamb">
<COMMON>Snakeroot</COMMON>
<BOTANICAL>Cimicifuga</BOTANICAL>
<ZONE>Annual</ZONE>
<LIGHT>Shade</LIGHT>
<PRICE>$5.63</PRICE>
<AVAILABILITY>071199</AVAILABILITY>
</PLANT>
<PLANT SpiritAnimal="Leopard">
<COMMON>Cardinal Flower</COMMON>
<BOTANICAL>Lobelia cardinalis</BOTANICAL>
<ZONE>2</ZONE>
<LIGHT>Shade</LIGHT>
<PRICE>$3.02</PRICE>
<AVAILABILITY>022299</AVAILABILITY>
</PLANT>
</DIM2>
</CATALOG>
XSD
Assigned minOccurs to PLANT and DIM2, changed attribute SpiritAnimal's use to optional and Plants attribute Id to unsignedInt
<?xml version="1.0" encoding="utf-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="CATALOG">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="1" maxOccurs="unbounded" name="DIM2">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="1" maxOccurs="unbounded" name="PLANT">
<xs:complexType>
<xs:sequence>
<xs:element name="COMMON" type="xs:string" />
<xs:element name="BOTANICAL" type="xs:string" />
<xs:element name="ZONE" type="xs:string" />
<xs:element name="LIGHT" type="xs:string" />
<xs:element name="PRICE" type="xs:string" />
<xs:element name="AVAILABILITY" type="xs:unsignedInt" />
</xs:sequence>
<xs:attribute name="SpiritAnimal" type="xs:string" use="optional" />
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="Id" type="xs:unsignedInt" use="required" />
<xs:attribute name="Name" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="Id" type="xs:unsignedInt" use="required" />
<xs:attribute name="Name" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
</xs:schema>
XSLT HTML
XSLT that returns HTML as output. It creates a table that consists of plants common name, necessary light condition and price. Assigned light conditon necessity is color coded by availability value fulfilling certaing condition.
<?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>
<body>
<h1>My plants</h1>
<h4>Color coded by value of availability fitting in range</h4>
<table>
<tr>
<td width="300px">
<b>Common name</b>
</td>
<td width="100px" bgcolor="yellow">
<b>Light contitions</b>
</td>
<td width="70px">
<b>Dollar tokens</b>
</td>
</tr>
<xsl:for-each select="/CATALOG/DIM2/PLANT">
<tr>
<td width="300px">
<xsl:value-of select="COMMON"/>
</td>
<xsl:choose>
<xsl:when test="./AVAILABILITY < 020000">
<td width="150px" bgcolor="orange">
<xsl:value-of select="LIGHT"/>
</td>
</xsl:when>
<xsl:when test="./AVAILABILITY < 030000">
<td width="150px" bgcolor="green">
<xsl:value-of select="LIGHT"/>
</td>
</xsl:when>
<xsl:when test="./AVAILABILITY < 050000">
<td width="150px" bgcolor="blue">
<xsl:value-of select="LIGHT"/>
</td>
</xsl:when>
<xsl:otherwise>
<td width="150px">
<xsl:value-of select="LIGHT"/>
</td>
</xsl:otherwise>
</xsl:choose>
<td width="70px">
<xsl:value-of select="PRICE"/>
</td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
XSLT XML
XSLT that returns XML as output. It sorts plants inside each DIM2 separately and lists only the ones with availability value below 050000.
<?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="xml" indent="yes"/>
<xsl:template match="/">
<html>
<body>
<h1>Plants sorted by availability in separate XML dimensions. Only entries with availability below 050000 are shown.</h1>
<xsl:for-each select="/CATALOG/DIM2">
<h3>
<xsl:value-of select="@Name"/>
</h3>
<ol>
<xsl:for-each select="PLANT">
<xsl:sort select="AVAILABILITY"/>
<xsl:for-each select=".">
<xsl:variable name="av" select="050000"/>
<xsl:if test="./AVAILABILITY < $av">
<li>
<b>
<xsl:value-of select="BOTANICAL"/>
</b><br/>
Availability: <xsl:value-of select="AVAILABILITY"/><br/>
Zone: <xsl:value-of select="ZONE"/>
</li>
</xsl:if>
</xsl:for-each>
</xsl:for-each>
</ol>
</xsl:for-each>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
Output
Pictures of outputs created by XSLT-s listed above.