diff --git a/xslt/.gitignore b/xslt/.gitignore
new file mode 100644
index 00000000..d1a79349
--- /dev/null
+++ b/xslt/.gitignore
@@ -0,0 +1,3 @@
+*.html
+*.test_result.xml
+*.next_day.xml
diff --git a/xslt/README.md b/xslt/README.md
new file mode 100644
index 00000000..d06ce2ce
--- /dev/null
+++ b/xslt/README.md
@@ -0,0 +1,19 @@
+# XSLT port of the Gilded-Rose Kata
+
+This is a XSLT 1.0 port of the *Gilded-Rose-Kata*.
+
+## Building and Running
+
+* [Apache Ant's XSLT task](https://ant.apache.org/manual/Tasks/style.html) is used to run the transformations.
+* `update_quality.xsl` contains the Gilded Rose logic.
+* Run Ant in the current folder to transform all files.
+* `texttest_fixture.xml` is transformed into `texttest_fixture.next_day.xml` with updated values.
+
+## Unit Test
+
+[xsltunit](http://xsltunit.org/) is a implementation of xUnit in XSLT.
+
+* `tst_update_quality.xsl`is the the test (stylesheet).
+* Run Ant in the current folder to run the tests.
+* `update_quality.test_result.xml` contains the results and
+ `update_quality.test_result.html` is a readable report.
diff --git a/xslt/build.xml b/xslt/build.xml
new file mode 100644
index 00000000..98eaa2ff
--- /dev/null
+++ b/xslt/build.xml
@@ -0,0 +1,76 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/xslt/gilded_rose.dtd b/xslt/gilded_rose.dtd
new file mode 100644
index 00000000..2967f30d
--- /dev/null
+++ b/xslt/gilded_rose.dtd
@@ -0,0 +1,8 @@
+
+
+
+
+
+
diff --git a/xslt/texttest_fixture.xml b/xslt/texttest_fixture.xml
new file mode 100644
index 00000000..ae15fcf1
--- /dev/null
+++ b/xslt/texttest_fixture.xml
@@ -0,0 +1,18 @@
+
+
+
+ OMGHAI!
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/xslt/tst_update_quality.xsl b/xslt/tst_update_quality.xsl
new file mode 100644
index 00000000..99834ade
--- /dev/null
+++ b/xslt/tst_update_quality.xsl
@@ -0,0 +1,92 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ OMGHAI!
+
+
+
+
+
+ OMGHAI!
+
+
+
+
+
+
+
+
+
+ OMGHAI!
+
+
+
+
+
+ 12
+
+
+
+
+
+
+
+
+
+ 13
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ fixme
+
+
+
+
+
+
diff --git a/xslt/update_quality.xsl b/xslt/update_quality.xsl
new file mode 100644
index 00000000..f98a5baf
--- /dev/null
+++ b/xslt/update_quality.xsl
@@ -0,0 +1,141 @@
+
+
+
+
+
+
+<!DOCTYPE gildedrose SYSTEM "gilded_rose.dtd">
+
+
+
+
+ OMGHAI!
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+ -0+
+
+
+
+
+ +
+
+
+
+
+
+ +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -1
+
+
+
+
+
+
+
+
+
+
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/xslt/xsltunit-0.2/xsltunit.xsl b/xslt/xsltunit-0.2/xsltunit.xsl
new file mode 100644
index 00000000..447b2f92
--- /dev/null
+++ b/xslt/xsltunit-0.2/xsltunit.xsl
@@ -0,0 +1,158 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Should have been different!
+
+
+
+
+
+
+
+
+
+ passed
+
+
+ failed
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/xslt/xsltunit-0.2/xsltunit_report.xsl b/xslt/xsltunit-0.2/xsltunit_report.xsl
new file mode 100644
index 00000000..fe504d42
--- /dev/null
+++ b/xslt/xsltunit-0.2/xsltunit_report.xsl
@@ -0,0 +1,55 @@
+
+
+
+
+
+
+
+
+ All Tests
+
+
+ Tests Stylesheet
+
+
+
+
+
+
+ Test
+
+
+
+
+
+ Assert ...
+
+
+ Passed
+
+
+ Failed
+
+
+
+
+
+
+
+
+
+
+
+
+
+ | Expected: | |
+
+
+ | Actual: | |
+
+
+
+
+