summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Report/Chapter1.tex25
-rw-r--r--Report/Chapter2.tex53
-rw-r--r--Report/Chapter3.tex127
3 files changed, 95 insertions, 110 deletions
diff --git a/Report/Chapter1.tex b/Report/Chapter1.tex
index d1d5628..e25ecdf 100644
--- a/Report/Chapter1.tex
+++ b/Report/Chapter1.tex
@@ -1,19 +1,14 @@
\section{Introduction}
-For the master course Advanced Databases (2ID45), we chose to create
+For the master course Advanced Databases (2ID45), we have chosen to create
a liquor database. The project is called ”Pottepei” which is Flemish
-(Brussels) for a drunk. To access the database we made a web
-interface, which can be found at "pottepei.schinagl.nl".
-\\\\
-This document will discussed the inside view of the project. The
-general description of the project can be read in chapter 2. What
-does the website do? And an overview of the techniques that were used
-to complete the project.
-\\\\
+(Brussels) for a drunk. To access the database a web interface, which can be found at "http://pottepei.schinagl.nl", was made available. \\
+
+This document will discus the inside view of the project. The general description of the project can be found in chapter 2. Also in this chapter, a description of what the website does and an overview of the techniques that were used to complete the project. \\
+
In the next chapters we will go further into details about the
techniques we used. In chapter 3 we will discuss all the XML aspects
-of the project. Which XML files were used? And how they look like.
-Also the purpose of the files will be discussed.
-\\\\
-In chapter 4 we will explain which query's we used to retrieve some
-goals. Some query's will be given and explained. And finally we come
-up with a conclusion.
+of the project, discuss the XML files used, how they are laid out and their purpose. \\
+
+In chapter 4 we will explain which query's were used to achieve some goals. Some query's will be given and explained. \\
+
+Finally we will finish chapter 5 with a conclusion. \\
diff --git a/Report/Chapter2.tex b/Report/Chapter2.tex
index 906502f..fb3a9f7 100644
--- a/Report/Chapter2.tex
+++ b/Report/Chapter2.tex
@@ -1,41 +1,36 @@
\section{General Project Description}
-In this chapter we'll give a general description of the project. What
-does it do? How is it done? We also give an overview of the used
-techniques. At the end of this section we give a figure with a
-representation of the project and the techniques.
+In this chapter we will give a general description of the project. What
+does it do and how is it done? We also give an overview of the used
+techniques. At the end of this section a figure with a representation of the project and the techniques is given.
\subsection{The project}
-We've made a liquor database which is accessible via a web interface.
+We have made a liquor database which is accessible via a web interface.
The main purposes of the web site is to gather information and put it
-to a database. The information can be gained two ways. One way is to
-manually insert the information. The other way is to add a RSS feed
+to a database. The information can be attained in two ways. One way is to
+manually insert the information, the other way is to add a remote RSS feed
to the website. The website will take the information from the RSS
-feed en put it into his own database. We first chose three standard
-RSS feeds, but decided by the implementation to bind the RSS feeds
-dynamically. \\ You can bind and un-bind your own RSS feeds to the
-website. Therefore the site can contain many more and other
+feed en put it into our own database. We have first chosen three standard
+RSS feeds, but decided during implementation to bind the RSS feeds
+dynamically. \\ One can bind and un-bind RSS feeds to the website. Therefore the site can contain many more and other
information than liquor only, just by connecting other RSS feeds. We
started this project as one with a liquor database, so for the
-project we'll use liquor as initial info.
-\\\\
-Another functionality of the website is the search engine. You can
-search through the news massages with given keywords. You can choose
-if you search in the titles, the message contents or both. You can
-specify in which news category or which liquor type you want to
-search. This can also be used to filter on it.
-\\\\
-There's also possible to subscribe on a RSS feed. This RSS feed
-exports the last twenty news items.
+project liquor is used as initial information. \\
+
+Another functionality of the website is a search engine. It is possible to
+search through various messages with given keywords. The title, message content or both are searchable. You can
+specify in which news category or which liquor type you want to search. This can also be used as a filter on it. \\
+
+It is also possible to subscribe to a RSS feed of our own. This RSS feed contains the last twenty entries. \\
\subsection{Overview of the used techniques}
At the beginning of the project there were given four technologies.
-From these four, the project must contain at least two. We've chosen
+From these four, the project had to contain at least two. We have chosen
to use all four of the technologies, but during the implementation
-we've decided to drop the XSLT part. The reason for that is that we
+we had decided to drop the XSLT part. The reason for that is that we
had to little knowledge of XSLT to find a good problem which we could
-solve by using XSLT.
-\\\\
+solve by using XSLT. \\
+
The following technologies are used for the project:
\begin{itemize}
\item \textbf{XML/ XML schemes}: This is being used to gather and
@@ -55,13 +50,13 @@ To support the technologies we used the following techniques:
\subsection{Representation of the project}
In the figure below you see a representation of our project. The
website with the XML database is the central of the project. The
-website has a PHP script which will be triggered every day. First the
-script gets the RSS binding from the database, then he obtains the
-information from the RSS feeds and put these in the database. A user
+website has a PHP script which will be run six times per day. First the
+script gets the RSS binding from the database, then it obtains the
+information from the RSS feeds and puts these into database. A user
can interact with the site (search information or inserts new
information). The website transforms the user interactions to
Xquery/Xpath, so it can interact with the database. A user can also
-get a RSS feed from our website.
+get an RSS feed from our website.
\begin {center}
\includegraphics[width=149.7mm]{DiagramPottepeiFinal.png} \\
Representation of the project
diff --git a/Report/Chapter3.tex b/Report/Chapter3.tex
index b59969b..54f2e57 100644
--- a/Report/Chapter3.tex
+++ b/Report/Chapter3.tex
@@ -4,8 +4,8 @@ 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. A RSS is the second kind XML file. This is a standard XML
-file. The website will also offer information via a RSS feed.
+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.
\subsection{Database XML}
@@ -15,16 +15,14 @@ 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 the two grouping information files. Note: The
+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
-dynamically of the website.
+dynamicallity of the website. \\
-
-\subsubsection{LiquorTypes.xml} In this file we'll store the different
-kind of liquor, for which we have data in the database. Below you see
-the XML-file.
+\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.
\begin{verbatim}
<LiquorTypes>
<LiquorType ID="1"><Name>General</Name></LiquorType>
@@ -33,14 +31,14 @@ the XML-file.
<LiquorType ID="4"><Name>Cocktail</Name></LiquorType>
</LiquorTypes>
\end{verbatim}
-Every type had its own ID on which the items are related to. The name
-of the LiquorTypes will also being used by the search engine of the
-site. Below you see a the XML file about the liquor types:
-\\\\
-On figure below you'll see the Data tree of the LiquorTypes XML. For
-all element in the XML there will be only one shown completed. If
+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 showed dotted (without their descendants).
+they are shown dotted (without their descendants).
\begin {center}
\includegraphics[width=53.7mm]{LiquorType.png} \\
Data tree of LiquorType.xml
@@ -52,8 +50,8 @@ they are showed dotted (without their descendants).
\subsubsection{NewsCategories.xml}
-In this file we'll store the different categories the items are from.
-It is very similar to the LiquorTypes XML. Below you see the
+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>
@@ -64,12 +62,12 @@ XML-file.
\end{verbatim}
Every category had its own ID on which the items are related to. The
-name of the LiquorTypes will also being used by the search engine of
-the site. Below you see the XML file about the NewsCategories:
-\\\\
-On figure below you'll see the Data tree of the NewsCategories XML.
+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'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 showed
+elements, which are the same as their siblings, they are shown
dotted (without their descendants).
\begin {center}
\includegraphics[width=138.1mm]{NewsCategory.png} \\
@@ -83,8 +81,8 @@ dotted (without their descendants).
\subsubsection{DB.xml}
-In this file we'll store the main information of the website. Below
-you see a part of the XML-file.
+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>
@@ -116,7 +114,7 @@ you see a part of the XML-file.
</items>
</db>
\end{verbatim}
-The site captains many news messages, these news messages are stored
+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:
\begin{itemize}
@@ -127,17 +125,17 @@ LiquerTypeID's.
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 doesn't contains a date, then
-our pubDate will be the date on which the news messages is added to
-our site)
+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 our site. If this link is followed, the news messages is shown on our site.
+\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 you'll see the Data tree of the DB XML. For all
-element in the XML there will be only one shown completed. If there
+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).
@@ -150,10 +148,8 @@ showed dotted (without their descendants).
\subsubsection{rssfeeds.xml}
-In this file we'll store the RSS binding information for the incoming
-RSS feed, so the website knows from which rss he must take
-information, and how that is must store. Below you see a part of the
-XML-file.
+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">
@@ -167,22 +163,22 @@ XML-file.
</IncomingRSSFeedBindings>
\end{verbatim}
-The following elements are part of the RSSFeed element:
+The following elements are part of the RSS Feed 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 gather the information.
+the website gathers the information.
\item \underline{LiquorTypeID}: This is the ID for the liquor type,
-which will be bind to all the incoming massages from the RSS feed.
+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 bind to all the incoming massages from the RSS feed.
+which will be bound to all the incoming messages from the RSS feed.
\end{itemize}
-On figure below you'll see the Data tree of the DB XML. For all
-element in the XML there will be only one shown completed. If there
+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
-showed dotted (without their descendants).
+shown dotted (without their descendants).
\begin {center}
\includegraphics[width=117.2mm]{rssfeeds.png} \\
@@ -204,29 +200,28 @@ The website uses two types of RSS feeds:
\subsubsection{Incomming RSS-feed}
-This is the RSS-Feeds from which the website takes his information.
-There are several incoming RSS feeds and for each the website does
+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 every day, by running a PHP script. The following procedures
+done six times a day, by running a PHP script. The following procedures
will be done for every RSS feed:
\begin{enumerate}
-\item Takes a RSS feed an read the information from it.
-\item Check for every item if the item is already in de
+\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 on
+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 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.
+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 has also an outgoing RSS-Feed. In this feed the latest
+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 a X
-Path Query. This information is put via XML php statements into the
+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
@@ -253,8 +248,8 @@ This part of the code generates first a XML document with version
\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 en add it as a child
-of the root element. Then a title element will be created and add to
+\\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
@@ -265,14 +260,14 @@ part of the code generates.
<channel>
<title>Pottepei RSS feed</title>
\end{verbatim}
-This code will be automatically execute every day.
+This code will be automatically executed every day.
\subsubsection{The construction of a RSS feed}
-A RSS feed has a standard constructions. We use the RSS version 2.0.
-There are many information which you can store in a RSS feed. We use
-a some of those. Below you can see a part of our RSS feed file:
+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">
@@ -317,15 +312,15 @@ found \subitem \underline{title}: The title of the news massage
\subitem \underline{description}: The news massage itself.
\end{itemize}
-This are also the elements we use from the incoming RSS feeds. Note:
-From the initial RSS feeds, the feed from www.cocktailz.nl, doesn't
-has a pubDate, so we take the day on which the website imports the
+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.
-On figure below you'll see the Data tree of the RSS-feed XML. For all
-element in the XML there will be only one shown completed. If there
+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
-showed dotted (without their descendants).
+shown dotted (without their descendants).
\begin {center}
\includegraphics[width=\textwidth]{RSS.png} \\
Data tree of RSS.xml