Mjart: Difference between revisions

From ICO wiki
Jump to navigationJump to search
No edit summary
Line 209: Line 209:
Klientrakendus peab võimaldama järgnevat:
Klientrakendus peab võimaldama järgnevat:


Lisada vähemalt ühte tüüpi kinnisvara (kui aega jääb üle, siis võib neid rohkem kui üks olla)
# Lisada vähemalt ühte tüüpi kinnisvara (kui aega jääb üle, siis võib neid rohkem kui üks olla)
Tagastada ühe kinnisvara andmeid
# Tagastada ühe kinnisvara andmeid
Muuta ühe kinnisvara andmeid
# Muuta ühe kinnisvara andmeid
Kustutada ühe kinnisvara
# Kustutada ühe kinnisvara
Tagastada mitu kinnisvara, ning neid filtreerida
# Tagastada mitu kinnisvara, ning neid filtreerida
Tagastada ühe inimesega seotud kinnisvara, kus inimene on müüjaks
# Tagastada ühe inimesega seotud kinnisvara, kus inimene on müüjaks
Tagastada ühe inimesega kõik seotud kinnisvara, mida inimene müüb
# Tagastada ühe inimesega kõik seotud kinnisvara, mida inimene müüb
Lisada inimesi
# Lisada inimesi
Kustutada inimesi
# Kustutada inimesi
Muuta ja lugeda inimesi
# Muuta ja lugeda inimesi
Lisada kinnisvara inimesele
# Lisada kinnisvara inimesele
Eemaldada inimese ja kinnisvara seost
# Eemaldada inimese ja kinnisvara seost

Revision as of 20:29, 19 April 2017

Sissejuhatus

Sellel lehel saab olema meeskonna Mjart projekt ja sellega seonduvad failid,dokumendid.

Meeskond

Märt Häkkinen - Arendaja, testija ja projektijuht

XML

