Meeskond Qwerty: Difference between revisions

From ICO wiki
Jump to navigationJump to search
No edit summary
No edit summary
Line 103: Line 103:
</xs:schema>
</xs:schema>
</source>
</source>
== Kontrollime XML ja XSLT ==
[http://www.w3schools.com/xsl/tryxslt.asp?xmlfile=cdcatalog&xsltfile=cdcatalog Siin]

Revision as of 22:16, 7 March 2015

Meeskond

  • Andrei Tverskoi
  • Daniil Kulagin
  • Kristjan Kivisild
  • Ilja Andrejev

Valitud teema: Nimede pakkumise teenus

Mõte selles, et luua nimede baas, mille abil pakkuda rakenduse loojale sobiva algusega nimesid. Reaalne rakendus: autocompleter tarvis teenuse pakkumine

Ülesanne

Luua sobiva alguse järgi nimede pakkumise teenus:

  • alates kahetähelisetest algustest pakkuda sobivad nimesid
  • luua võimalus kasutajatel nimesid lisada
  • luua võimalus administraatoril nimesid muuta/kustutada
  • meeste ja naiste nimed peavad olema süsteemis eristatavad
  • luua võimalus, mis võimaldab kuvada populaarseid nimesid
  • luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks
  • luua võimalus, et nimi lisatakse baasi alles siis, kui administraatori õigustega inimene on selleks vastava loa andnud

XML

<?xml version="1.0" encoding="utf-8" ?>

<Inimesed>
  <inimene id="1">
    <eesnimi><![CDATA[Juhan]]></eesnimi>
    <sugu>M</sugu>
    <populaarne><![CDATA[P]]></populaarne>   
  </inimene>   

  <inimene id="2">
    <eesnimi><![CDATA[Peeter]]></eesnimi>
    <sugu>M</sugu>
    <populaarne><![CDATA[P]]></populaarne>
  </inimene>  
  
  <inimene id="3">
    <eesnimi><![CDATA[Maali]]></eesnimi>
    <sugu>N</sugu>
    <populaarne><![CDATA[MP]]></populaarne>
  </inimene>  

  <inimene id="4">
    <eesnimi><![CDATA[Mari]]></eesnimi>
    <sugu>N</sugu>
    <populaarne><![CDATA[MP]]></populaarne>
  </inimene>  
</Inimesed>

XSLT

<?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>Nimed</title>
        </head>
        <body>
       <h1>Nimed:</h1>
          <xsl:for-each select="Inimesed/inimene">
            <h1>
              <xsl:value-of select="eesnimi"/>
            </h1>
          </xsl:for-each> 
        </body>
      </html>
    </xsl:template>
</xsl:stylesheet>

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="Inimesed">
    <xs:complexType>
      <xs:sequence>
        <xs:element maxOccurs="unbounded" name="inimene">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="Otsing">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="eesnimi" type="xs:string" />
                    <xs:element name="sugu" type="xs:string" />
                    <xs:element name="populaarne" type="xs:string" />
                  </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>

Kontrollime XML ja XSLT

Siin