summaryrefslogtreecommitdiffstats
path: root/Report/Chapter3.tex
diff options
context:
space:
mode:
Diffstat (limited to 'Report/Chapter3.tex')
-rw-r--r--Report/Chapter3.tex279
1 files changed, 99 insertions, 180 deletions
diff --git a/Report/Chapter3.tex b/Report/Chapter3.tex
index 54f2e57..c0b3cbc 100644
--- a/Report/Chapter3.tex
+++ b/Report/Chapter3.tex
@@ -1,28 +1,20 @@
\section{XML}
-There are two kinds of XML files used for the website. The main
-information will be stored in the Database XML, this file will be
-supported by three other XML files. The information in the Database
-XML will be increased by two methods. You can enter information
-manually, or the information will be imported from other sites via
-RSS-feeds. An RSS is the second kind XML file. This is a standard XML
-file. The website will also offer information via an RSS feed.
-
-In this section you can read how the XML files are build.
+
+There are two kinds of XML files used for the website. The main information will be stored in the Database XML, this file will be supported by three other XML files. The size of the XML database will be increased by two methods. You can enter information manually or the information will be imported from other sites via
+RSS-feeds. An RSS is the second kind XML file. This is a standardized XML file. The website will also offer information via this RSS feed.
+
+In this section you can read how the XML files are build up.
+
\subsection{Database XML}
-All the information for the website is stored in four Database XML
-files. One file contains the main information about all the liquor.
-Two files contains grouping information of the liquor. And there is
-one file which contains technical information for the incoming RSS
-feeds. In this section we will discussed the four files. This will be
-done by a description, (a part of) the file and a XML tree. We
-started with grouping the two information files. Note: The
-information in the XML files is the information, or a part of the
-information, which the files contains at the moment this report is
-written. Some files can be extended with information, because of the
-dynamicallity of the website. \\
-
-\subsubsection{LiquorTypes.xml} In this file we will store the different
-kind of liquor, for which we have data in the database. Below a snippet of the XML-file.
+
+All the information for the website is stored in four Database XML files. One file contains the main information about all the liquor. Two files contains grouping information of the liquor. Finally there is one file which contains technical information for the incoming RSS feeds. In this section we will discussed the four files. This will be done by a description, (a part of) the file and an XML tree. We started with grouping the two information files. \\
+
+\textbf{Note}: The information in the given XML file snippets is the actual data (or a part of it) which the files contain at the moment this report is written. Some files can be extended with information because of the dynamic nature of the website. \\
+
+\subsubsection{LiquorTypes.xml}
+
+In this file we will store the different kinds of liquor for which we have data in the database. Every type has its own ID on which the items relate to. The name of the LiquorTypes are also being used by the search engine of the site. Below you see the XML file about the liquor types: \\
+
\begin{verbatim}
<LiquorTypes>
<LiquorType ID="1"><Name>General</Name></LiquorType>
@@ -31,28 +23,18 @@ kind of liquor, for which we have data in the database. Below a snippet of the X
<LiquorType ID="4"><Name>Cocktail</Name></LiquorType>
</LiquorTypes>
\end{verbatim}
-Every type has its own ID on which the items are related to. The name
-of the LiquorTypes are also being used by the search engine of the
-site. Below you see a the XML file about the liquor types: \\
-
-On figure below it can be seen that the Data tree of the LiquorTypes XML-file. For
-all elements in the XML there will be only one shown completed. If
-there can be more elements, which are the same as their siblings,
-they are shown dotted (without their descendants).
+
+On the figure below the data tree of the LiquorTypes XML-file is shown. For all elements in the XML file there will be only one shown completely. If there can be more elements, which are the same as their siblings, they are shown dotted (without their descendants).
+
\begin {center}
\includegraphics[width=53.7mm]{LiquorType.png} \\
- Data tree of LiquorType.xml
+ Fig 2. Data tree of LiquorType.xml
\end {center}
+\subsubsection{NewsCategories.xml}
+In this file we will store the different categories the items belong to. It is very similar to the LiquorTypes XML. Every category had its own ID on which the items relate to. The name of the LiquorTypes are also being used by the search engine of the site. Below a snippet of the XML-file about the NewsCategories can be seen: \\
-
-
-
-\subsubsection{NewsCategories.xml}
-In this file we will store the different categories the items are from.
-It is very similar to the LiquorTypes XML-file. Below you see the
-XML-file.
\begin{verbatim}
<NewsCategories>
<NewsCategory ID="1"><Name>News</Name></NewsCategory>
@@ -61,28 +43,17 @@ XML-file.
</NewsCategories>
\end{verbatim}
-Every category had its own ID on which the items are related to. The
-name of the LiquorTypes are also being used by the search engine of
-the site. Below a snippet of the XML-file about the NewsCategories can be seen: \\
+On figure below you can see the data tree of the NewsCategories XML-file. All elements in the XML will be shown completely. If there can be more elements, which are the same as their siblings, they are shown dotted (without their descendants).
-On figure below you'll see the Data tree of the NewsCategories XML-file.
-All elements in the XML will be shown completed. If there can be more
-elements, which are the same as their siblings, they are shown
-dotted (without their descendants).
\begin {center}
\includegraphics[width=138.1mm]{NewsCategory.png} \\
- Data tree of NewsCategories.xml
+ Fig 3. Data tree of NewsCategories.xml
\end {center}
+\subsubsection{DB.xml}
+In this file we will store the main information of the website. Below you see a snippet of the XML-file.
-
-
-
-
-\subsubsection{DB.xml}
-In this file we will store the main information of the website. Below
-you see a snippet of the XML-file.
\begin{verbatim}
<db>
<items>
@@ -94,62 +65,41 @@ you see a snippet of the XML-file.
-restaurant-met-je-eigen-wijn.htm
</guid>
<title>Op restaurant met je eigen wijn?</title>
- <intern>index.php?link=news&amp;title=Op_restaurant_
- met_je_eigen_wijn?
+ <intern>index.php?link=news&amp;title=Op_restaurant_met_je_eigen_wijn?
</intern>
- <description>BYO (Bring your own) ontstond in de Engel
- stalige landen. In Australi&euml; is het
- zelfs de regel vanwege de torenhoge taksen
- op wijn verkocht door restaurants. Dus
- brengen de mensen hun eigen wijn mee en
- betalen enkel een 'kurkrecht' om die op
- restaurant te kunnen drinken. Het kurkr
- echt is een soort vergoeding voor de se
- rvice (sommelier, afwas) ...
+ <description>BYO (Bring your own) ontstond in de Engelstalige landen...
</description>
</item>
-...
+ ...
</items>
</db>
\end{verbatim}
-The site contains many news messages, these news messages are stored
-in the item elements, which is a child of the items element. The
-following elements are part of the item element:
+
+The site contains many news messages which are stored in the "item" elements, a child of the "items" element. The following elements are part of the item element:
+
\begin{itemize}
-\item \underline{LiquorTypeID}: This is the ID of the LiquerType of
-the news message. A news message can contain one or more
-LiquerTypeID's.
-\item \underline{NewsCategoryID}: This is the ID of the NewsCategory of
-the news message. A news message can contain one or more
-NewsCategoryID's.
-\item \underline{pubDate}: This is the date when the news messages
-are written. (If the incoming RSS feeds does not contain a date, then
-the pubDate will be the date on which the news messages is added to
-the site)
-\item \underline{guid}: This is the link of the original news
-messages on the original site.
-\item \underline{title}: This is the title of the news messages.
-\item \underline{intern}: This is the link of the news messages on the site. If this link is followed, the news messages is shown on the site.
-\item \underline{description}: This is the news messages.
+ \item \underline{LiquorTypeID}: This is the ID of the LiquerType of the news message. A news message can contain one or more LiquerTypeID's.
+ \item \underline{NewsCategoryID}: This is the ID of the NewsCategory of the news message. A news message can contain one or more NewsCategoryID's.
+ \item \underline{pubDate}: This is the date when the news messages are written. (If the incoming RSS feeds does not contain a date, then the pubDate will be the date on which the news messages is added to the site)
+ \item \underline{guid}: This is the link of the original news messages on the original site.
+ \item \underline{title}: This is the title of the news messages.
+ \item \underline{intern}: This is the link of the news messages on the site. If this link is followed, the news messages is shown on the site.
+ \item \underline{description}: This is the news messages.
\end{itemize}
-On figure below the Data tree of the DB XML-file can be seen. For all
-elements in the XML-file there will be only one shown completed. If there
-can be more elements, which are the same as their siblings, they are
-showed dotted (without their descendants).
+
+On figure below the data tree of the database XML-file can be seen. For all elements in the XML-file there will be only one shown completely. If there can be more elements, which are the same as their siblings, they are showed dotted (without their descendants).
\begin {center}
- \includegraphics[width=\textwidth]{DB.png} \\
- Data tree of DB.xml
+ \includegraphics[width=160.0mm]{DB.png} \\
+ Fig 4. Data tree of DB.xml
\end {center}
+\subsubsection{rssfeeds.xml}
+In this file we will store the RSS binding information for the incoming RSS feed, so the website knows from which RSS the information must be taken from and how it must be stored. Below you can see a part of the XML-file.
-
-\subsubsection{rssfeeds.xml}
-In this file we will store the RSS binding information for the incoming
-RSS feed, so the website knows from which rss the information must be taken and how that it must be stored. Below you can see a part of the XML-file.
\begin{verbatim}
<IncomingRSSFeedBindings>
<RSSFeed ID="1">
@@ -159,70 +109,50 @@ RSS feed, so the website knows from which rss the information must be taken and
<NewsCategoryID>2</NewsCategoryID>
</RSSFeed>
-...
+ ...
</IncomingRSSFeedBindings>
+
\end{verbatim}
-The following elements are part of the RSS Feed element:
+
+The following elements are part of the RSSFeed element:
+
\begin{itemize}
-\item \underline{Name}: This is the name of the RSS feed. This is
-used to show the RSS feeds bindings on the site.
-\item \underline{Url}: This is the URL of the RSS feed. From this,
-the website gathers the information.
-\item \underline{LiquorTypeID}: This is the ID for the liquor type,
-which will be bound to all the incoming messages from the RSS feed.
-\item \underline{NewsCategoryID}: This is the ID for the News Category,
-which will be bound to all the incoming messages from the RSS feed.
+ \item \underline{Name}: This is the name of the RSS feed. This is used to show the RSS feeds bindings on the site.
+ \item \underline{Url}: This is the URL of the RSS feed. From this, the website gathers the information.
+ \item \underline{LiquorTypeID}: This is the ID for the liquor type, which will be bound to all the incoming messages from the RSS feed.
+ \item \underline{NewsCategoryID}: This is the ID for the News Category, which will be bound to all the incoming messages from the RSS feed.
\end{itemize}
-On the figure below you will see the Data tree of the DB XML-file. For all
-elements in the XML there will be only one shown completed. If there
-can be more elements, which are the same as their siblings, they are
-shown dotted (without their descendants).
+On the figure below you will see the Data tree of the DB XML-file. For all elements in the XML there will be only one shown completed. If there can be more elements, which are the same as their siblings, they are shown dotted (without their descendants).
\begin {center}
\includegraphics[width=117.2mm]{rssfeeds.png} \\
- Data tree of rssfeed.xml
+ Fig 5. Data tree of rss.xml
\end {center}
+\subsection{RSS-Feeds}
+To gather information or deliver information the site uses RSS-Feeds. These are standard kinds of XML-files. First we describe the types of RSS feeds the website uses and then how a RSS-feed looks like. \\
-
-
-
-
-\subsection{RSS-Feeds}
-To gather information or deliver information the site uses RSS-Feeds.
-This are standard kinds of XML-files. First we describe the types of
-RSS feeds the website uses, then how a RSS-Feed looks like.
-\\\\
The website uses two types of RSS feeds:
+\subsubsection{Incoming RSS-feed}
-\subsubsection{Incomming RSS-feed}
-This is the RSS-Feed from which the website takes its information.
-There are several incoming RSS feeds and for each, the website does
-the same procedures to add the information into the database. This is
-done six times a day, by running a PHP script. The following procedures
-will be done for every RSS feed:
-\begin{enumerate}
-\item Take an RSS feed and read the information from it.
-\item Check for every item if the item is already in the
-database. This is done by a title check. More information about this
-can be read in chapter 4. If the item is already in the database continue
-with point 4.
-\item Add the item to the DB.xml and go on with the next item of RSS Feed
-\item The news item is already there, so check if the LiquorTypeID and NewsCategoryID is
-the same. If it is the same, go on with the next item of RSS Feed.
-\item The news item is already there, but it has different LiquorTypeID's or NewsCategoryID's, so add the new LiquorTypeID or NewsCategoryID to the item and go on with the next item of RSS Feed.
+This is the RSS-Feed from which the website takes its information. There are several incoming RSS feeds and for each one the website does the same procedures to add the information into the database. This is done six times a day by running a PHP script. The following procedures will be done for every RSS feed known to Pottepei:
+\begin{enumerate}
+ \item Take an RSS feed and read the information from it.
+ \item Check for every item if the item is already in the database. This is done by a title check. More information about this can be read in chapter 4. If the item is already in the database continue with point 4.
+ \item Add the item to the DB.xml and go on with the next item of RSS Feed
+ \item The news item is already there, so check if the LiquorTypeID and NewsCategoryID is the same. If it is the same, go on with the next item of RSS Feed.
+ \item The news item is already there, but it has different LiquorTypeID's or NewsCategoryID's, so add the new LiquorTypeID or NewsCategoryID to the item and go on with the next item of RSS Feed.
\end{enumerate}
+
\subsubsection{Outgoing RSS-feed}
-The website also has an outgoing RSS-Feed. In this feed the latest
-twenty news messages from the database will be put into an RSS feed.
-The latest twenty news messages are gained from the DB xml via an XPath Query.
-This information is put via XML php statements into the
-RSS Feed. A part of the XML php statements can be read below.
+
+The website also has an outgoing RSS-Feed. In this feed the latest twenty news messages from the database will be put into an RSS feed. The latest twenty news messages are gained from the DB xml via an XPath Query. This information is put via XML php statements into the RSS Feed. A part of the XML php statements can be read below.
+
\begin{verbatim}
// create doctype
$dom = new DOMDocument("1.0");
@@ -243,31 +173,24 @@ RSS Feed. A part of the XML php statements can be read below.
$text = $dom->createTextNode("Pottepei RSS feed");
$title->appendChild($text);
\end{verbatim}
-This part of the code generates first a XML document with version
-\textit{"1.0"}. Then it creates a root element, in this case called
-\textit{"rss"}. The root gets also the attribute named
-\textit{"version"} with the value \textit{"2.0"}. The statement
-\textit{"\$dom-$>$formatOutput"} makes the output file readable.
-\\After that the code creates a channel element and add it as a child
-of the root element. Then a title element will be created and added to
-the channel element as a child. This title element will contain the
-text \textit{"Pottepei RSS feed"}. This is the way that the whole
-RSS-feed will be build. Below is a part of the XML file which this
-part of the code generates.
+
+This part of the code first generates an XML document with version \textit{"1.0"} and then creates a root element, in this case called \textit{"rss"}. The root gets also an attribute named \textit{"version"} with the value \textit{"2.0"}. The statement \textit{"\$dom-$>$formatOutput"} makes the output file readable. \\
+
+After that the code creates a channel element and add it as a child of the root element. Then a title element will be created and added to the channel element as a child. This title element will contain the text \textit{"Pottepei RSS feed"}. This is the way that the whole RSS-feed will be build. Below is a part of the XML file which this part of the code generates.
+
\begin{verbatim}
<?xml version="1.0"?>
<rss version="2.0">
<channel>
<title>Pottepei RSS feed</title>
\end{verbatim}
+
This code will be automatically executed every day.
+\subsubsection{The construction of an RSS feed}
+An RSS feed has a standard constructions. We use the RSS version 2.0. There is much information which you can store in an RSS feed. We use some of those. Below you can see a part of our RSS feed file:
-\subsubsection{The construction of a RSS feed}
-An RSS feed has a standard constructions. We use the RSS version 2.0.
-There is much information which you can store in a RSS feed. We use
-some of those. Below you can see a part of our RSS feed file:
\begin{verbatim}
<?xml version="1.0"?>
<rss version="2.0">
@@ -287,41 +210,37 @@ some of those. Below you can see a part of our RSS feed file:
</description>
</item>
-...
+ ...
</channel>
</rss>
+
\end{verbatim}
+
This file got the following elements:
+
\begin{itemize}
-\item \underline{rss}: This is the standard element which says that
-the XML file is an RSS feed. The attribute \underline{version} says
-which RSS version the document is.
-\item \underline{channel}: This a standard RSS element
-\item \underline{title}: This is the title of the RSS feed
-\item \underline{link}: This is the link of the website
-\item \underline{description}: This will give a description of the
-RSS feed.
-\item \underline{language}: This will give the language of the RSS
-feed.
-\item \underline{pubDate}: When the RSS feed is published.
-\item \underline{item}: This contains the information of one news
-massage \subitem \underline{pubDate}: The date of the news item
-\subitem \underline{guid}: The link where the news massage can be
-found \subitem \underline{title}: The title of the news massage
- \subitem \underline{description}: The news massage itself.
+ \item \underline{rss}: This is the standard element which says that the XML file is an RSS feed. The attribute \underline{version} says which RSS version the document is.
+ \item \underline{channel}: This a standard RSS element
+ \item \underline{title}: This is the title of the RSS feed
+ \item \underline{link}: This is the link of the website
+ \item \underline{description}: This will give a description of the RSS feed.
+ \item \underline{language}: This will give the language of the RSS feed.
+ \item \underline{pubDate}: When the RSS feed is published.
+ \item \underline{item}: This contains the information of one news massage
+ \subitem \underline{pubDate}: The date of the news item
+ \subitem \underline{guid}: The link where the news massage can be found
+ \subitem \underline{title}: The title of the news massage
+ \subitem \underline{description}: The news massage itself.
\end{itemize}
-These are also the elements we use from the incoming RSS feeds. Note:
-From the initial RSS feeds, the feed from www.cocktailz.nl, does not
-have a pubDate, so we take the day on which the website imports the
-news massage as pubDate.
+These are also the elements we use from the incoming RSS feeds.\\
+
+\textbf{Note}: From the initial RSS feeds, the feed from www.cocktailz.nl, does not have a pubDate. In this special case we take the day on which the website imports the news massage as pubDate.
+
+On the figure below you will see the data tree of the RSS-feed XML. For all elements in the XML there will be only one shown completely. If there can be more elements, which are the same as their siblings, they are shown dotted (without their descendants).
-On the figure below you will see the Data tree of the RSS-feed XML. For all
-elements in the XML there will be only one shown completed. If there
-can be more elements, which are the same as their siblings, they are
-shown dotted (without their descendants).
\begin {center}
\includegraphics[width=\textwidth]{RSS.png} \\
- Data tree of RSS.xml
+ Fig 6. Data tree of rss.xml
\end {center}