<?xml version="1.0" encoding="utf-8" ?>
<ArmedForces>
  <Vehicles type="MotorVehicles" name="Motor Vehicles" description="contains trucks,cars">
    <Vehicle id="1" type="multipurpose wheeled vehicle" cost="220000" currency="$" active="true">
      <Name><![CDATA[HMMWV M1025]]></Name>
      <ImageUrl type="absolute">
        <![CDATA[http://www.cgsociety.org/cgsarchive/newgallerycrits/g20/198120/198120_1269734620_large.jpg]]>
      </ImageUrl>
    </Vehicle>
    <Vehicle id="2" type="truck" cost="170000" currency="$" active="true">
      <Name><![CDATA[M939]]></Name>
      <ImageUrl type="absolute">
        <![CDATA[https://upload.wikimedia.org/wikipedia/commons/6/67/US_Marine_Corps_030224-M-XT622-034_USMC_M923_(6X6)_5-ton_cargo_truck_heads_a_convoy_departing_Camp_Matilda,_Kuwait_crop.jpg]]>
      </ImageUrl>
    </Vehicle>
  </Vehicles>
  <Vehicles type="Armoured" name="Armoured Vehicles" description="contains armoured vehicles, such as tanks, anti aircraft weapons systems, AFVs">
    <Vehicle id="3" type="tank" name="M1A2 ABRAMS" cost="6200000" currency="$" active="true">
      <Name><![CDATA[M1A1 ABRAMS]]></Name>
      <ImageUrl type="absolute">
        <![CDATA[http://www.military-today.com/tanks/m1a2_abrams.jpg]]>
      </ImageUrl>
    </Vehicle>
    <Vehicle id="4" type="armoured fighting vehicle" cost="4900000" currency="$" active="true">
      <Name><![CDATA[Stryker]]></Name>
      <ImageUrl type="absolute">
        <![CDATA[https://upload.wikimedia.org/wikipedia/commons/5/51/Stryker_ICV_front_q.jpg]]>
      </ImageUrl>
    </Vehicle>
    <Vehicle id="5" type="self-propelled anti-aircraft weapon system" cost="3500000" currency="$" active="false">
      <Name><![CDATA[M163 VADS]]></Name>
      <ImageUrl type="absolute">
        <![CDATA[http://afvdb.50megs.com/usa/pics/vadsside.jpg]]>
      </ImageUrl>
    </Vehicle>
  </Vehicles>
  <Vehicles type="Watercraft" name="Watercrafts" description="contains ships,boats and submarines">
    <Vehicle id="6" type="destroyer" cost="1200000000" currency="£" active="true">
      <Name><![CDATA[HMS Daring]]></Name>
      <ImageUrl type="relative">
        <![CDATA[/commons/thumb/c/c9/Royal_Navy_Type_45_Destroyer_HMS_Daring_MOD_45153705.jpg/1280px-Royal_Navy_Type_45_Destroyer_HMS_Daring_MOD_45153705.jpg]]>
      </ImageUrl>
    </Vehicle>
    <Vehicle id="7" type="submarine" cost="1000000000" currency="£" active="true">
      <Name><![CDATA[HMS Artful]]></Name>
      <ImageUrl type="absolute">
        <![CDATA[http://blogs.plymouth.ac.uk/dcss/wp-content/uploads/sites/50/2016/03/HMS-Artful-S121.jpg]]>
      </ImageUrl>
    </Vehicle>
  </Vehicles>
</ArmedForces>


XSD

<?xml version="1.0" encoding="utf-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="ArmedForces">
    <xs:complexType>
      <xs:sequence>
        <xs:element maxOccurs="5" name="Vehicles">
          <xs:complexType>
            <xs:sequence>
              <xs:element maxOccurs="4096" name="Vehicle">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="Name" type="xs:string" />
                    <xs:element name="ImageUrl">
                      <xs:complexType>
                        <xs:simpleContent>
                          <xs:extension base="xs:string">
                            <xs:attribute name="type" type="xs:string" use="required" />
                          </xs:extension>
                        </xs:simpleContent>
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                  <xs:attribute name="id" type="xs:unsignedInt" use="required" />
                  <xs:attribute name="type" type="xs:string" use="required" />
                  <xs:attribute name="cost" type="xs:unsignedInt" use="required" />
                  <xs:attribute name="currency" type="xs:string" use="required" />
                  <xs:attribute name="active" type="xs:boolean" use="required" />
                  <xs:attribute name="name" type="xs:string" use="optional" />
                </xs:complexType>
              </xs:element>
            </xs:sequence>
            <xs:attribute name="type" type="xs:string" use="required" />
            <xs:attribute name="name" type="xs:string" use="required" />
            <xs:attribute name="description" type="xs:string" use="required" />
          </xs:complexType>
        </xs:element>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>

XSLT I

<?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></head>
      <body>
        <h1>Vehicles</h1>
        <ul>
          <xsl:for-each select="/ArmedForces/Vehicles">
            <h1>
              <xsl:value-of select="@type"/>
            </h1>
            <xsl:for-each select="Vehicle">
            <h2>
              Type of vehicle : <xsl:value-of select="@type"/>
            </h2>
            <h3>
              Name of vehicle : <xsl:value-of select="Name/."/>
            </h3>
            <xsl:variable name="url" select="ImageUrl"/>
            <xsl:variable name="urlType" select="ImageUrl/@type"/>
            <xsl:if test=" $urlType = 'absolute'">
              <img>
                <xsl:attribute name="height">
                  200px
                </xsl:attribute>
                <xsl:attribute name="src">
                  <xsl:value-of select="$url"/>
                </xsl:attribute>
              </img>
            </xsl:if>
            <xsl:if test=" $urlType != 'absolute'">
              search for img in local dir
            </xsl:if>
          </xsl:for-each>
          </xsl:for-each>
        </ul>
      </body>
    </html>
  </xsl:template>
</xsl:stylesheet>

XSLT II

<?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></head>
      <body>
        <h1>Vehicles</h1>
        <ul>
          <xsl:for-each select="/ArmedForces/Vehicles">
            <h1>
              <xsl:value-of select="@name"/>
            </h1>
            Total vehicles : <xsl:value-of select="count(Vehicle)" />
            <br></br>
            <xsl:variable name="inactiveCount" select="count(Vehicle[@active='true'])"></xsl:variable>
            Total active vehicles : <xsl:value-of select="$inactiveCount" />
            <br></br>
            Total inactive vehicles : <xsl:value-of select="count(Vehicle[@active!='true'])" />
            <xsl:if test="$inactiveCount>0">
              <xsl:for-each select="Vehicle">
                <xsl:if test="@active!='true'">
                  <br></br>
                   Inactive unit ID:
                  <xsl:value-of select="@id"/>
                  <br></br>
                  Inactive unit Name:
                  <xsl:value-of select="Name"/>
                </xsl:if>
              </xsl:for-each>
            </xsl:if>
            <br></br>            
            <xsl:for-each select="Vehicle">
          </xsl:for-each>
          </xsl:for-each>
        </ul>
      </body>
    </html>
  </xsl:template>
</xsl:stylesheet>

Veebiteenuse analüüs

Plaan on luua veebiteenus ühele kinnisvara veebilehele.

Klientrakendus peab võimaldama järgnevat:

  1. Lisada vähemalt ühte tüüpi kinnisvara (kui aega jääb üle, siis võib neid rohkem kui üks olla)
  2. Tagastada ühe kinnisvara andmeid
  3. Muuta ühe kinnisvara andmeid
  4. Kustutada ühe kinnisvara
  5. Tagastada mitu kinnisvara, ning neid filtreerida
  6. Tagastada ühe inimesega seotud kinnisvara, kus inimene on müüjaks
  7. Tagastada ühe inimesega kõik seotud kinnisvara, mida inimene müüb
  8. Lisada inimesi
  9. Kustutada inimesi
  10. Muuta ja lugeda inimesi
  11. Lisada kinnisvara inimesele
  12. Eemaldada inimese ja kinnisvara seost