Commit e11606ad authored by lhommeni's avatar lhommeni

Fonctionnement avec antce de wikipedia_to_hdoc

parent d2db9473
<?xml version="1.0" encoding="UTF-8"?>
<project name="wikiToHdoc" default="main" basedir="..">
<!-- inputFile is the only required parameter to run the script -->
<property name="inputFile" value="source.xml"/>
<basename property="filename" file="${inputFile}" suffix=".xml"/>
<!-- Folder paths -->
<!-- tmp paths (removed at the end of the process) -->
<property name="tmpFolderPath" value="${basedir}/tmp"/>
<property name="tmpHdocResultFolderPath" value="${tmpFolderPath}/hdoc"/>
<!-- ant and xslt paths -->
<property name="resultFolderPath" value="${basedir}/result"/>
<property name="xsltFolderPath" value="${basedir}/xslt"/>
<!-- result path -->
<property name="hdocResultPath" value="${resultFolderPath}/${filename}"/>
<!-- Main target -->
<target name="main">
<antcall target="prepare"/>
<antcall target="prepareHdocStructure"/>
<antcall target="transformWikiToHdoc"/>
<antcall target="zip"/>
<antcall target="clean"/>
</target>
<target name="prepare">
<!-- Create tmp directory for tmp files and result directory if does not exist -->
<mkdir dir="${tmpHdocResultFolderPath}"/>
<mkdir dir="${hdocResultPath}"/>
<!-- Making tmp xml wikipedia file without some elements which are not useful -->
<xslt classpath="ant/saxon9he.jar" in="ant/${inputFile}" out="${tmpFolderPath}/${filename}_prepared.xml" style="${xsltFolderPath}/prepare_wiki_to_hdoc.xsl">
<factory name="net.sf.saxon.TransformerFactoryImpl"/>
</xslt>
</target>
<!-- Create the hdoc structure of the new file -->
<target name="prepareHdocStructure">
<mkdir dir="${tmpHdocResultFolderPath}"/>
<mkdir dir="${tmpHdocResultFolderPath}/META-INF" />
<touch file="${tmpHdocResultFolderPath}/META-INF/container.xml" />
<touch file="${tmpHdocResultFolderPath}/mimetype" />
<echo message="application/x-hdoc+zip" file="${tmpHdocResultFolderPath}/mimetype" />
<echoxml file="${tmpFolderPath}/containerTmp.xml">
<container version="1.0" xmlns="urn:utc.fr:ics:hdoc:container">
<rootfiles>
<rootfile full-path="content.xml" media-type="text/xml" />
</rootfiles>
</container>
</echoxml>
<xslt classpath="ant/saxon9he.jar" in="${tmpFolderPath}/containerTmp.xml" out="${tmpHdocResultFolderPath}/META-INF/container.xml" style="${xsltFolderPath}/addNamespaceToContainer.xsl"/>
</target>
<target name="transformWikiToHdoc">
<!-- Applying wikipedia -> hdoc -->
<xslt classpath="ant/saxon9he.jar" in="${tmpFolderPath}/${filename}_prepared.xml" out="${hdocResultPath}/${filename}.html" style="${xsltFolderPath}/wiki_to_hdoc.xsl">
<factory name="net.sf.saxon.TransformerFactoryImpl"/>
</xslt>
<!-- Copy of the html file, hdoc needs "container.xml" file, not a html. The html file can be useful to the user -->
<copy file="${hdocResultPath}/${filename}.html" tofile="${tmpHdocResultFolderPath}/content.xml"/>
</target>
<!-- Make hdoc file -->
<target name="zip">
<zip destfile="${hdocResultPath}/${filename}.hdoc" basedir="${tmpHdocResultFolderPath}"/>
</target>
<!-- Delete tmp directory -->
<target name="clean">
<delete dir="${tmpFolderPath}"/>
</target>
</project>
<?xml version="1.0" encoding="UTF-8"?>
<project name="wikiToHdoc" default="main" basedir=".">
<!-- wikipediaUrl and destination are the only required parameters -->
<property name="wikipediaUrl" value=""/>
<property name="filename" value=""/>
<!-- Folder paths -->
<!-- tmp paths (removed at the end of the process) -->
<property name="tmpFolderPath" value="${basedir}/tmp"/>
<property name="tmpHdocResultFolderPath" value="${tmpFolderPath}/hdoc"/>
<property name="in" location="${basedir}/input"/>
<property name="resultFolderPath" value="${basedir}/result"/>
<property name="xsltFolderPath" value="${basedir}/xslt"/>
<property name="hdocResultPath" value="${resultFolderPath}/${filename}"/>
<property name="inputFile" value="${hdocResultPath}/${filename}.xml"/>
<!-- Main target -->
<target name="main">
<antcall target="prepare"/>
<antcall target="prepareHdocStructure"/>
<antcall target="transformWikiToHdoc"/>
<antcall target="zip"/>
<antcall target="clean"/>
</target>
<target name="prepare">
<!-- Create tmp directory for tmp files and result directory if does not exist -->
<mkdir dir="${tmpHdocResultFolderPath}"/>
<mkdir dir="${hdocResultPath}"/>
<!-- Fetching html from wikipedia -->
<java fork="true" failonerror="true" jar="${basedir}/javaSources/FetchWikipediaXml.jar">
<arg value="${wikipediaUrl}"/>
<arg value="${filename}"/>
</java>
<!-- Making tmp xml wikipedia file without some elements which are not useful -->
<xslt classpath="lib/saxon9he.jar" in="${inputFile}" out="${tmpFolderPath}/${filename}_prepared.xml" style="${xsltFolderPath}/prepare_wiki_to_hdoc.xsl">
<factory name="net.sf.saxon.TransformerFactoryImpl"/>
</xslt>
</target>
<!-- Create the hdoc structure of the new file -->
<target name="prepareHdocStructure">
<mkdir dir="${tmpHdocResultFolderPath}"/>
<mkdir dir="${tmpHdocResultFolderPath}/META-INF" />
<touch file="${tmpHdocResultFolderPath}/META-INF/container.xml" />
<touch file="${tmpHdocResultFolderPath}/mimetype" />
<echo message="application/x-hdoc+zip" file="${tmpHdocResultFolderPath}/mimetype" />
<echoxml file="${tmpFolderPath}/containerTmp.xml">
<container version="1.0" xmlns="urn:utc.fr:ics:hdoc:container">
<rootfiles>
<rootfile full-path="content.xml" media-type="text/xml" />
</rootfiles>
</container>
</echoxml>
<xslt classpath="lib/saxon9he.jar" in="${tmpFolderPath}/containerTmp.xml" out="${tmpHdocResultFolderPath}/META-INF/container.xml" style="${xsltFolderPath}/addNamespaceToContainer.xsl"/>
</target>
<target name="transformWikiToHdoc">
<!-- Applying wikipedia -> hdoc -->
<xslt classpath="lib/saxon9he.jar" in="${tmpFolderPath}/${filename}_prepared.xml" out="${hdocResultPath}/${filename}.html" style="${xsltFolderPath}/wiki_to_hdoc.xsl">
<factory name="net.sf.saxon.TransformerFactoryImpl"/>
</xslt>
<!-- Copy of the html file, hdoc needs "container.xml" file, not a html. The html file can be useful to the user -->
<copy file="${hdocResultPath}/${filename}.html" tofile="${tmpHdocResultFolderPath}/content.xml"/>
</target>
<!-- Make hdoc file -->
<target name="zip">
<zip destfile="${hdocResultPath}/${filename}.hdoc" basedir="${tmpHdocResultFolderPath}"/>
</target>
<!-- Delete tmp directory -->
<target name="clean">
<delete dir="${tmpFolderPath}"/>
</target>
</project>
<?xml version="1.0" encoding="UTF-8"?>
<project name="wikiToOpale" default="main" basedir="..">
<!-- inputFile is the only required parameter to run the script -->
<property name="inputFile" value="source.xml"/>
<basename property="filename" file="${inputFile}" suffix=".xml"/>
<!-- Folder paths -->
<!-- tmp paths (removed at the end of the process) -->
<property name="tmpFolderPath" value="${basedir}/tmp"/>
<property name="tmpHdocResultFolderPath" value="${tmpFolderPath}/hdoc"/>
<!-- ant and xslt paths -->
<property name="resultFolderPath" value="${basedir}/result"/>
<property name="antFolderPath" value="${basedir}/ant"/>
<property name="xsltFolderPath" value="${basedir}/xslt"/>
<!-- result path -->
<property name="hdocResultPath" value="${resultFolderPath}/${filename}"/>
<target name="main">
<!-- First: wiki to Hdoc -->
<ant antfile="${antFolderPath}/wiki_to_hdoc.ant"/>
<!-- Then hdoc to opale (important to set the new basedir in order to make it work) -->
<ant antfile="${basedir}/hdoc_to_opale/hdoc_to_opale.ant" dir="${basedir}/hdoc_to_opale">
<property name="InputPath" value="${hdocResultPath}/${filename}.hdoc"/>
<property name="OutputPath" value="${hdocResultPath}/${filename}.scar"/>
</ant>
</target>
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project name="wikiToOpale" default="main" basedir="..">
<!-- wikipediaUrl and destination are the only required parameters -->
<property name="wikipediaUrl" value=""/>
<property name="filename" value=""/>
<!-- Folder paths -->
<!-- tmp paths (removed at the end of the process) -->
<property name="tmpFolderPath" value="${basedir}/tmp"/>
<property name="tmpHdocResultFolderPath" value="${tmpFolderPath}/hdoc"/>
<!-- ant and xslt paths -->
<property name="resultFolderPath" value="${basedir}/result"/>
<property name="antFolderPath" value="${basedir}/ant"/>
<property name="xsltFolderPath" value="${basedir}/xslt"/>
<!-- result path -->
<property name="hdocResultPath" value="${resultFolderPath}/${filename}"/>
<target name="main">
<!-- First: wiki to Hdoc -->
<ant antfile="${antFolderPath}/wiki_to_hdoc_fetcher.ant"/>
<!-- Then hdoc to opale (important to set the new basedir in order to make it work) -->
<ant antfile="${basedir}/hdoc_to_opale/hdoc_to_opale.ant" dir="${basedir}/hdoc_to_opale">
<property name="InputPath" value="${hdocResultPath}/${filename}.hdoc"/>
<property name="OutputPath" value="${hdocResultPath}/${filename}.scar"/>
<property name="OutputPathDivided" value="${hdocResultPath}/${filename}_divided.scar"/>
</ant>
</target>
</project>
\ No newline at end of file
hdoc_to_opale @ 5b6cedd1
Subproject commit 5b6cedd19b2bf98a4a78c27402102f0cc3fc0099
import java.io.BufferedInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.net.URL;
public class FetchWikipediaXml {
public static void main(String[] args) throws IOException {
URL url = new URL(args[0]);
String destination = args[1];
System.out.println(destination);
BufferedInputStream in = null;
FileOutputStream fout = null;
in = new BufferedInputStream(url.openStream());
fout = new FileOutputStream("test.xml");
final byte data[] = new byte[1024];
int count;
while ((count = in.read(data, 0, 1024)) != -1) {
fout.write(data, 0, count);
}
if (in != null) {
in.close();
}
if (fout != null) {
fout.close();
}
}
}
import java.io.BufferedInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.net.URL;
public class FetchWikipediaXml {
public static void main(String[] args) throws Exception {
URL url = new URL(args[0]);
String destination = args[1];
System.out.println("URL "+args[0]);
System.out.println("File "+args[1]);
if(destination.length() == 0 || !args[0].contains("wikipedia.org/wiki"))
throw new Exception("Received invalid parameters");
BufferedInputStream in = null;
FileOutputStream fout = null;
in = new BufferedInputStream(url.openStream());
fout = new FileOutputStream("result/" + destination + "/" + destination + ".xml");
final byte data[] = new byte[1024];
int count;
while ((count = in.read(data, 0, 1024)) != -1) {
fout.write(data, 0, count);
}
if (in != null) {
in.close();
}
if (fout != null) {
fout.close();
}
}
}
<?xml version="1.0" encoding="UTF-8"?>
<project basedir="." name="myantce">
<property name="in" location="${basedir}/input"/>
<property name="out" location="${basedir}/output"/>
<property name="tmp" location="${basedir}/tmp"/>
<property name="xsl" location="${basedir}/xsl"/>
<property name="lib" location="${basedir}/lib"/>
<property name="log" location="${basedir}/log"/>
<echo message="Hello World !"/>
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?><?oxygen RNGSchema="http://scenari.utc.fr/hdoc/schemas/xhtml/hdoc1-xhtml.rng" type="xml"?>
<html xmlns="http://www.utc.fr/ics/hdoc/xhtml">
<head>
<title>Bread - Wikipedia, the free encyclopedia</title>
<meta charset="utf-8"></meta>
<meta name="generator" content="HdocConverter/wikipedia"></meta>
<meta name="author" content="Wikipedia"></meta>
</head>
<body>
<section data-hdoc-type="introduction">
<header>
<h1>Introduction</h1>
</header>
<div>
<p>
<em>Bread</em> is a
<a href="http://wikipedia.org/wiki/Staple_food">staple food</a> prepared from a
<a href="http://wikipedia.org/wiki/Dough">dough</a> of
<a href="http://wikipedia.org/wiki/Flour">flour</a> and
<a href="http://wikipedia.org/wiki/Water">water</a>, usually by
<a href="http://wikipedia.org/wiki/Baking">baking</a>. Throughout recorded history it has been popular around the world and is one of the
oldest artificial foods, having been of importance since the dawn of
<a href="http://wikipedia.org/wiki/Agriculture#History">agriculture</a>.
</p>
<p>There are many combinations and proportions of types of flour and other ingredients,
and also of different traditional recipes and modes of preparation of bread. As a
result, there are wide varieties of types, shapes, sizes, and textures of breads in
various regions. Bread may be
<a href="http://wikipedia.org/wiki/Leaven">leavened</a> by many different processes ranging from the use of naturally occurring microbes
(for example in
<a href="http://wikipedia.org/wiki/Sourdough">sourdough</a> recipes) to high-pressure artificial aeration methods during preparation or baking.
However, some products are left unleavened, either for preference, or for traditional
or religious reasons. Many non-cereal ingredients may be included, ranging from fruits
and nuts to various fats. Commercial bread in particular, commonly contains additives,
some of them non-nutritional, to improve flavor, texture, color, shelf life, or ease
of manufacturing.
</p>
<p>Depending on local custom and convenience, bread may be served in various forms at
any meal of the day. It also is eaten as a snack, or used as an ingredient in other
culinary preparations, such as fried items coated in crumbs to prevent sticking, or
the bland main component of a
<a href="http://wikipedia.org/wiki/Bread_pudding">bread pudding</a>, or
<a href="http://wikipedia.org/wiki/Stuffing">stuffings</a> designed to fill cavities or retain juices that otherwise might drip away.
</p>
<p>Partly because of its importance as a basic foodstuff, bread has a social and emotional
significance beyond its importance in nutrition; it plays essential roles in religious
rituals and secular culture. Its prominence in daily life is reflected in language,
where it appears in proverbs, colloquial expressions ("He stole the bread from my
mouth"), in prayer ("Give us this day our daily bread") and even in the etymology
of words, such as "
<a href="http://wikipedia.org//en.wiktionary.org/wiki/companion">companion</a>" and "
<a href="http://wikipedia.org//en.wiktionary.org/wiki/company">company</a>" (literally those who eat/share bread with you).
</p>
</div>
</section>
<section>
<header>
<h1>
Etymology
</h1>
</header>
<div>
<p>The word itself,
<a href="http://wikipedia.org/wiki/Old_English_language">Old English</a>
<i>bread</i>, is most common in various forms to many
<a href="http://wikipedia.org/wiki/Germanic_language">Germanic languages</a>, such as
<a href="http://wikipedia.org/wiki/West_Frisian_language">Frisian</a>
<i>brea</i>,
<a href="http://wikipedia.org/wiki/Dutch_language">Dutch</a>
<i>brood</i>,
<a href="http://wikipedia.org/wiki/German_language">German</a>
<i>Brot</i>,
<a href="http://wikipedia.org/wiki/Swedish_(language)">Swedish</a>
<i>bröd</i>, and
<a href="http://wikipedia.org/wiki/Norwegian_language">Norwegian</a> and
<a href="http://wikipedia.org/wiki/Danish_language">Danish</a>
<i>brød</i>; it has been claimed to be derived from the root of
<i>
<a href="http://wikipedia.org/wiki/Brewing">brew</a>
</i>. It may be connected with the root of
<i>break</i>, for its early uses are confined to
<i>broken pieces</i> or
<i>bits</i> of bread, the
<a href="http://wikipedia.org/wiki/Latin">Latin</a>
<i>crustum</i>, and it was not until the 12th century that it took the place—as the generic name
for bread—of
<i>hlaf</i> (
<i>hlaifs</i> in
<a href="http://wikipedia.org/wiki/Gothic_language">Gothic</a>: modern English
<i>loaf</i>), which appears to be the oldest
<a href="http://wikipedia.org/wiki/Germanic_languages">Teutonic</a> name.
<a href="http://wikipedia.org/wiki/Old_High_German">Old High German</a>
<i>hleib</i>
and modern
<a href="http://wikipedia.org/wiki/German_language">German</a>
<i>Laib</i> derive from this
<a href="http://wikipedia.org/wiki/Proto-Germanic">Proto-Germanic</a> word for "loaf", which was borrowed into Slavic (
<a href="http://wikipedia.org/wiki/Polish_language">Polish</a>
<i>chleb</i>,
<a href="http://wikipedia.org/wiki/Russian_language">Russian</a>
<i>khleb</i>) and Finnic (
<a href="http://wikipedia.org/wiki/Finnish_(language)">Finnish</a>
<i>leipä</i>,
<a href="http://wikipedia.org/wiki/Estonian_language">Estonian</a>
<i>leib</i>) languages as well.
</p>
<p>In many cultures, bread is a
<a href="http://wikipedia.org/wiki/Metaphor">metaphor</a> for basic necessities and living conditions in general. For example, a "bread-winner"
is a household's main economic contributor and has little to do with actual bread-provision.
This is also seen in the phrase "putting bread on the table". The Roman poet
<a href="http://wikipedia.org/wiki/Juvenal">Juvenal</a> satirized superficial politicians and the public as caring only for "
<i>panem et circenses</i>" (
<a href="http://wikipedia.org/wiki/Bread_and_circuses">bread and circuses</a>). In
<a href="http://wikipedia.org/wiki/Russian_Soviet_Federative_Socialist_Republic">Russia</a> in 1917, the Bolsheviks promised "peace, land, and bread."
The term "
<a href="http://wikipedia.org/wiki/Breadbasket">breadbasket</a>" denotes an agriculturally productive region. In
<a href="http://wikipedia.org/wiki/Slavic_peoples">Slavic</a> cultures
<a href="http://wikipedia.org/wiki/Bread_and_salt">bread and salt</a> is offered as a welcome to guests. In
<a href="http://wikipedia.org/wiki/India">India</a>, life's basic necessities are often referred to as "roti, kapra aur makan" (bread,
cloth, and house). In
<a href="http://wikipedia.org/wiki/Israel">Israel</a>, the most usual phrase in work-related demonstrations is
<i>lekhem, avoda</i> ("bread, work").
</p>
<p>The word
<i>bread</i> is commonly used around the world in
<a href="http://wikipedia.org/wiki/English_language">English</a>-speaking countries as a
<a href="http://wikipedia.org/wiki/Synonym">synonym</a> for
<a href="http://wikipedia.org/wiki/Money">money</a>
(as is the case with the word "
<a href="http://wikipedia.org/wiki/Dough">dough</a>"). A remarkable or revolutionary innovation is often referred to in North America
and the United Kingdom as "
<a href="http://wikipedia.org/wiki/Sliced_bread">the greatest thing since sliced bread</a>" or "the best thing since sliced bread". In
<a href="http://wikipedia.org/wiki/Rhyming_slang">Cockney rhyming slang</a>,
<i>bread</i> means money; this usage is derived from the phrase "bread and honey".
</p>
</div>
</section>
<section>
<header>
<h1>
History
</h1>
</header>
<div>
<p>Bread is one of the oldest prepared foods. Evidence from 30,000 years ago in Europe
revealed starch residue on rocks used for pounding plants. It is possible that during this time, starch extract from the roots of plants, such
as cattails and ferns, was spread on a flat rock, placed over a fire and cooked into
a primitive form of flatbread. Around 10,000 BC, with the dawn of the
<a href="http://wikipedia.org/wiki/Neolithic">Neolithic</a> age and the spread of agriculture, grains became the mainstay of making bread. Yeast
spores are ubiquitous, including the surface of
<a href="http://wikipedia.org/wiki/Cereal">cereal grains</a>, so any dough left to rest will become naturally leavened.
</p>
<p>There were multiple sources of
<a href="http://wikipedia.org/wiki/Leavening">leavening</a> available for early bread. Airborne yeasts could be harnessed by leaving uncooked
dough exposed to air for some time before cooking.
<a href="http://wikipedia.org/wiki/Pliny_the_Elder">Pliny the Elder</a> reported that the
<a href="http://wikipedia.org/wiki/Gauls">Gauls</a> and
<a href="http://wikipedia.org/wiki/Iberians">Iberians</a> used the foam skimmed from
<a href="http://wikipedia.org/wiki/Beer">beer</a> to produce "a lighter kind of bread than other peoples." Parts of the ancient world
that drank wine instead of beer used a paste composed of
<a href="http://wikipedia.org/wiki/Grape">grape</a> juice and flour that was allowed to begin fermenting, or wheat bran steeped in
<a href="http://wikipedia.org/wiki/Wine">wine</a>, as a source for
<a href="http://wikipedia.org/wiki/Yeast">yeast</a>. The most common source of leavening was to retain a piece of dough from the previous
day to use as a form of sourdough
<a href="http://wikipedia.org/wiki/Bread_starter">starter</a>.
</p>
<p>In 1961 the
<a href="http://wikipedia.org/wiki/Chorleywood_bread_process">Chorleywood bread process</a> was developed, which used the intense mechanical working of dough to dramatically
reduce the
<a href="http://wikipedia.org/wiki/Fermentation_(food)">fermentation</a> period and the time taken to produce a loaf. The process, whose high-energy mixing
allows for the use of lower protein grain, is now widely used around the world in
large factories. As a result, bread can be produced very quickly and at low costs
to the manufacturer and the consumer. However, there has been some criticism of the
effect on nutritional value.
</p>
<p>Recently, domestic
<a href="http://wikipedia.org/wiki/Bread_machine">bread machines</a> that automate the process of making bread have become popular.
</p>
</div>
</section>
<section>
<header>
<h1>
Types
</h1>
</header>
<div>
<p>Bread is the staple
<a href="http://wikipedia.org/wiki/Food">food</a> of the
<a href="http://wikipedia.org/wiki/Middle_East">Middle East</a>,
<a href="http://wikipedia.org/wiki/North_Africa">North Africa</a>,
<a href="http://wikipedia.org/wiki/Europe">Europe</a>, and in European-derived cultures such as those in the
<a href="http://wikipedia.org/wiki/Americas">Americas</a>,
<a href="http://wikipedia.org/wiki/Australia">Australia</a>, and
<a href="http://wikipedia.org/wiki/Southern_Africa">Southern Africa</a>, in contrast to East Asia where
<a href="http://wikipedia.org/wiki/Rice">rice</a> is the staple. Bread is usually made from a
<a href="http://wikipedia.org/wiki/Wheat">wheat</a>-
<a href="http://wikipedia.org/wiki/Flour">flour</a>
<a href="http://wikipedia.org/wiki/Dough">dough</a> that is cultured with yeast, allowed to rise, and finally baked in an
<a href="http://wikipedia.org/wiki/Oven">oven</a>. Owing to its high levels of
<a href="http://wikipedia.org/wiki/Gluten">gluten</a> (which give the dough sponginess and elasticity),
<a href="http://wikipedia.org/wiki/Common_wheat">common wheat</a> (also known as bread wheat) is the most common grain used for the preparation of
bread.
</p>
<p>Bread is also made from the flour of other wheat species (including
<a href="http://wikipedia.org/wiki/Durum">durum</a>,
<a href="http://wikipedia.org/wiki/Spelt">spelt</a> and
<a href="http://wikipedia.org/wiki/Emmer">emmer</a>),
<a href="http://wikipedia.org/wiki/Rye">rye</a>,
<a href="http://wikipedia.org/wiki/Barley">barley</a>,
<a href="http://wikipedia.org/wiki/Maize">maize</a> (corn), and
<a href="http://wikipedia.org/wiki/Oat">oats</a>, usually, but not always, in combination with wheat flour. Spelt bread (Dinkelbrot)
continues to be widely consumed in Germany, and emmer bread was a staple food in ancient
Egypt.
<a href="http://wikipedia.org/wiki/Canadian_White">Canadian bread</a> is known for its heartier consistency due to high protein levels in Canadian flour.
</p>
<ul>
<li>
<p>
<a href="http://wikipedia.org/wiki/Pita">Pita</a> is an ancient semi-leavened bread widespread in the Middle East, Levant and South
Eastern Europe.
</p>
</li>
<li>
<p>
<a href="http://wikipedia.org/wiki/White_bread">White bread</a> is made from
<a href="http://wikipedia.org/wiki/Flour">flour</a> containing only the central core of the grain (endosperm).
</p>
</li>
<li>
<p>
<a href="http://wikipedia.org/wiki/Brown_bread">Brown bread</a> is made with endosperm and 10% bran. It can also refer to white bread with added
coloring (often caramel) to make it brown; this is commonly labeled in America as
wheat bread (as opposed to
<a href="http://wikipedia.org/wiki/Whole-wheat_bread">whole-wheat bread</a>).
</p>
</li>
<li>
<p>
<a href="http://wikipedia.org/wiki/Wholemeal_bread">Wholemeal bread</a> contains the whole of the wheat grain (endosperm, bran, and germ). It is also referred
to as "whole-grain" or "whole-wheat bread", especially in
<a href="http://wikipedia.org/wiki/North_America">North America</a>.
</p>
</li>
<li>
<p>
<a href="http://wikipedia.org/wiki/Cereal_germ">Wheat germ</a> bread has added wheat germ for flavoring.
</p>
</li>
<li>
<p>Whole-grain bread can refer to the same as wholemeal bread, or to white bread with
added whole grains to increase its fibre content, as in "60% whole-grain bread".
</p>
</li>
</ul>
<ul>
<li>
<p>
<a href="http://wikipedia.org/wiki/Roti">Roti</a> is a whole-wheat-based bread eaten in South Asia.
<a href="http://wikipedia.org/wiki/Chapatti">Chapatti</a> is a type of roti.
<a href="http://wikipedia.org/wiki/Naan">Naan</a> is a leavened equivalent to these.
</p>
</li>
<li>
<p>Granary bread (a registered trademark, owned by
<a href="http://wikipedia.org/wiki/Rank_Hovis">Rank Hovis</a>
) is made from flaked wheat grains and white or brown flour. The standard malting
process is modified to maximise the maltose or sugar content but minimise residual
alpha amylase content. Other flavor components are imparted from partial fermentation
due to the particular malting process used and to
<a href="http://wikipedia.org/wiki/Maillard_reaction">Maillard reactions</a> on flaking and toasting.
</p>
</li>
<li>
<p>
<a href="http://wikipedia.org/wiki/Rye_bread">Rye bread</a> is made with flour from rye grain of varying levels. It is higher in fiber than many
common types of bread and is often darker in color and stronger in flavor. It is popular
in
<a href="http://wikipedia.org/wiki/Scandinavia">Scandinavia</a>, Germany,
<a href="http://wikipedia.org/wiki/Finland">Finland</a>, the
<a href="http://wikipedia.org/wiki/Baltic_States">Baltic States</a>, and
<a href="http://wikipedia.org/wiki/Russia">Russia</a>.
</p>
</li>
<li>
<p>Unleavened bread or
<a href="http://wikipedia.org/wiki/Matzo">matzo</a>, used for the
<a href="http://wikipedia.org/wiki/Jewish">Jewish</a> feast of
<a href="http://wikipedia.org/wiki/Passover">Passover</a>, does not include yeast, so it does not rise.
</p>
</li>
<li>
<p>
<a href="http://wikipedia.org/wiki/Sourdough_bread">Sourdough bread</a> is made with a
<a href="http://wikipedia.org/wiki/Bread_starter">starter</a>.
</p>
</li>
<li>
<p>
<a href="http://wikipedia.org/wiki/Flatbread">Flatbread</a> is often simple, made with flour, water, and salt, and then formed into flattened
dough; most are unleavened, made without yeast or sourdough culture, though some are
made with yeast.
</p>
</li>
<li>
<p>
<a href="http://wikipedia.org/wiki/Crisp_bread">Crisp bread</a> is a flat and dry type of bread or
<a href="http://wikipedia.org/wiki/Cracker_(food)">cracker</a>, containing mostly
<a href="http://wikipedia.org/wiki/Rye">rye</a> flour.
</p>
</li>
<li>
<p>
<a href="http://wikipedia.org/wiki/Hemp">Hemp</a> bread includes strongly flavored hemp flour or seeds. Hemp has been used for thousands
of years in
<a href="http://wikipedia.org/wiki/Traditional_Chinese_medicine">traditional Chinese medicine</a>. Hemp flour is the by-product from pressing the oil from the seeds and milling the
residue. It is perishable and stores best in the freezer. Hemp dough won't rise due
to its lack of gluten, and for that reason it is best mixed with other flours. A 5:1
ratio of wheat-to-hemp flour produces a hearty, nutritious loaf high in protein and
<a href="http://wikipedia.org/wiki/Essential_fatty_acid">essential fatty acids</a>. Hemp seeds have a relatively high oil content of 25–35%, and can be added at a rate
up to 15% of the wheat flour. The
<a href="http://wikipedia.org/wiki/Hemp_oil">oil's</a>
<a href="http://wikipedia.org/wiki/Omega-3_fatty_acid#The_omega-6_to_omega-3_ratio">omega-6-to-omega-3 ratio</a> lies in the range of 2:1-to-3:1, which is considered ideal for human nutrition.
</p>
</li>
<li>
<p>
<a href="http://wikipedia.org/wiki/Quick_breads">Quick breads</a> usually refers to a bread chemically leavened, usually with both baking powder and
baking soda, and a balance of acidic ingredients and alkaline ingredients. Examples
include
<a href="http://wikipedia.org/wiki/Pancake">pancakes</a> and