Add XInclude.xsd catalog contribution

Change-Id: I3e57e34f800d3d79f183bfa0d0b45df1a0d7baf9
Signed-off-by: Carsten Hiesserich <carsten.hie@gmail.com>
diff --git a/org.eclipse.vex.core/build.properties b/org.eclipse.vex.core/build.properties
index c9b94a1..de08d67 100644
--- a/org.eclipse.vex.core/build.properties
+++ b/org.eclipse.vex.core/build.properties
@@ -2,4 +2,5 @@
 output.. = bin/
 bin.includes = plugin.properties,\
                META-INF/,\
-               .
+               .,\
+               plugin.xml
diff --git a/org.eclipse.vex.core/plugin.xml b/org.eclipse.vex.core/plugin.xml
new file mode 100644
index 0000000..4611f5e
--- /dev/null
+++ b/org.eclipse.vex.core/plugin.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.4"?>
+<plugin>
+   <extension
+         point="org.eclipse.wst.xml.core.catalogContributions">
+      <catalogContribution
+            id="XInclude">
+         <uri
+               name="http://www.w3.org/2001/XInclude"
+               uri="xsd/XInclude.xsd">
+         </uri>
+         <system
+               systemId="http://www.w3.org/2001/XInclude.xsd"
+               uri="xsd/XInclude.xsd">
+         </system>
+      </catalogContribution>
+   </extension>
+
+</plugin>
diff --git a/org.eclipse.vex.core/xsd/XInclude.xsd b/org.eclipse.vex.core/xsd/XInclude.xsd
new file mode 100644
index 0000000..8fbe0c8
--- /dev/null
+++ b/org.eclipse.vex.core/xsd/XInclude.xsd
@@ -0,0 +1,49 @@
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
+           xmlns:xi="http://www.w3.org/2001/XInclude"
+           targetNamespace="http://www.w3.org/2001/XInclude"
+           finalDefault="extension">
+  <xs:annotation>
+   <xs:documentation>
+    Not normative, but may be useful.
+    See the REC http://www.w3.org/TR/XInclude for definitive
+    information about this namespace.
+   </xs:documentation>
+  </xs:annotation>
+
+  <xs:element name="include" type="xi:includeType" />
+
+  <xs:complexType name="includeType" mixed="true">
+    <xs:choice minOccurs='0' maxOccurs='unbounded' >
+      <xs:element ref='xi:fallback' />
+      <xs:any namespace='##other' processContents='lax' />
+      <xs:any namespace='##local' processContents='lax' />
+    </xs:choice>
+    <xs:attribute name="href" use="optional" type="xs:anyURI"/>
+    <xs:attribute name="parse" use="optional" default="xml"
+                  type="xi:parseType" />
+    <xs:attribute name="xpointer" use="optional" type="xs:string"/>
+    <xs:attribute name="encoding" use="optional" type="xs:string"/>
+    <xs:attribute name="accept" use="optional" type="xs:string"/>
+    <xs:attribute name="accept-language" use="optional" type="xs:string"/>
+    <xs:anyAttribute namespace="##other" processContents="lax"/>
+  </xs:complexType>
+
+  <xs:simpleType name="parseType">
+    <xs:restriction base="xs:token">
+      <xs:enumeration value="xml"/>
+      <xs:enumeration value="text"/>
+    </xs:restriction>
+  </xs:simpleType>
+  
+  <xs:element name="fallback" type="xi:fallbackType" />
+
+  <xs:complexType name="fallbackType" mixed="true">
+    <xs:choice minOccurs="0" maxOccurs="unbounded">
+      <xs:element ref="xi:include"/>
+      <xs:any namespace="##other" processContents="lax"/>
+      <xs:any namespace="##local" processContents="lax"/>
+    </xs:choice>
+    <xs:anyAttribute namespace="##other" processContents="lax" />
+  </xs:complexType>
+
+</xs:schema>