diff --git a/xml/xml-psi-impl/resources/standardSchemas/svg.xsd b/xml/xml-psi-impl/resources/standardSchemas/svg.xsd
new file mode 100644
index 000000000000..160245f785d7
--- /dev/null
+++ b/xml/xml-psi-impl/resources/standardSchemas/svg.xsd
@@ -0,0 +1,3110 @@
+
+
+
+
+
+
+
+
+ The actual definition is baseline | sub | super | percentage | length | inherit not sure that union can do this
+
+
+
+
+
+
+
+ Space-separated list of classes
+
+
+
+
+
+ shape | auto | inherit
+
+
+
+
+
+ uri | none | inherit
+
+
+
+
+
+ 'clip-rule' or fill-rule property/attribute value
+
+
+
+
+
+
+
+
+
+ media type, as per [RFC2045]
+ media type, as per [RFC2045]
+
+
+
+
+
+ a co-ordinate
+
+ a coordinate, which is a number optionally followed immediately by a unit identifier. Perhaps it is possible to represent this as a union by declaring unit idenifiers as a type?
+
+
+
+
+
+
+
+
+
+ a space separated list of CoordinateType. Punt to 'string' for now
+
+
+
+
+
+
+ a CSS2 Color
+
+ Color as defined in CSS2 and XSL 1.0 plus additional recognised color keyword names (the 'X11 colors')
+
+
+
+
+
+
+
+ Value is an optional comma-separated list orf uri references followed by one token from an enumerated list.
+
+
+ [ [uri ,]* [ auto | crosshair | default | pointer | move | e-resize | ne-resize | nw-resize | n-resize | se-resize | sw-resize | s-resize | w-resize| text | wait | help ] ] | inherit
+
+
+
+
+
+
+
+ accumulate | new [ x y width height ] | inherit
+
+
+
+
+
+
+ extension list specification
+
+
+
+
+
+ feature list specification
+
+
+
+
+
+ uri | none | inherit
+
+
+
+
+
+
+ [[ family-name | generic-family ],]* [family-name | generic-family] | inherit
+
+
+ 'font-family' property/attribute value (i.e., list of fonts)
+
+
+
+
+
+
+ 'font-size' property/attribute value
+
+ absolute-size | relative-size | length | percentage | inherit
+
+
+
+
+
+
+ 'font-size-adjust' property/attribute value
+ number | none | inherit
+
+
+
+
+
+
+ 'glyph-orientation-horizontal' property/attribute value (e.g., angle)
+
+ angle | inherit
+
+
+
+
+
+
+ 'glyph-orientation-vertical' property/attribute value (e.g., 'auto', angle)
+
+ auto | angle | inherit
+
+
+
+
+
+
+
+ 'kerning' property/attribute value (e.g., auto | length)
+
+ auto | length | inherit
+
+
+
+
+
+ a language code, as per [RFC3066]
+
+
+
+
+
+
+
+ a comma-separated list of language codes, as per [RFC3066]
+
+
+
+
+
+
+
+ a length
+
+
+
+
+
+
+
+ a list of lengths
+
+
+
+
+
+
+ link to this target
+
+
+
+
+
+
+ 'marker' property/attribute value (e.g., 'none', %URI;)
+
+
+
+
+
+
+
+
+ 'mask' property/attribute value (e.g., 'none', %URI;)
+
+ uri | none | inherit
+
+
+
+
+
+ comma-separated list of media descriptors.
+
+
+
+
+
+
+
+ list of numbers, but at least one and at most two
+
+
+
+
+
+
+ a number or a percentage
+
+
+
+
+
+ list of numbers
+
+
+
+
+
+ opacity value (e.g., number)
+ alphavalue | inherit
+
+
+
+
+
+ a 'fill' or 'stroke' property/attribute value
+
+
+
+
+
+ a path data specification
+
+ Yes, of course this was generated by a program!
+
+
+
+
+
+ a list of points
+
+
+
+
+
+ 'preserveAspectRatio' attribute specification
+
+
+
+
+
+
+
+ script expression
+
+
+
+
+
+
+ 'letter-spacing' or 'word-spacing' property/attribute value (e.g., normal | length)
+
+
+
+
+
+
+
+ 'stroke-dasharray' property/attribute value (e.g., 'none', list of numbers)
+
+
+
+
+
+
+
+ 'stroke-dashoffset' property/attribute value (e.g., 'none', >length>)
+
+
+
+
+
+
+
+ 'stroke-miterlimit' property/attribute value (e.g., number)
+
+
+
+
+
+
+
+ 'stroke-width' property/attribute value (e.g., length)
+
+
+
+
+
+
+
+ style sheet data
+
+
+
+
+
+ An SVG color value (sRGB plus optional ICC)
+
+
+
+
+
+
+
+ 'text-decoration' property/attribute value (e.g., 'none', 'underline')
+
+
+
+
+
+
+ Yes, of course this was generated by a program!
+ list of transforms
+
+
+
+
+
+
+ 'viewBox' attribute specification
+
+
+
+
+
+ All elements have an ID
+
+
+
+
+
+
+
+ Common attributes for elements that might contain character data content
+
+
+
+
+
+
+
+ Common attributes to check for system capabilities
+
+
+
+
+
+
+
+
+ For most uses of URI referencing: standard XLink attributes other than xlink:href
+
+
+
+
+
+
+
+
+
+
+
+
+ Standard XLink attributes for uses of URI referencing where xlink:show is 'embed'
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The following presentation attributes have to do with specifying color.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The following presentation attributes apply to container elements
+
+
+
+
+
+
+
+ The following presentation attributes apply to 'feFlood' elements
+
+
+
+
+
+
+
+
+ The following presentation attributes apply to filter primitives
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The following presentation attributes apply to filling and stroking operations
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The following presentation attributes have to do with selecting a font to use
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The following presentation attributes apply to gradient 'stop' elements
+
+
+
+
+
+
+
+
+ The following presentation attributes apply to graphics elements
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The following presentation attributes apply to 'image' elements
+
+
+
+
+
+
+
+ The following presentation attributes apply to 'feDiffuseLighting' and 'feSpecularLighting' elements
+
+
+
+
+
+
+
+ The following presentation attributes apply to marker operations
+
+
+
+
+
+
+
+
+
+ The following presentation attributes apply to text content elements
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The following presentation attributes apply to 'text' elements
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The following presentation attributes apply to elements that establish viewports
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The following represents the complete list of presentation attributes
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A bit simpler than the DTD, but see commented-out alternative
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/xml/xml-psi-impl/resources/standardSchemas/xlink.xsd b/xml/xml-psi-impl/resources/standardSchemas/xlink.xsd
new file mode 100644
index 000000000000..a4eb80ec6313
--- /dev/null
+++ b/xml/xml-psi-impl/resources/standardSchemas/xlink.xsd
@@ -0,0 +1,293 @@
+
+
+
+
+ This schema is not normative, or even definitive. The
+ prose copy in the XLink 1.1 recommendation (http://www.w3.org/TR/xlink11/) is
+ definitive, although it should not differ from this file, except for the
+ absence of these two initial comments.
+
+
+
+ In keeping with the W3C's standard versioning
+ policy, this schema document will persist at
+ http://www.w3.org/XML/2008/06/xlink.xsd.
+ At the date of issue it can also be found at
+ http://www.w3.org/1999/xlink.xsd.
+ The schema document at that URI may however change in the future,
+ in order to remain compatible with the latest version of XML Schema
+ itself, or with the XLink namespace itself. In other words, if the XML
+ Schema or XLink namespaces change, the version of this document at
+ http://www.w3.org/1999/xlink.xsd will change
+ accordingly; the version at
+ http://www.w3.org/2008/06/xlink.xsd will not change.
+
+
+
+
+ This schema document provides attribute declarations and
+ attribute group, complex type and simple type definitions which can be used in
+ the construction of user schemas to define the structure of particular linking
+ constructs, e.g.
+
+
+
+
+
+
+ ...
+
+ ...
+
+
+ ...
+]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Intended for use as the type of user-declared elements to make them
+ simple links.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Intended for use as the type of user-declared elements to make them
+ extended links.
+ Note that the elements referenced in the content model are all abstract.
+ The intention is that by simply declaring elements with these as their
+ substitutionGroup, all the right things will happen.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ xml:lang is not required, but provides much of the
+ motivation for title elements in addition to attributes, and so
+ is provided here for convenience.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ label is not required, but locators have no particular
+ XLink function if they are not labeled.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ from and to have default behavior when values are missing
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/xml/xml-psi-impl/src/com/intellij/javaee/InternalResourceProvider.java b/xml/xml-psi-impl/src/com/intellij/javaee/InternalResourceProvider.java
index cbf3c5d083cd..e7a5da2a5326 100644
--- a/xml/xml-psi-impl/src/com/intellij/javaee/InternalResourceProvider.java
+++ b/xml/xml-psi-impl/src/com/intellij/javaee/InternalResourceProvider.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2014 JetBrains s.r.o.
+ * Copyright 2000-2017 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -65,7 +65,8 @@ public class InternalResourceProvider implements StandardResourceProvider{
// svg and mathML
impl.addIgnoredResource(HtmlUtil.MATH_ML_NAMESPACE);
- impl.addIgnoredResource(HtmlUtil.SVG_NAMESPACE);
+ //impl.addIgnoredResource(HtmlUtil.SVG_NAMESPACE);
impl.addInternalResource("http://www.w3.org/1999/xlink", "xlink.dtd");
+ impl.addInternalResource(HtmlUtil.SVG_NAMESPACE, "svg.xsd");
}
}