Meeskond:InsertNameHere: Difference between revisions
From ICO wiki
Jump to navigationJump to search
No edit summary |
|||
(11 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
==Meeskond== | ==Meeskond== | ||
*Villu Viirsalu | *Villu Viirsalu | ||
==XML== | |||
[http://enos.itcollege.ee/~vviirsal/VR2/Contacts.xml väljund] | |||
===XML=== | ===XML=== | ||
< | <source lang="xml" collapse="true" first-line="2"> | ||
<?xml version="1.0" encoding="utf-8" ?> | <?xml version="1.0" encoding="utf-8" ?> | ||
<?xml-stylesheet type="text/xsl" href="Contacts.xslt"?> | |||
<contacts> | <contacts> | ||
<contact> | |||
<name title="Ms"><![CDATA[Jebediah Kerman]]></name> | |||
<contactInfo> | |||
<infoType type="phone"> | |||
<data type="mobile"><![CDATA[54321557]]></data> | |||
</infoType> | |||
<infoType type="address"> | |||
<data type="work"><![CDATA[Address 87-2]]></data> | |||
<data type="home"><![CDATA[Highlander 5-987-5.23, Mun]]></data> | |||
</infoType> | |||
<infoType type="email"> | |||
<data type="work"><![CDATA[Jeb@kmail.kom]]></data> | |||
<data type="home"><![CDATA[jebDud678@kmail.kom]]></data> | |||
</infoType> | |||
</contactInfo> | |||
<notes /> | |||
<groups> | |||
<group group="friend" /> | |||
<group group="family" /> | |||
</groups> | |||
</contact> | |||
<contact> | |||
<name><![CDATA[Bill Kerman]]></name> | |||
<contactInfo> | |||
<infoType type="email"> | |||
<data><![CDATA[billyboy68@kmail.internet]]></data> | |||
</infoType> | |||
</contactInfo> | |||
<birthday>2000-12-12</birthday> | |||
<notes><![CDATA[these are some notes]]></notes> | |||
<groups> | |||
<group group="work"/> | |||
</groups> | |||
</contact> | |||
<contact> | |||
<name><![CDATA[Bob Kerman]]></name> | |||
<contactInfo> | |||
<infoType type="address"> | |||
<data><![CDATA[KSS]]></data> | |||
</infoType> | |||
<infoType type="phone"> | |||
<data><![CDATA[0118 999 881 999 119 7253]]></data> | |||
</infoType> | |||
</contactInfo> | |||
<notes/> | |||
<groups/> | |||
</contact> | |||
</contacts> | </contacts> | ||
</ | </source> | ||
===XSD=== | ===XSD=== | ||
<source lang="xml" collapse="true" first-line="2"> | |||
<?xml version="1.0" encoding="utf-8"?> | <?xml version="1.0" encoding="utf-8"?> | ||
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema"> | <xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema"> | ||
<xs:element name="contacts"> | |||
<xs:complexType> | |||
<xs:sequence> | <xs:sequence> | ||
<xs:element maxOccurs="unbounded" name="contact"> | |||
<xs:complexType> | |||
<xs:sequence> | <xs:sequence> | ||
<xs:element name="name"> | |||
<xs:complexType> | |||
<xs:simpleContent> | |||
<xs:extension base="xs:string"> | |||
<xs:attribute name="title" type="xs:string" use="optional" /> | |||
</xs:extension> | |||
</xs:simpleContent> | |||
</xs:complexType> | |||
</xs:element> | |||
<xs:element name="contactInfo"> | |||
<xs:complexType> | |||
<xs:sequence> | |||
<xs:element minOccurs="0" maxOccurs="unbounded" name="infoType"> | |||
<xs:complexType> | |||
<xs:sequence> | |||
<xs:element maxOccurs="unbounded" name="data"> | |||
<xs:complexType> | |||
<xs:simpleContent> | |||
<xs:extension base="xs:string"> | |||
<xs:attribute name="type" type="xs:string" use="optional" /> | |||
</xs:extension> | |||
</xs:simpleContent> | |||
</xs:complexType> | |||
</xs:element> | |||
</xs:sequence> | |||
<xs:attribute name="type" type="xs:string" use="required" /> | |||
</xs:complexType> | |||
</xs:element> | |||
</xs:sequence> | |||
</xs:complexType> | |||
</xs:element> | |||
<xs:element minOccurs="0" name="birthday" type="xs:date"/> | |||
<xs:element name="notes" /> | |||
<xs:element name="groups"> | |||
<xs:complexType> | |||
<xs:sequence> | |||
<xs:element minOccurs="0" maxOccurs="unbounded" name="group"> | |||
<xs:complexType> | |||
<xs:attribute name="group" type="xs:string" use="required" /> | |||
</xs:complexType> | |||
</xs:element> | |||
</xs:sequence> | |||
</xs:complexType> | |||
</xs:element> | |||
</xs:sequence> | </xs:sequence> | ||
</xs:complexType> | |||
</xs:element> | |||
</xs:sequence> | </xs:sequence> | ||
</xs:complexType> | |||
</xs:element> | |||
</xs:schema> | </xs:schema> | ||
</ | </source> | ||
===XSLT=== | |||
<source lang="xml" collapse="true" first-line="2"> | |||
<?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> | |||
<title>Contacts</title> | |||
<body> | |||
<h2>Contacts</h2> | |||
<table border="1"> | |||
<!--header--> | |||
<tr> | |||
<th>Name</th> | |||
<th>Birthday</th> | |||
<th>Phone</th> | |||
<th>Email</th> | |||
<th>Address</th> | |||
<th>Notes</th> | |||
<th>Groups</th> | |||
</tr> | |||
<!--else row--> | |||
<!--for each contact in contacts--> | |||
<xsl:for-each select="contacts/contact"> | |||
<!--row--> | |||
<tr> | |||
<!--name--> | |||
<td> | |||
<xsl:value-of select="name"/> | |||
</td> | |||
<!--birthday--> | |||
<td> | |||
<xsl:value-of select="birthday"/> | |||
</td> | |||
<!--phones--> | |||
<td> | |||
<ul> | |||
<xsl:for-each select="contactInfo/infoType[@type='phone']/data"> | |||
<li> | |||
<xsl:value-of select="."/> | |||
</li> | |||
</xsl:for-each> | |||
</ul> | |||
</td> | |||
<!--emails--> | |||
<td> | |||
<ul> | |||
<xsl:for-each select="contactInfo/infoType[@type='email']/data"> | |||
<li> | |||
<xsl:value-of select="." /> | |||
</li> | |||
</xsl:for-each> | |||
</ul> | |||
</td> | |||
<!--addresses--> | |||
<td> | |||
<ul> | |||
<xsl:for-each select="contactInfo/infoType[@type='address']/data"> | |||
<li> | |||
<xsl:value-of select="." /> | |||
</li> | |||
</xsl:for-each> | |||
</ul> | |||
</td> | |||
<!--notes--> | |||
<td> | |||
<xsl:value-of select="notes"/> | |||
</td> | |||
<!--groups--> | |||
<td> | |||
<ul> | |||
<xsl:for-each select="groups/group"> | |||
<li> | |||
<xsl:value-of select="@group" /> | |||
</li> | |||
</xsl:for-each> | |||
</ul> | |||
</td> | |||
</tr> | |||
</xsl:for-each> | |||
<!--end of contact in contacts--> | |||
</table> | |||
</body> | |||
</html> | |||
</xsl:template> | |||
</xsl:stylesheet> | |||
</source> | |||
==Veebiteenus== | |||
===Analüüs=== | |||
Tegemist on telefoniraamatu teenusega. Kasutaja saab lisada kontakte, neid muuta ning otsida. On olemas tavakasutaja kes pääseb ligi vaid enda kontaktiraamatule ning administraator kes saab jälgida lehekülje statistikat, luua piiranguid (nt gruppide hulgale) ning vajadusel kustutada kasutajaid. | |||
====Must have==== | |||
*kasutaja | |||
**registeerimine | |||
**sisse logimine | |||
**andmed | |||
*kasutajastatistika | |||
*kontaktid | |||
**lisamine | |||
**otsimine | |||
**grupid | |||
**andmed | |||
***liigid | |||
**notes | |||
====Nice to have==== | |||
*kasutaja | |||
**profiil | |||
***pilt | |||
*kontakt | |||
**pildi kuvamine | |||
**varia kuvamine | |||
*friendShare™ - jaga enda kontakte teiste inimestega | |||
====ERD==== | |||
[[File:Graafik.png]] | |||
==Klientrakendused== |
Latest revision as of 12:47, 7 April 2015
Meeskond
- Villu Viirsalu
XML
XML
<?xml version="1.0" encoding="utf-8" ?>
<?xml-stylesheet type="text/xsl" href="Contacts.xslt"?>
<contacts>
<contact>
<name title="Ms"><![CDATA[Jebediah Kerman]]></name>
<contactInfo>
<infoType type="phone">
<data type="mobile"><![CDATA[54321557]]></data>
</infoType>
<infoType type="address">
<data type="work"><![CDATA[Address 87-2]]></data>
<data type="home"><![CDATA[Highlander 5-987-5.23, Mun]]></data>
</infoType>
<infoType type="email">
<data type="work"><![CDATA[Jeb@kmail.kom]]></data>
<data type="home"><![CDATA[jebDud678@kmail.kom]]></data>
</infoType>
</contactInfo>
<notes />
<groups>
<group group="friend" />
<group group="family" />
</groups>
</contact>
<contact>
<name><![CDATA[Bill Kerman]]></name>
<contactInfo>
<infoType type="email">
<data><![CDATA[billyboy68@kmail.internet]]></data>
</infoType>
</contactInfo>
<birthday>2000-12-12</birthday>
<notes><![CDATA[these are some notes]]></notes>
<groups>
<group group="work"/>
</groups>
</contact>
<contact>
<name><![CDATA[Bob Kerman]]></name>
<contactInfo>
<infoType type="address">
<data><![CDATA[KSS]]></data>
</infoType>
<infoType type="phone">
<data><![CDATA[0118 999 881 999 119 7253]]></data>
</infoType>
</contactInfo>
<notes/>
<groups/>
</contact>
</contacts>
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="contacts">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="contact">
<xs:complexType>
<xs:sequence>
<xs:element name="name">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="title" type="xs:string" use="optional" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="contactInfo">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" name="infoType">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="data">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="type" type="xs:string" use="optional" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="type" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="birthday" type="xs:date"/>
<xs:element name="notes" />
<xs:element name="groups">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" name="group">
<xs:complexType>
<xs:attribute name="group" type="xs:string" use="required" />
</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
<?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>
<title>Contacts</title>
<body>
<h2>Contacts</h2>
<table border="1">
<!--header-->
<tr>
<th>Name</th>
<th>Birthday</th>
<th>Phone</th>
<th>Email</th>
<th>Address</th>
<th>Notes</th>
<th>Groups</th>
</tr>
<!--else row-->
<!--for each contact in contacts-->
<xsl:for-each select="contacts/contact">
<!--row-->
<tr>
<!--name-->
<td>
<xsl:value-of select="name"/>
</td>
<!--birthday-->
<td>
<xsl:value-of select="birthday"/>
</td>
<!--phones-->
<td>
<ul>
<xsl:for-each select="contactInfo/infoType[@type='phone']/data">
<li>
<xsl:value-of select="."/>
</li>
</xsl:for-each>
</ul>
</td>
<!--emails-->
<td>
<ul>
<xsl:for-each select="contactInfo/infoType[@type='email']/data">
<li>
<xsl:value-of select="." />
</li>
</xsl:for-each>
</ul>
</td>
<!--addresses-->
<td>
<ul>
<xsl:for-each select="contactInfo/infoType[@type='address']/data">
<li>
<xsl:value-of select="." />
</li>
</xsl:for-each>
</ul>
</td>
<!--notes-->
<td>
<xsl:value-of select="notes"/>
</td>
<!--groups-->
<td>
<ul>
<xsl:for-each select="groups/group">
<li>
<xsl:value-of select="@group" />
</li>
</xsl:for-each>
</ul>
</td>
</tr>
</xsl:for-each>
<!--end of contact in contacts-->
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
Veebiteenus
Analüüs
Tegemist on telefoniraamatu teenusega. Kasutaja saab lisada kontakte, neid muuta ning otsida. On olemas tavakasutaja kes pääseb ligi vaid enda kontaktiraamatule ning administraator kes saab jälgida lehekülje statistikat, luua piiranguid (nt gruppide hulgale) ning vajadusel kustutada kasutajaid.
Must have
- kasutaja
- registeerimine
- sisse logimine
- andmed
- kasutajastatistika
- kontaktid
- lisamine
- otsimine
- grupid
- andmed
- liigid
- notes
Nice to have
- kasutaja
- profiil
- pilt
- profiil
- kontakt
- pildi kuvamine
- varia kuvamine
- friendShare™ - jaga enda kontakte teiste inimestega