diff --git a/LICENSE b/LICENSE
index 99877cc..8f646f1 100644
--- a/LICENSE
+++ b/LICENSE
@@ -238,9 +238,8 @@
 in the FAQ [2].
 
 [1] http://www.w3.org/Consortium/Legal/copyright-software-19980720
-    ./LICENSE.w3c.19980720
-[2] http://www.w3.org/Consortium/Legal/IPR-FAQ-20000620.html#DTD
     ./taverna-robundle/src/main/resources/META-INF/LICENSE.w3c.19980720
+[2] http://www.w3.org/Consortium/Legal/IPR-FAQ-20000620.html#DTD
 
 
 
@@ -258,5 +257,5 @@
 
 W3C liability, trademark and document use rules apply.
 http://www.w3.org/Consortium/Legal/2015/doc-license
-
+./taverna-scufl2-schemas/src/main/resources/META-INF/LICENSE.w3c.document
 
diff --git a/taverna-robundle/src/main/resources/META-INF/LICENSE b/taverna-robundle/src/main/resources/META-INF/LICENSE
index df8a398..1ecd9b6 100644
--- a/taverna-robundle/src/main/resources/META-INF/LICENSE
+++ b/taverna-robundle/src/main/resources/META-INF/LICENSE
@@ -202,8 +202,6 @@
    limitations under the License.
 
 
-
-
 ---------------------------------------------------------
 ./taverna-robundle/src/main/xsd/xenc-schema.xsd
 
@@ -212,11 +210,17 @@
 http://www.w3.org/TR/xmlenc-core/xenc-schema.xsd
 http://www.w3.org/TR/xmlenc-core/
 
-Copyright (c) 2002 World Wide Web Consortium, (Massachusetts
-Institute of Technology, Institut National de Recherche en Informatique et en
-Automatique, Keio University). All Rights Reserved.
-http://www.w3.org/Consortium/Legal/
+Copyright ©[2011] World Wide Web Consortium 
+(Massachusetts Institute of Technology,  
+ European Research Consortium for Informatics and Mathematics, 
+ Keio University). All Rights Reserved.  
+This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE. 
 
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+    META-INF/LICENSE.w3c.20021231    
 
 ---------------------------------------------------------
 ./taverna-robundle/src/main/xsd/xmldsig-core-schema.xsd
@@ -234,7 +238,24 @@
 in the FAQ [2].
 
 [1] http://www.w3.org/Consortium/Legal/copyright-software-19980720
+    META-INF/LICENSE.w3c.19980720
 [2] http://www.w3.org/Consortium/Legal/IPR-FAQ-20000620.html#DTD
 
 
----------------------------------------------------------
+
+------------------------------------------------------
+./taverna-scufl2-schemas/src/main/resources/org/apache/taverna/scufl2/rdfxml/xsd/xml.xsd
+
+xml.xsd
+Extensible Markup Language (XML) 1.0 (Fifth Edition)
+W3C Recommendation 26 November 2008
+http://www.w3.org/2001/xml.xsd
+http://www.w3.org/TR/xml/
+
+Copyright (c) 2015 W3C(R) (MIT, ERCIM, Keio, Beihang). This software or
+document includes material copied from or derived from:
+
+W3C liability, trademark and document use rules apply.
+http://www.w3.org/Consortium/Legal/2015/doc-license
+
+
diff --git a/taverna-scufl2-schemas/src/main/resources/META-INF/LICENSE b/taverna-scufl2-schemas/src/main/resources/META-INF/LICENSE
index da3b0d8..8934ab6 100644
--- a/taverna-scufl2-schemas/src/main/resources/META-INF/LICENSE
+++ b/taverna-scufl2-schemas/src/main/resources/META-INF/LICENSE
@@ -218,5 +218,5 @@
 
 W3C liability, trademark and document use rules apply.
 http://www.w3.org/Consortium/Legal/2015/doc-license
-
+META-INF/LICENSE.w3c.document
 
