Team Echo: Difference between revisions
From ICO wiki
Jump to navigationJump to search
No edit summary |
No edit summary |
||
Line 10: | Line 10: | ||
==XML== | ==XML== | ||
<source lang="xml"> | <source lang="xml"> | ||
<?xml version="1.0" encoding="utf-8" ?> | |||
<?xml version="1.0" encoding="utf-8" ?> | <?xml-stylesheet type="text/xsl" href="Echo-html.xslt"?> | ||
<?xml-stylesheet type="text/xsl" href="Echo-html.xslt"?> | <echo> | ||
<echo> | <videos> | ||
<video id="1" view-count="69" author-id="1"> | |||
<title>Mihkli rännak</title> | |||
<streams> | |||
<stream type="primary"> | |||
<stream-url mime-type="video/webm">https://u.wut.ee/ookutsu.webm</stream-url> | |||
<stream-url mime-type="audio/mp3">https://media/id/audio.mp3</stream-url> | |||
<stream-url mime-type="video/mp4">https://media/id/video.mp4</stream-url> | |||
</stream> | |||
<stream type="secondary"> | |||
<stream-url mime-type="audio/*">https://media/id/audio2</stream-url> | |||
</stream> | |||
</streams> | |||
<metadata> | |||
<description> | |||
Väga kurb | |||
</description> | |||
</metadata> | |||
<comments> | |||
<comment author-id="1" post-timestamp="1489683470"> | |||
Norm värk | |||
</comment> | |||
</comments> | |||
</video> | |||
<video id="2" view-count="69" author-id="2"> | |||
<title>Lahe video</title> | |||
<streams> | |||
<stream type="primary"> | |||
<stream-url mime-type="video/webm">https://u.wut.ee/youfuckedup.webm</stream-url> | |||
<stream-url mime-type="audio/mp3">https://media/id/audio.mp3</stream-url> | |||
<stream-url mime-type="video/mp4">https://media/id/video.mp4</stream-url> | |||
</stream> | |||
<stream type="secondary"> | |||
<stream-url mime-type="audio/*">https://media/id/audio2</stream-url> | |||
</stream> | |||
</streams> | |||
<metadata> | |||
<description> | |||
See on väga äge video on see | |||
</description> | |||
</metadata> | |||
<comments> | |||
<comment author-id="1" post-timestamp="1489683470"> | |||
Norm värk | |||
</comment> | |||
<comment author-id="2" post-timestamp="1489683470"> | |||
Norm värk 2 | |||
</comment> | |||
</comment> | </comments> | ||
</comments> | </video> | ||
<video id="3" view-count="69" author-id="3"> | |||
<title>Nalja kah</title> | |||
<streams> | |||
<stream type="primary"> | |||
<stream-url mime-type="video/webm">https://u.wut.ee/perlvspython.webm</stream-url> | |||
<stream-url mime-type="audio/mp3">https://media/id/audio.mp3</stream-url> | |||
<stream-url mime-type="video/mp4">https://media/id/video.mp4</stream-url> | |||
</stream> | |||
<stream type="secondary"> | |||
<stream-url mime-type="audio/*">https://media/id/audio2</stream-url> | |||
</stream> | |||
</streams> | |||
<metadata> | |||
<description> | |||
Väga hea huumor | |||
</description> | |||
</metadata> | |||
<comments> | |||
<comment author-id="1" post-timestamp="1489683470"> | |||
Norm värk | |||
</comment> | |||
</comments> | |||
</video> | |||
<video id="4" view-count="69" author-id="1"> | |||
<title>Arti areng</title> | |||
<streams> | |||
<stream type="primary"> | |||
<stream-url mime-type="video/webm">https://u.wut.ee/sittmissitt.webm</stream-url> | |||
<stream-url mime-type="audio/mp3">https://media/id/audio.mp3</stream-url> | |||
<stream-url mime-type="video/mp4">https://media/id/video.mp4</stream-url> | |||
</stream> | |||
<stream type="secondary"> | |||
<stream-url mime-type="audio/*">https://media/id/audio2</stream-url> | |||
</stream> | |||
</streams> | |||
<metadata> | |||
<description> | |||
Väga kurb | |||
</description> | |||
</metadata> | |||
<comments> | |||
<comment author-id="1" post-timestamp="1489683470"> | |||
Imelik oli | |||
</comment> | |||
</comments> | |||
</video> | |||
<video id="4" view-count="69" author-id="4"> | |||
<title>Oldja laulud</title> | |||
<streams> | |||
<stream type="primary"> | |||
<stream-url mime-type="video/webm">https://u.wut.ee/healtscare.webm</stream-url> | |||
<stream-url mime-type="audio/mp3">https://media/id/audio.mp3</stream-url> | |||
<stream-url mime-type="video/mp4">https://media/id/video.mp4</stream-url> | |||
</stream> | |||
<stream type="secondary"> | |||
<stream-url mime-type="audio/*">https://media/id/audio2</stream-url> | |||
</stream> | |||
</streams> | |||
<metadata> | |||
<description> | |||
Draama Queen | |||
</description> | |||
</metadata> | |||
<comments> | |||
<comment author-id="1" post-timestamp="1489683420"> | |||
Norm värk | |||
</comment> | |||
</comments> | |||
</video> | |||
<video id="4" view-count="69" author-id="5"> | |||
<title>Osa 13 ehk Oolo kadumine</title> | |||
<streams> | |||
<stream type="primary"> | |||
<stream-url mime-type="video/webm">https://u.wut.ee/healtscare.webm</stream-url> | |||
<stream-url mime-type="audio/mp3">https://media/id/audio.mp3</stream-url> | |||
<stream-url mime-type="video/mp4">https://media/id/video.mp4</stream-url> | |||
</stream> | |||
<stream type="secondary"> | |||
<stream-url mime-type="audio/*">https://media/id/audio2</stream-url> | |||
</stream> | |||
</streams> | |||
<metadata> | |||
<description> | |||
Lihtsalt kadus ära | |||
</description> | |||
</metadata> | |||
<comments> | |||
<comment author-id="1" post-timestamp="1489683470"> | |||
Norm värk | |||
</comment> | |||
</ | </comments> | ||
</video> | |||
</ | </videos> | ||
<users> | |||
<user id="1"> | |||
<username>admin</username> | |||
<full-name>Admin</full-name> | |||
</user> | |||
<user id="2"> | |||
<username>oolo</username> | |||
<full-name>Oolo</full-name> | |||
</user> | |||
<user id ="3"> | |||
<username>zirk</username> | |||
<full-name>Hr. Zirk</full-name> | |||
</user> | |||
</users> | |||
<lists> | |||
<list owner-id="1"> | |||
<video id="1" timestamp-added="1489684373"></video> | |||
<video id="3" timestamp-added="1489684379"></video> | |||
</list> | |||
</lists> | |||
</echo> | |||
</source> | |||
==XSLT XML== | ==XSLT XML== | ||
<source lang="xml"> | <source lang="xml"> | ||
<?xml version="1.0" encoding="utf-8"?> | |||
<?xml version="1.0" encoding="utf-8"?> | <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" | ||
<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:output method="xml" indent="yes"/> | ||
<xsl:template match="/"> | |||
<videos> | |||
<xsl:for-each select="echo/videos/video"> | |||
<video> | |||
<xsl:variable name="author-id" select="@author-id"/> | |||
<title> | |||
<xsl:value-of select="title"/> | |||
</title> | |||
<xsl:copy-of select="streams/stream[@type='primary']" /> | |||
<autor> | |||
<xsl:copy-of select="/echo/users/user[@id=$author-id]" /> | |||
</autor> | |||
<description> | |||
<xsl:value-of select="metadata/description"/> | |||
</description> | |||
<comments> | |||
<xsl:for-each select="comments/comment"> | |||
<xsl:variable name="comment-author-id" select="@author-id"/> | |||
<comment> | |||
<text> | |||
<xsl:value-of select="." /> | |||
</text> | |||
<xsl:copy-of select="/echo/users/user[@id=$comment-author-id]/username" /> | |||
<xsl:copy-of select="/echo/users/user[@id=$comment-author-id]/full-name" /> | |||
</comment> | |||
</xsl:for-each> | |||
</comments> | |||
</video> | |||
</xsl:for-each> | |||
</xsl:stylesheet> | </videos> | ||
</xsl:template> | |||
</xsl:stylesheet> | |||
</source> | |||
==XSLT HTML== | ==XSLT HTML== | ||
<pre> | |||
<nowiki> | <nowiki> | ||
<?xml version="1.0" encoding="utf-8"?> | <?xml version="1.0" encoding="utf-8"?> | ||
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" | <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:output method="html" indent="yes"/> | ||
<xsl:template match="/"> | |||
<html> | |||
<title>Media Kogumik</title> | |||
<xsl:for-each select="echo/videos/video"> | |||
<div> | |||
<xsl:variable name="author-id" select="@author-id"/> | |||
<h3> | |||
<xsl:value-of select="title"/> | |||
</h3> | |||
<h4> | |||
<xsl:value-of select="/echo/users/user[@id=$author-id]/full-name" /> | |||
</h4> | |||
<video controls="" loop=""> | |||
<xsl:for-each select="streams/stream[@type='primary']"> | |||
<xsl:for-each select="stream-url"> | |||
<source> | |||
<xsl:attribute name="type"> | |||
<xsl:value-of select="@mime-type"/> | |||
</xsl:attribute> | |||
<xsl:attribute name="src"> | |||
<xsl:value-of select="."/> | |||
</xsl:attribute> | |||
</ | </source> | ||
</xsl:for-each> | |||
</xsl:for-each> | </xsl:for-each> | ||
</video> | |||
<p> | |||
<xsl:value-of select="metadata/description"/> | |||
</p> | |||
<div> | |||
<h4>Komentaarid:</h4> | |||
<ol> | |||
<xsl:for-each select="comments/comment"> | |||
<li> | |||
<xsl:variable name="comment-author-id" select="@author-id"/> | |||
<div> | |||
<xsl:value-of select="." /> | |||
</div> | |||
<div> | |||
<b>Autor:</b> | |||
<xsl:value-of select="/echo/users/user[@id=$comment-author-id]/full-name" /> | |||
</div> | |||
</li> | |||
</xsl:for-each> | |||
</ol> | |||
</ | </div> | ||
</div> | </div> | ||
<hr/> | |||
</xsl:for-each> | |||
</html> | |||
</xsl:template> | |||
</xsl:stylesheet> | |||
</xsl:stylesheet> | |||
</nowiki> | </nowiki> | ||
</pre> | |||
==XSD== | ==XSD== | ||
<source lang="xml"> | <source lang="xml"> | ||
<?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="echo"> | ||
<xs:complexType> | |||
<xs:sequence> | |||
<xs:element name="videos"> | |||
<xs:complexType> | |||
<xs:sequence> | |||
<xs:element maxOccurs="unbounded" name="video"> | |||
<xs:complexType> | |||
<xs:sequence> | |||
<xs:element name="title" type="xs:string" /> | |||
<xs:element name="streams"> | |||
<xs:complexType> | |||
<xs:sequence> | |||
<xs:element maxOccurs="unbounded" name="stream"> | |||
<xs:complexType> | |||
<xs:sequence> | |||
<xs:element maxOccurs="unbounded" name="stream-url"> | |||
<xs:complexType> | |||
<xs:simpleContent> | |||
<xs:extension base="xs:string"> | |||
<xs:attribute name="mime-type" type="xs:string" use="required" /> | |||
</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 name="metadata"> | |||
<xs:complexType> | |||
<xs:sequence> | |||
<xs:element name="description" type="xs:string" /> | |||
</xs:sequence> | |||
</xs:complexType> | |||
</xs:element> | |||
<xs:element name="comments"> | |||
<xs:complexType> | |||
<xs:sequence> | |||
<xs:element maxOccurs="unbounded" name="comment"> | |||
<xs:complexType> | |||
<xs:simpleContent> | |||
<xs:extension base="xs:string"> | |||
<xs:attribute name="author-id" type="xs:unsignedInt" use="required" /> | |||
<xs:attribute name="post-timestamp" type="xs:unsignedInt" use="required" /> | |||
</xs:extension> | |||
</xs:simpleContent> | |||
</xs:complexType> | |||
</xs:element> | |||
</xs:sequence> | |||
</xs:complexType> | |||
</xs:element> | |||
</xs:sequence> | |||
<xs:attribute name="id" type="xs:unsignedInt" use="required" /> | |||
<xs:attribute name="view-count" type="xs:unsignedInt" use="required" /> | |||
<xs:attribute name="author-id" type="xs:unsignedInt" use="required" /> | |||
</xs:complexType> | |||
</xs:element> | |||
</xs:sequence> | |||
</xs:complexType> | |||
</xs:element> | |||
<xs:element name="users"> | |||
<xs:complexType> | |||
<xs:sequence> | |||
<xs:element maxOccurs="unbounded" name="user"> | |||
<xs:complexType> | |||
<xs:sequence> | |||
<xs:element name="username" type="xs:string" /> | |||
<xs:element name="full-name" type="xs:string" /> | |||
</xs:sequence> | |||
<xs:attribute name="id" type="xs:unsignedInt" use="required" /> | |||
</xs:complexType> | |||
</xs:element> | |||
</xs:sequence> | |||
</xs:complexType> | |||
</xs:element> | |||
<xs:element name="lists"> | |||
<xs:complexType> | |||
<xs:sequence> | |||
<xs:element name="list"> | |||
<xs:complexType> | |||
<xs:sequence> | |||
<xs:element maxOccurs="unbounded" name="video"> | |||
<xs:complexType> | |||
<xs:attribute name="id" type="xs:unsignedInt" use="required" /> | |||
<xs:attribute name="timestamp-added" type="xs:unsignedInt" use="required" /> | |||
</xs:complexType> | |||
</xs:element> | |||
</xs:sequence> | |||
<xs:attribute name="owner-id" type="xs:unsignedInt" use="required" /> | |||
</xs:complexType> | |||
</xs:element> | |||
</xs:sequence> | |||
</xs:complexType> | |||
</xs:element> | |||
</xs:sequence> | |||
</xs:complexType> | |||
</xs:element> | |||
</xs:schema> | |||
</xs:schema> | </source> | ||
</ |
Revision as of 15:28, 19 March 2017
Team Echo Võrgurakendused II
- Mihkel Vajak
- Janno Oolo
- Mari-Liis Oldja
- Arti Zirk
- Joosep Voolma
XML
<?xml version="1.0" encoding="utf-8" ?>
<?xml-stylesheet type="text/xsl" href="Echo-html.xslt"?>
<echo>
<videos>
<video id="1" view-count="69" author-id="1">
<title>Mihkli rännak</title>
<streams>
<stream type="primary">
<stream-url mime-type="video/webm">https://u.wut.ee/ookutsu.webm</stream-url>
<stream-url mime-type="audio/mp3">https://media/id/audio.mp3</stream-url>
<stream-url mime-type="video/mp4">https://media/id/video.mp4</stream-url>
</stream>
<stream type="secondary">
<stream-url mime-type="audio/*">https://media/id/audio2</stream-url>
</stream>
</streams>
<metadata>
<description>
Väga kurb
</description>
</metadata>
<comments>
<comment author-id="1" post-timestamp="1489683470">
Norm värk
</comment>
</comments>
</video>
<video id="2" view-count="69" author-id="2">
<title>Lahe video</title>
<streams>
<stream type="primary">
<stream-url mime-type="video/webm">https://u.wut.ee/youfuckedup.webm</stream-url>
<stream-url mime-type="audio/mp3">https://media/id/audio.mp3</stream-url>
<stream-url mime-type="video/mp4">https://media/id/video.mp4</stream-url>
</stream>
<stream type="secondary">
<stream-url mime-type="audio/*">https://media/id/audio2</stream-url>
</stream>
</streams>
<metadata>
<description>
See on väga äge video on see
</description>
</metadata>
<comments>
<comment author-id="1" post-timestamp="1489683470">
Norm värk
</comment>
<comment author-id="2" post-timestamp="1489683470">
Norm värk 2
</comment>
</comments>
</video>
<video id="3" view-count="69" author-id="3">
<title>Nalja kah</title>
<streams>
<stream type="primary">
<stream-url mime-type="video/webm">https://u.wut.ee/perlvspython.webm</stream-url>
<stream-url mime-type="audio/mp3">https://media/id/audio.mp3</stream-url>
<stream-url mime-type="video/mp4">https://media/id/video.mp4</stream-url>
</stream>
<stream type="secondary">
<stream-url mime-type="audio/*">https://media/id/audio2</stream-url>
</stream>
</streams>
<metadata>
<description>
Väga hea huumor
</description>
</metadata>
<comments>
<comment author-id="1" post-timestamp="1489683470">
Norm värk
</comment>
</comments>
</video>
<video id="4" view-count="69" author-id="1">
<title>Arti areng</title>
<streams>
<stream type="primary">
<stream-url mime-type="video/webm">https://u.wut.ee/sittmissitt.webm</stream-url>
<stream-url mime-type="audio/mp3">https://media/id/audio.mp3</stream-url>
<stream-url mime-type="video/mp4">https://media/id/video.mp4</stream-url>
</stream>
<stream type="secondary">
<stream-url mime-type="audio/*">https://media/id/audio2</stream-url>
</stream>
</streams>
<metadata>
<description>
Väga kurb
</description>
</metadata>
<comments>
<comment author-id="1" post-timestamp="1489683470">
Imelik oli
</comment>
</comments>
</video>
<video id="4" view-count="69" author-id="4">
<title>Oldja laulud</title>
<streams>
<stream type="primary">
<stream-url mime-type="video/webm">https://u.wut.ee/healtscare.webm</stream-url>
<stream-url mime-type="audio/mp3">https://media/id/audio.mp3</stream-url>
<stream-url mime-type="video/mp4">https://media/id/video.mp4</stream-url>
</stream>
<stream type="secondary">
<stream-url mime-type="audio/*">https://media/id/audio2</stream-url>
</stream>
</streams>
<metadata>
<description>
Draama Queen
</description>
</metadata>
<comments>
<comment author-id="1" post-timestamp="1489683420">
Norm värk
</comment>
</comments>
</video>
<video id="4" view-count="69" author-id="5">
<title>Osa 13 ehk Oolo kadumine</title>
<streams>
<stream type="primary">
<stream-url mime-type="video/webm">https://u.wut.ee/healtscare.webm</stream-url>
<stream-url mime-type="audio/mp3">https://media/id/audio.mp3</stream-url>
<stream-url mime-type="video/mp4">https://media/id/video.mp4</stream-url>
</stream>
<stream type="secondary">
<stream-url mime-type="audio/*">https://media/id/audio2</stream-url>
</stream>
</streams>
<metadata>
<description>
Lihtsalt kadus ära
</description>
</metadata>
<comments>
<comment author-id="1" post-timestamp="1489683470">
Norm värk
</comment>
</comments>
</video>
</videos>
<users>
<user id="1">
<username>admin</username>
<full-name>Admin</full-name>
</user>
<user id="2">
<username>oolo</username>
<full-name>Oolo</full-name>
</user>
<user id ="3">
<username>zirk</username>
<full-name>Hr. Zirk</full-name>
</user>
</users>
<lists>
<list owner-id="1">
<video id="1" timestamp-added="1489684373"></video>
<video id="3" timestamp-added="1489684379"></video>
</list>
</lists>
</echo>
XSLT XML
<?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="/">
<videos>
<xsl:for-each select="echo/videos/video">
<video>
<xsl:variable name="author-id" select="@author-id"/>
<title>
<xsl:value-of select="title"/>
</title>
<xsl:copy-of select="streams/stream[@type='primary']" />
<autor>
<xsl:copy-of select="/echo/users/user[@id=$author-id]" />
</autor>
<description>
<xsl:value-of select="metadata/description"/>
</description>
<comments>
<xsl:for-each select="comments/comment">
<xsl:variable name="comment-author-id" select="@author-id"/>
<comment>
<text>
<xsl:value-of select="." />
</text>
<xsl:copy-of select="/echo/users/user[@id=$comment-author-id]/username" />
<xsl:copy-of select="/echo/users/user[@id=$comment-author-id]/full-name" />
</comment>
</xsl:for-each>
</comments>
</video>
</xsl:for-each>
</videos>
</xsl:template>
</xsl:stylesheet>
XSLT HTML
<?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>Media Kogumik</title> <xsl:for-each select="echo/videos/video"> <div> <xsl:variable name="author-id" select="@author-id"/> <h3> <xsl:value-of select="title"/> </h3> <h4> <xsl:value-of select="/echo/users/user[@id=$author-id]/full-name" /> </h4> <video controls="" loop=""> <xsl:for-each select="streams/stream[@type='primary']"> <xsl:for-each select="stream-url"> <source> <xsl:attribute name="type"> <xsl:value-of select="@mime-type"/> </xsl:attribute> <xsl:attribute name="src"> <xsl:value-of select="."/> </xsl:attribute> </source> </xsl:for-each> </xsl:for-each> </video> <p> <xsl:value-of select="metadata/description"/> </p> <div> <h4>Komentaarid:</h4> <ol> <xsl:for-each select="comments/comment"> <li> <xsl:variable name="comment-author-id" select="@author-id"/> <div> <xsl:value-of select="." /> </div> <div> <b>Autor:</b> <xsl:value-of select="/echo/users/user[@id=$comment-author-id]/full-name" /> </div> </li> </xsl:for-each> </ol> </div> </div> <hr/> </xsl:for-each> </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="echo">
<xs:complexType>
<xs:sequence>
<xs:element name="videos">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="video">
<xs:complexType>
<xs:sequence>
<xs:element name="title" type="xs:string" />
<xs:element name="streams">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="stream">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="stream-url">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="mime-type" type="xs:string" use="required" />
</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 name="metadata">
<xs:complexType>
<xs:sequence>
<xs:element name="description" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="comments">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="comment">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="author-id" type="xs:unsignedInt" use="required" />
<xs:attribute name="post-timestamp" type="xs:unsignedInt" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="id" type="xs:unsignedInt" use="required" />
<xs:attribute name="view-count" type="xs:unsignedInt" use="required" />
<xs:attribute name="author-id" type="xs:unsignedInt" use="required" />
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="users">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="user">
<xs:complexType>
<xs:sequence>
<xs:element name="username" type="xs:string" />
<xs:element name="full-name" type="xs:string" />
</xs:sequence>
<xs:attribute name="id" type="xs:unsignedInt" use="required" />
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="lists">
<xs:complexType>
<xs:sequence>
<xs:element name="list">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="video">
<xs:complexType>
<xs:attribute name="id" type="xs:unsignedInt" use="required" />
<xs:attribute name="timestamp-added" type="xs:unsignedInt" use="required" />
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="owner-id" type="xs:unsignedInt" use="required" />
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>