diff --git a/taverna-scufl2-schemas/src/main/resources/META-INF/LICENSE.w3c.document b/taverna-scufl2-schemas/src/main/resources/META-INF/LICENSE.w3c.document
new file mode 100644
index 0000000..4a546f3
--- /dev/null
+++ b/taverna-scufl2-schemas/src/main/resources/META-INF/LICENSE.w3c.document
@@ -0,0 +1,86 @@
+License for xml.xsd
+https://www.w3.org/Consortium/Legal/2015/doc-license
+
+# W3C Document License
+
+Status: This document takes effect 1 February 2015.
+
+Public documents on the W3C site are provided by the copyright holders under
+the following license.
+
+## License
+
+By using and/or copying this document, or the W3C document from which this
+statement is linked, you (the licensee) agree that you have read, understood,
+and will comply with the following terms and conditions:
+
+Permission to copy, and distribute the contents of this document, or the W3C
+document from which this statement is linked, in any medium for any purpose and
+without fee or royalty is hereby granted, provided that you include the
+following on ALL copies of the document, or portions thereof, that you use:
+
+* A link or URL to the original W3C document.
+
+* The pre-existing copyright notice of the original author, or if it doesn't
+  exist, a notice (hypertext is preferred, but a textual representation is
+  permitted) of the form: "Copyright © [$date-of-document] World Wide Web
+  Consortium, (MIT, ERCIM, Keio, Beihang).
+  http://www.w3.org/Consortium/Legal/2015/doc-license"
+
+* If it exists, the STATUS of the W3C document.
+
+When space permits, inclusion of the full text of this NOTICE should be
+provided. We request that authorship attribution be provided in any software,
+documents, or other items or products that you create pursuant to the
+implementation of the contents of this document, or any portion thereof.
+
+No right to create modifications or derivatives of W3C documents is granted
+pursuant to this license, except as follows: To facilitate implementation of
+the technical specifications set forth in this document, anyone may prepare and
+distribute derivative works and portions of this document in software, in
+supporting materials accompanying software, and in documentation of software,
+PROVIDED that all such works include the notice below. HOWEVER, the publication
+of derivative works of this document for use as a technical specification is
+expressly prohibited.
+
+In addition, "Code Components" —Web IDL in sections clearly marked as Web IDL;
+and W3C-defined markup (HTML, CSS, etc.) and computer programming language code
+clearly marked as code examples— are licensed under the W3C Software License.
+<http://www.w3.org/Consortium/Legal/copyright-software>
+
+The notice is:
+
+    "Copyright © 2015 W3C® (MIT, ERCIM, Keio, Beihang). This software or document includes material copied from or derived from [title and URI of the W3C document]." 
+
+## Disclaimers
+
+THIS DOCUMENT IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO
+REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED
+TO, WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE,
+NON-INFRINGEMENT, OR TITLE; THAT THE CONTENTS OF THE DOCUMENT ARE SUITABLE FOR
+ANY PURPOSE; NOR THAT THE IMPLEMENTATION OF SUCH CONTENTS WILL NOT INFRINGE ANY
+THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.
+
+COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR
+CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE DOCUMENT OR THE PERFORMANCE
+OR IMPLEMENTATION OF THE CONTENTS THEREOF.
+
+The name and trademarks of copyright holders may NOT be used in advertising or
+publicity pertaining to this document or its contents without specific, written
+prior permission. Title to copyright in this document will at all times remain
+with copyright holders.  
+
+## Notes
+
+This version: https://www.w3.org/Consortium/Legal/2015/doc-license
+Latest version: https://www.w3.org/Consortium/Legal/copyright-documents
+Previous version: http://www.w3.org/Consortium/Legal/2002/copyright-documents-20021231
+
+### Changes since the previous Document License
+
+* This version grants limited permission to create and distribute derivative
+  works except for use as technical specifications.
+
+* This version licenses Code Components under the W3C Software License.
+
+
