diff --git a/.idea/codeStyleSettings.xml b/.idea/codeStyleSettings.xml
index b99a172034b3..af2a19460731 100644
--- a/.idea/codeStyleSettings.xml
+++ b/.idea/codeStyleSettings.xml
@@ -90,37 +90,62 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -201,6 +226,36 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/.idea/compiler.xml b/.idea/compiler.xml
index fa595e20de73..569ac7af0c1b 100644
--- a/.idea/compiler.xml
+++ b/.idea/compiler.xml
@@ -20,7 +20,11 @@
-
+
+
+
+
+
diff --git a/.idea/inspectionProfiles/idea_default.xml b/.idea/inspectionProfiles/idea_default.xml
index 78549253c339..89047b57a1b8 100644
--- a/.idea/inspectionProfiles/idea_default.xml
+++ b/.idea/inspectionProfiles/idea_default.xml
@@ -594,6 +594,9 @@
+
+
+
diff --git a/.idea/inspectionProfiles/idea_default_no_spellchecker.xml b/.idea/inspectionProfiles/idea_default_no_spellchecker.xml
index f22b5d38c38c..b86ca5504888 100644
--- a/.idea/inspectionProfiles/idea_default_no_spellchecker.xml
+++ b/.idea/inspectionProfiles/idea_default_no_spellchecker.xml
@@ -799,6 +799,9 @@
+
+
+
diff --git a/.idea/modules.xml b/.idea/modules.xml
index 1e2ce6f4f11a..830183138f6a 100644
--- a/.idea/modules.xml
+++ b/.idea/modules.xml
@@ -123,6 +123,7 @@
+
diff --git a/community-main.iml b/community-main.iml
index 68ce7b7be166..f5341e75ff3d 100644
--- a/community-main.iml
+++ b/community-main.iml
@@ -90,6 +90,7 @@
+
diff --git a/platform/testFramework/src/com/intellij/testFramework/fixtures/CodeInsightFixtureTestCase.java b/platform/testFramework/src/com/intellij/testFramework/fixtures/CodeInsightFixtureTestCase.java
index 4ec6f7d5b10a..742ef3792904 100644
--- a/platform/testFramework/src/com/intellij/testFramework/fixtures/CodeInsightFixtureTestCase.java
+++ b/platform/testFramework/src/com/intellij/testFramework/fixtures/CodeInsightFixtureTestCase.java
@@ -20,6 +20,7 @@ import com.intellij.openapi.editor.Editor;
import com.intellij.openapi.module.Module;
import com.intellij.openapi.project.Project;
import com.intellij.psi.PsiFile;
+import com.intellij.testFramework.PlatformTestUtil;
import com.intellij.testFramework.UsefulTestCase;
import com.intellij.testFramework.builders.EmptyModuleFixtureBuilder;
import com.intellij.testFramework.builders.ModuleFixtureBuilder;
@@ -82,7 +83,12 @@ public abstract class CodeInsightFixtureTestCase
*/
@NonNls
protected final String getTestDataPath() {
- return PathManager.getHomePath().replace(File.separatorChar, '/') + getBasePath();
+ String path = isCommunity() ? PlatformTestUtil.getCommunityPath() : PathManager.getHomePath();
+ return path.replace(File.separatorChar, '/') + getBasePath();
+ }
+
+ protected boolean isCommunity() {
+ return false;
}
protected Project getProject() {
diff --git a/xml/tests/src/com/intellij/codeInsight/SearchingInXmlTest.java b/xml/tests/src/com/intellij/codeInsight/SearchingInXmlTest.java
new file mode 100644
index 000000000000..64f96c81ed88
--- /dev/null
+++ b/xml/tests/src/com/intellij/codeInsight/SearchingInXmlTest.java
@@ -0,0 +1,27 @@
+package com.intellij.codeInsight;
+
+import com.intellij.psi.XmlElementFactory;
+import com.intellij.psi.xml.XmlTag;
+import com.intellij.testFramework.LightIdeaTestCase;
+import com.intellij.util.IncorrectOperationException;
+import com.intellij.xml.util.XmlUtil;
+
+/**
+ * author: lesya
+ */
+public class SearchingInXmlTest extends LightIdeaTestCase {
+ public void test() throws IncorrectOperationException {
+ XmlTag xmlTag = XmlElementFactory.getInstance(getProject()).createTagFromText("" +
+ "name1 1 " +
+ "name2 2 " +
+ "name3 3 " +
+ "name4 4 " +
+ "name5 5 " +
+ "name6 6 " +
+ "name7 7 " +
+ " ");
+ XmlTag found = XmlUtil.find("name", "name4", "tag1", xmlTag);
+
+ assertEquals("4", found.findFirstSubTag("value").getValue().getText());
+ }
+}
diff --git a/xml/tests/src/com/intellij/codeInsight/XmlBuilderTest.java b/xml/tests/src/com/intellij/codeInsight/XmlBuilderTest.java
new file mode 100644
index 000000000000..b735141ace9d
--- /dev/null
+++ b/xml/tests/src/com/intellij/codeInsight/XmlBuilderTest.java
@@ -0,0 +1,257 @@
+/*
+ * @author max
+ */
+package com.intellij.codeInsight;
+
+import com.intellij.psi.impl.source.parsing.xml.XmlBuilder;
+import com.intellij.psi.impl.source.parsing.xml.XmlBuilderDriver;
+import com.intellij.testFramework.LightCodeInsightTestCase;
+import org.jetbrains.annotations.Nullable;
+
+public class XmlBuilderTest extends LightCodeInsightTestCase {
+ private static class TestXmlBuilder implements XmlBuilder {
+ private final StringBuilder builder = new StringBuilder();
+ private final StringBuilder currentPhysicalText = new StringBuilder();
+ private final StringBuilder currentDisplayText = new StringBuilder();
+ private final ProcessingOrder myTagProcessingOrder;
+
+ public TestXmlBuilder(final ProcessingOrder tagsAndAttributes) {
+ myTagProcessingOrder = tagsAndAttributes;
+ }
+
+ @Override
+ public void attribute(final CharSequence name, final CharSequence value, final int startoffset, final int endoffset) {
+ flushText();
+ builder.append("ATT: name='").append(name).append("' value='").append(value).append("'\n");
+ }
+
+ @Override
+ public void endTag(final CharSequence localName, final String namespace, final int startoffset, final int endoffset) {
+ flushText();
+ builder.append("ENDTAG: name='").append(localName).append("' namespace='").append(namespace).append("'\n");
+ }
+
+ @Override
+ public void doctype(@Nullable final CharSequence publicId, @Nullable final CharSequence systemId, final int startOffset, final int endOffset) {
+ }
+
+ @Override
+ public ProcessingOrder startTag(final CharSequence localName, final String namespace, final int startoffset, final int endoffset,
+ final int headerEndOffset) {
+ flushText();
+ builder.append("TAG: name='").append(localName).append("' namespace='").append(namespace).append("'\n");
+ return myTagProcessingOrder;
+ }
+
+ @Override
+ public void textElement(final CharSequence display, final CharSequence physical, final int startoffset, final int endoffset) {
+ currentPhysicalText.append(physical);
+ currentDisplayText.append(display);
+ }
+
+ @Override
+ public void entityRef(final CharSequence ref, final int startOffset, final int endOffset) {
+ flushText();
+ builder.append("REF: '").append(ref).append("'\n");
+ }
+
+ @Override
+ public void error(String message, int startOffset, int endOffset) {
+ flushText();
+ builder.append("ERROR: '").append(message).append("'\n");
+ }
+
+ private void flushText() {
+ if (currentPhysicalText.length() > 0) {
+ builder.append("TEXT: '").append(currentPhysicalText).append("' DISPLAY: '").append(currentDisplayText).append("'\n");
+ currentPhysicalText.setLength(0);
+ currentDisplayText.setLength(0);
+ }
+ }
+
+ public String getResult() {
+ flushText();
+ return builder.toString();
+ }
+ }
+
+ public void testEmptyXml() throws Exception {
+ doTest(" ", "TAG: name='root' namespace=''\n" +
+ "ENDTAG: name='root' namespace=''\n", XmlBuilder.ProcessingOrder.TAGS_AND_ATTRIBUTES);
+ }
+
+ public void testRealJspx() throws Exception {
+ doTest(
+ /* Test: */
+ "\n" +
+ "\n" +
+ " \n" +
+ " \n" +
+ " \n" +
+ " \n" +
+ " \n" +
+ "\n" +
+ " ",
+
+ /* Expected result: */
+ "TAG: name='root' namespace='http://java.sun.com/JSP/Page'\n" +
+ "ATT: name='xmlns:jsp' value='http://java.sun.com/JSP/Page'\n" +
+ "ATT: name='xmlns' value='http://www.w3.org/1999/xhtml'\n" +
+ "ATT: name='version' value='2.0'\n" +
+ "ATT: name='xmlns:spring' value='http://www.springframework.org/tags'\n" +
+ "ATT: name='xmlns:c' value='http://java.sun.com/jsp/jstl/core'\n" +
+ "TAG: name='html' namespace='http://www.w3.org/1999/xhtml'\n" +
+ "TAG: name='set' namespace='http://java.sun.com/jsp/jstl/core'\n" +
+ "ATT: name='var' value='foo'\n" +
+ "ATT: name='value' value='${1}'\n" +
+ "ENDTAG: name='set' namespace='http://java.sun.com/jsp/jstl/core'\n" +
+ "TAG: name='set' namespace='http://java.sun.com/jsp/jstl/core'\n" +
+ "ATT: name='var' value='foobar'\n" +
+ "ATT: name='value' value='${2}'\n" +
+ "ENDTAG: name='set' namespace='http://java.sun.com/jsp/jstl/core'\n" +
+ "TAG: name='bind' namespace='http://www.springframework.org/tags'\n" +
+ "ATT: name='path' value='test.fieldName'\n" +
+ "TAG: name='scriptlet' namespace='http://java.sun.com/JSP/Page'\n" +
+ "ENDTAG: name='scriptlet' namespace='http://java.sun.com/JSP/Page'\n" +
+ "ENDTAG: name='bind' namespace='http://www.springframework.org/tags'\n" +
+ "ENDTAG: name='html' namespace='http://www.w3.org/1999/xhtml'\n" +
+ "ENDTAG: name='root' namespace='http://java.sun.com/JSP/Page'\n",
+ XmlBuilder.ProcessingOrder.TAGS_AND_ATTRIBUTES);
+ }
+
+ public void testRealJspxNoAttributes() throws Exception {
+ doTest(
+ /* Test: */
+ "\n" +
+ "\n" +
+ " \n" +
+ " \n" +
+ " \n" +
+ " \n" +
+ " \n" +
+ "\n" +
+ " ",
+
+ /* Expected result: */
+ "TAG: name='root' namespace='http://java.sun.com/JSP/Page'\n" +
+ "TAG: name='html' namespace='http://www.w3.org/1999/xhtml'\n" +
+ "TAG: name='set' namespace='http://java.sun.com/jsp/jstl/core'\n" +
+ "ENDTAG: name='set' namespace='http://java.sun.com/jsp/jstl/core'\n" +
+ "TAG: name='set' namespace='http://java.sun.com/jsp/jstl/core'\n" +
+ "ENDTAG: name='set' namespace='http://java.sun.com/jsp/jstl/core'\n" +
+ "TAG: name='bind' namespace='http://www.springframework.org/tags'\n" +
+ "TAG: name='scriptlet' namespace='http://java.sun.com/JSP/Page'\n" +
+ "ENDTAG: name='scriptlet' namespace='http://java.sun.com/JSP/Page'\n" +
+ "ENDTAG: name='bind' namespace='http://www.springframework.org/tags'\n" +
+ "ENDTAG: name='html' namespace='http://www.w3.org/1999/xhtml'\n" +
+ "ENDTAG: name='root' namespace='http://java.sun.com/JSP/Page'\n",
+ XmlBuilder.ProcessingOrder.TAGS);
+ }
+
+
+ public void testNamespaceOverride() throws Exception {
+ doTest(
+ "\n" +
+ " \n" +
+ " \n" +
+ " \n" +
+ " \n" +
+ " \n" +
+ " \n",
+
+ "TAG: name='x' namespace='ns1'\n" +
+ "ATT: name='xmlns:c' value='ns1'\n" +
+ "TAG: name='y' namespace='ns1'\n" +
+ "ENDTAG: name='y' namespace='ns1'\n" +
+ "TAG: name='x' namespace='ns2'\n" +
+ "ATT: name='xmlns:c' value='ns2'\n" +
+ "TAG: name='y' namespace='ns2'\n" +
+ "ENDTAG: name='y' namespace='ns2'\n" +
+ "ENDTAG: name='x' namespace='ns2'\n" +
+ "TAG: name='y' namespace='ns1'\n" +
+ "ENDTAG: name='y' namespace='ns1'\n" +
+ "ENDTAG: name='x' namespace='ns1'\n",
+ XmlBuilder.ProcessingOrder.TAGS_AND_ATTRIBUTES);
+ }
+
+ public void testSimpleEntityResolution() throws Exception {
+ doTest(
+ "< ",
+ "TAG: name='root' namespace=''\n" +
+ "TEXT: '<' DISPLAY: '<'\n" +
+ "ENDTAG: name='root' namespace=''\n",
+ XmlBuilder.ProcessingOrder.TAGS_AND_TEXTS);
+ }
+
+ public void testCDATA() throws Exception {
+ doTest(
+ "]]> ",
+ "TAG: name='root' namespace=''\n" +
+ "TEXT: ']]>' DISPLAY: ' '\n" +
+ "ENDTAG: name='root' namespace=''\n",
+ XmlBuilder.ProcessingOrder.TAGS_AND_TEXTS
+ );
+ }
+
+ public void testErrors() throws Exception {
+ doTest(
+ "" +
+ "" +
+ "",
+ "TAG: name='root' namespace=''\n" +
+ "TAG: name='foo' namespace=''\n" +
+ "ERROR: 'Element foo is not closed'\n" +
+ "ENDTAG: name='foo' namespace=''\n" +
+ "TAG: name='bar' namespace=''\n" +
+ "ERROR: 'Tag start is not closed'\n" +
+ "ENDTAG: name='bar' namespace=''\n" +
+ "TAG: name='' namespace=''\n" +
+ "ERROR: 'Tag name expected'\n" +
+ "ENDTAG: name='' namespace=''\n" +
+ "ENDTAG: name='root' namespace=''\n",
+ XmlBuilder.ProcessingOrder.TAGS_AND_TEXTS
+ );
+ }
+
+ public void testComments() throws Exception {
+ doTest(
+ "" +
+ "" +
+ "" +
+ " " +
+ "" +
+ "" +
+ " " +
+ "" +
+ "aaaaaa" +
+ " " +
+ "" +
+ "\naaa\n\naaa\n" +
+ " " +
+ " ",
+ "TAG: name='root' namespace=''\n" +
+ "TAG: name='foo' namespace=''\n" +
+ "ENDTAG: name='foo' namespace=''\n" +
+ "TAG: name='foo' namespace=''\n" +
+ "ENDTAG: name='foo' namespace=''\n" +
+ "TAG: name='foo' namespace=''\n" +
+ "TEXT: 'aaaaaa' DISPLAY: 'aaaaaa'\n" +
+ "ENDTAG: name='foo' namespace=''\n" +
+ "TAG: name='foo' namespace=''\n" +
+ "TEXT: '\naaa\n\naaa\n' DISPLAY: '\naaa\n\naaa\n'\n" +
+ "ENDTAG: name='foo' namespace=''\n" +
+ "ENDTAG: name='root' namespace=''\n",
+ XmlBuilder.ProcessingOrder.TAGS_AND_TEXTS
+ );
+ }
+
+ private static void doTest(String xml, String expectedEventSequence, final XmlBuilder.ProcessingOrder tagsAndAttributes) throws Exception {
+ final TestXmlBuilder builder = new TestXmlBuilder(tagsAndAttributes);
+ new XmlBuilderDriver(xml).build(builder);
+ assertEquals(expectedEventSequence, builder.getResult());
+ }
+}
\ No newline at end of file
diff --git a/xml/tests/src/com/intellij/codeInsight/XmlDtdTest.java b/xml/tests/src/com/intellij/codeInsight/XmlDtdTest.java
new file mode 100644
index 000000000000..1cd442ec761c
--- /dev/null
+++ b/xml/tests/src/com/intellij/codeInsight/XmlDtdTest.java
@@ -0,0 +1,320 @@
+package com.intellij.codeInsight;
+
+import com.intellij.psi.PsiFile;
+import com.intellij.psi.PsiFileFactory;
+import com.intellij.psi.xml.XmlFile;
+import com.intellij.psi.xml.XmlTag;
+import com.intellij.testFramework.PsiTestCase;
+import com.intellij.xml.XmlAttributeDescriptor;
+import com.intellij.xml.XmlElementDescriptor;
+import com.intellij.xml.XmlNSDescriptor;
+import com.intellij.xml.impl.dtd.XmlElementDescriptorImpl;
+import com.intellij.xml.impl.dtd.XmlNSDescriptorImpl;
+
+/**
+ * @author Mike
+ */
+public class XmlDtdTest extends PsiTestCase {
+ public void testDocumentDescriptor1() throws Exception {
+ XmlNSDescriptor NSDescriptor = createDescriptor("");
+
+ XmlElementDescriptor elementDescriptor = NSDescriptor.getElementDescriptor(tag("principals"));
+ assertNotNull(elementDescriptor);
+
+ elementDescriptor = NSDescriptor.getElementDescriptor(tag("data-sources"));
+ assertNotNull(elementDescriptor);
+
+ elementDescriptor = NSDescriptor.getElementDescriptor(tag("xxx"));
+ assertNull(elementDescriptor);
+ }
+
+ public void testElementDescriptor1() throws Exception {
+ XmlNSDescriptor NSDescriptor = createDescriptor("");
+
+ XmlElementDescriptor elementDescriptor = NSDescriptor.getElementDescriptor(tag("principals"));
+ assertEquals("principals", elementDescriptor.getName());
+
+ elementDescriptor = NSDescriptor.getElementDescriptor(tag("data-sources"));
+ assertEquals("data-sources", elementDescriptor.getName());
+ }
+
+ public void testElementDescriptor2() throws Exception {
+ XmlNSDescriptor NSDescriptor = createDescriptor(
+ "" +
+ "");
+
+ XmlElementDescriptor elementDescriptor = NSDescriptor.getElementDescriptor(tag("principals"));
+ assertEquals(elementDescriptor.getContentType(), XmlElementDescriptor.CONTENT_TYPE_MIXED);
+
+ elementDescriptor = NSDescriptor.getElementDescriptor(tag("data-sources"));
+ assertEquals(elementDescriptor.getContentType(), XmlElementDescriptor.CONTENT_TYPE_ANY);
+
+ elementDescriptor = NSDescriptor.getElementDescriptor(tag("read-access"));
+ assertEquals(elementDescriptor.getContentType(), XmlElementDescriptor.CONTENT_TYPE_CHILDREN);
+
+ elementDescriptor = NSDescriptor.getElementDescriptor(tag("group"));
+ assertEquals(elementDescriptor.getContentType(), XmlElementDescriptor.CONTENT_TYPE_EMPTY);
+ }
+
+ public void testElementDescriptor3() throws Exception {
+ XmlNSDescriptor NSDescriptor = createDescriptor(
+ "" +
+ "");
+
+ final XmlTag tag = tag("principals");
+ XmlElementDescriptor elementDescriptor = NSDescriptor.getElementDescriptor(tag);
+
+ XmlAttributeDescriptor attributeDescriptor = elementDescriptor.getAttributeDescriptor("path", tag);
+ assertNotNull(attributeDescriptor);
+
+ attributeDescriptor = elementDescriptor.getAttributeDescriptor("xxx", tag);
+ assertNull(attributeDescriptor);
+
+ attributeDescriptor = elementDescriptor.getAttributeDescriptor("smtp-host", tag);
+ assertNotNull(attributeDescriptor);
+
+ attributeDescriptor = elementDescriptor.getAttributeDescriptor("address", tag);
+ assertNotNull(attributeDescriptor);
+
+ XmlAttributeDescriptor[] descriptors = elementDescriptor.getAttributesDescriptors(tag);
+ assertEquals("path", descriptors[0].getName());
+ assertEquals("smtp-host", descriptors[1].getName());
+ assertEquals("address", descriptors[2].getName());
+ assertEquals(3, descriptors.length);
+ }
+
+ public void testElementDescriptor4() throws Exception {
+ XmlNSDescriptor NSDescriptor = createDescriptor(
+ "" +
+ "" +
+ "" +
+ "");
+
+ XmlTag documentTag = tag("orion-application");
+ XmlElementDescriptorImpl elementDescriptor = (XmlElementDescriptorImpl)NSDescriptor.getElementDescriptor(documentTag);
+
+ XmlElementDescriptor[] elements = elementDescriptor.getElementsDescriptors(documentTag);
+
+ assertEquals(3, elements.length);
+ assertEquals("ejb-module", elements[0].getName());
+ assertEquals("persistence", elements[1].getName());
+ assertEquals("namespace-access", elements[2].getName());
+
+ elements = elements[0].getElementsDescriptors(documentTag);
+ assertEquals(4, elements.length);
+ assertEquals("orion-application", elements[0].getName());
+ assertEquals("ejb-module", elements[1].getName());
+ assertEquals("persistence", elements[2].getName());
+ assertEquals("namespace-access", elements[3].getName());
+ }
+
+ public void testAttributeDescriptor1() throws Exception {
+ XmlNSDescriptor NSDescriptor = createDescriptor(
+ "");
+
+ final XmlTag tag = tag("principals");
+ XmlElementDescriptor elementDescriptor = NSDescriptor.getElementDescriptor(tag);
+
+ XmlAttributeDescriptor attributeDescriptor = elementDescriptor.getAttributeDescriptor("path", tag);
+ assertEquals("path", attributeDescriptor.getName());
+ assertTrue(!attributeDescriptor.isRequired());
+ assertTrue(!attributeDescriptor.isFixed());
+ assertTrue(!attributeDescriptor.isEnumerated());
+ assertNull(attributeDescriptor.getDefaultValue());
+ }
+
+ public void testAttributeDescriptor2() throws Exception {
+ XmlNSDescriptor NSDescriptor = createDescriptor(
+ "");
+
+ final XmlTag tag = tag("principals");
+ XmlElementDescriptor elementDescriptor = NSDescriptor.getElementDescriptor(tag);
+
+ XmlAttributeDescriptor attributeDescriptor = elementDescriptor.getAttributeDescriptor("path", tag);
+ assertTrue(!attributeDescriptor.isRequired());
+ assertTrue(!attributeDescriptor.isFixed());
+ assertTrue(!attributeDescriptor.isEnumerated());
+ assertNull(attributeDescriptor.getDefaultValue());
+ }
+
+ public void testAttributeDescriptor3() throws Exception {
+ XmlNSDescriptor NSDescriptor = createDescriptor(
+ " ");
+
+ final XmlTag tag = tag("toc");
+ XmlElementDescriptor elementDescriptor = NSDescriptor.getElementDescriptor(tag);
+
+ XmlAttributeDescriptor attributeDescriptor = elementDescriptor.getAttributeDescriptor("version", tag);
+ assertTrue(!attributeDescriptor.isRequired());
+ assertTrue(attributeDescriptor.isFixed());
+ assertTrue(!attributeDescriptor.isEnumerated());
+ assertEquals("1.0", attributeDescriptor.getDefaultValue());
+ }
+
+ public void testAttributeDescriptor4() throws Exception {
+ XmlNSDescriptor NSDescriptor = createDescriptor(
+ " ");
+
+ final XmlTag tag = tag("toc");
+ XmlElementDescriptor elementDescriptor = NSDescriptor.getElementDescriptor(tag);
+
+ XmlAttributeDescriptor attributeDescriptor = elementDescriptor.getAttributeDescriptor("remote", tag);
+ assertTrue(!attributeDescriptor.isRequired());
+ assertTrue(!attributeDescriptor.isFixed());
+ assertTrue(attributeDescriptor.isEnumerated());
+ assertEquals("false", attributeDescriptor.getDefaultValue());
+
+ String[] values = attributeDescriptor.getEnumeratedValues();
+ assertEquals(2, values.length);
+ assertEquals("true", values[0]);
+ assertEquals("false", values[1]);
+ }
+
+ public void testAttributeDescriptor5() throws Exception {
+ XmlNSDescriptor NSDescriptor = createDescriptor(
+ " ");
+
+ final XmlTag tag = tag("toc");
+ XmlElementDescriptor elementDescriptor = NSDescriptor.getElementDescriptor(tag);
+
+ XmlAttributeDescriptor attributeDescriptor = elementDescriptor.getAttributeDescriptor("remote", tag);
+ assertTrue(attributeDescriptor.isRequired());
+ assertTrue(!attributeDescriptor.isFixed());
+ assertTrue(attributeDescriptor.isEnumerated());
+ assertNull(attributeDescriptor.getDefaultValue());
+
+ String[] values = attributeDescriptor.getEnumeratedValues();
+ assertEquals(3, values.length);
+ assertEquals("0", values[0]);
+ assertEquals("1", values[1]);
+ assertEquals("2", values[2]);
+ }
+
+ public void testEntityDeclElement1() throws Exception {
+ final XmlNSDescriptor NSDescriptor = createDescriptor(
+ " " +
+ "");
+
+ XmlTag projectTag = tag("project");
+ final XmlElementDescriptor elementDescriptor = NSDescriptor.getElementDescriptor(projectTag);
+
+ final XmlElementDescriptor[] elements = elementDescriptor.getElementsDescriptors(projectTag);
+
+ assertEquals(5, elements.length);
+ }
+
+ public void testEntityDecl1() throws Exception {
+ XmlNSDescriptor NSDescriptor = createDescriptor(
+ " ");
+
+ final XmlTag tag = tag("foo");
+ final XmlElementDescriptor elementDescriptor = NSDescriptor.getElementDescriptor(tag);
+ final XmlAttributeDescriptor[] attributes = elementDescriptor.getAttributesDescriptors(tag);
+
+ assertEquals(2, attributes.length);
+ assertEquals("someBoolean", attributes[0].getName());
+ assertEquals("someString", attributes[1].getName());
+
+ assertTrue(attributes[0].isEnumerated());
+ assertEquals(2, attributes[0].getEnumeratedValues().length);
+ assertEquals("true", attributes[0].getEnumeratedValues()[0]);
+ assertEquals("false", attributes[0].getEnumeratedValues()[1]);
+ }
+
+ public void testEmbeddedDtd1() throws Exception {
+ XmlFile xmlFile = (XmlFile)createDummyFile("test.xml",
+ " ]> ");
+
+ final XmlTag tag = xmlFile.getDocument().getRootTag();
+ assertNotNull(tag);
+ final XmlElementDescriptor desc = xmlFile.getDocument().getRootTagNSDescriptor().getElementDescriptor(tag);
+ assertNotNull(desc);
+
+ final XmlElementDescriptor[] elements = desc.getElementsDescriptors(tag);
+ assertEquals(1, elements.length);
+ assertEquals("date", elements[0].getName());
+ }
+
+ private XmlNSDescriptor createDescriptor(String dtdText) throws Exception {
+ PsiFile dtdFile = createDummyFile("test.dtd", dtdText);
+
+ return new XmlNSDescriptorImpl((XmlFile)dtdFile);
+ }
+
+ private XmlTag tag(String tagName) throws Exception {
+ XmlFile file = (XmlFile)PsiFileFactory.getInstance(myPsiManager.getProject()).createFileFromText("tag.xml", "<" + tagName + "/>");
+ return file.getDocument().getRootTag();
+ }
+}
diff --git a/xml/tests/src/com/intellij/codeInsight/XmlEventsTest.java b/xml/tests/src/com/intellij/codeInsight/XmlEventsTest.java
new file mode 100644
index 000000000000..5ccbdba311a2
--- /dev/null
+++ b/xml/tests/src/com/intellij/codeInsight/XmlEventsTest.java
@@ -0,0 +1,238 @@
+package com.intellij.codeInsight;
+
+import com.intellij.openapi.application.ApplicationManager;
+import com.intellij.openapi.application.Result;
+import com.intellij.openapi.command.CommandProcessor;
+import com.intellij.openapi.command.WriteCommandAction;
+import com.intellij.openapi.editor.Document;
+import com.intellij.openapi.editor.ex.DocumentEx;
+import com.intellij.openapi.util.io.FileUtil;
+import com.intellij.openapi.util.text.StringUtil;
+import com.intellij.pom.PomManager;
+import com.intellij.pom.PomModel;
+import com.intellij.pom.PomModelAspect;
+import com.intellij.pom.event.PomChangeSet;
+import com.intellij.pom.event.PomModelEvent;
+import com.intellij.pom.event.PomModelListener;
+import com.intellij.pom.xml.XmlAspect;
+import com.intellij.psi.PsiDocumentManager;
+import com.intellij.psi.PsiFile;
+import com.intellij.psi.XmlElementFactory;
+import com.intellij.psi.impl.source.PsiFileImpl;
+import com.intellij.psi.xml.XmlAttribute;
+import com.intellij.psi.xml.XmlFile;
+import com.intellij.psi.xml.XmlTag;
+import com.intellij.psi.xml.XmlText;
+import com.intellij.testFramework.LightCodeInsightTestCase;
+import com.intellij.testFramework.PlatformTestUtil;
+
+import java.io.File;
+import java.io.FileNotFoundException;
+
+public class XmlEventsTest extends LightCodeInsightTestCase {
+ public void test1() throws Exception{
+ final PomModel model = PomManager.getModel(getProject());
+ final Listener listener = new Listener(model.getModelAspect(XmlAspect.class));
+ model.addModelListener(listener);
+ final XmlTag tagFromText = XmlElementFactory.getInstance(getProject()).createTagFromText(" ");
+ ApplicationManager.getApplication().runWriteAction(new Runnable() {
+ public void run() {
+ tagFromText.setAttribute("a", "b");
+ }
+ });
+
+ assertFileTextEquals(getTestName(false) + ".txt", listener.getEventString());
+ }
+
+ public void test2() throws Exception{
+ final PomModel model = PomManager.getModel(getProject());
+ final Listener listener = new Listener(model.getModelAspect(XmlAspect.class));
+ model.addModelListener(listener);
+ final XmlTag tagFromText = XmlElementFactory.getInstance(getProject()).createTagFromText("aaa ");
+ final XmlTag otherTag = XmlElementFactory.getInstance(getProject()).createTagFromText(" ");
+ final XmlText xmlText = tagFromText.getValue().getTextElements()[0];
+ ApplicationManager.getApplication().runWriteAction(new Runnable() {
+ public void run() {
+ xmlText.insertAtOffset(otherTag, 2);
+ }
+ });
+
+ assertFileTextEquals(getTestName(false) + ".txt", listener.getEventString());
+ }
+
+ public void test3() throws Exception{
+ final PomModel model = PomManager.getModel(getProject());
+ final Listener listener = new Listener(model.getModelAspect(XmlAspect.class));
+ model.addModelListener(listener);
+ final XmlTag tagFromText = XmlElementFactory.getInstance(getProject()).createTagFromText("aaa ");
+ final XmlText xmlText = tagFromText.getValue().getTextElements()[0];
+ ApplicationManager.getApplication().runWriteAction(new Runnable() {
+ public void run() {
+ xmlText.insertText("bb", 2);
+ }
+ });
+
+ assertFileTextEquals(getTestName(false) + ".txt", listener.getEventString());
+ }
+
+ public void test4() throws Exception{
+ final PomModel model = PomManager.getModel(getProject());
+ final Listener listener = new Listener(model.getModelAspect(XmlAspect.class));
+ model.addModelListener(listener);
+ final XmlTag tagFromText = XmlElementFactory.getInstance(getProject()).createTagFromText("a ");
+ ApplicationManager.getApplication().runWriteAction(new Runnable() {
+ public void run() {
+ tagFromText.addAfter(tagFromText.getValue().getTextElements()[0], tagFromText.getValue().getTextElements()[0]);
+ }
+ });
+
+ assertFileTextEquals(getTestName(false) + ".txt", listener.getEventString());
+ }
+
+ public void test5() throws Exception{
+ final PomModel model = PomManager.getModel(getProject());
+ final Listener listener = new Listener(model.getModelAspect(XmlAspect.class));
+ model.addModelListener(listener);
+ final XmlTag tagFromText = XmlElementFactory.getInstance(getProject()).createTagFromText("aaa ");
+ ApplicationManager.getApplication().runWriteAction(new Runnable() {
+ public void run() {
+ tagFromText.delete();
+ }
+ });
+
+ assertFileTextEquals(getTestName(false) + ".txt", listener.getEventString());
+ }
+
+ public void testBulkUpdate() throws Exception{
+ final PomModel model = PomManager.getModel(getProject());
+ final Listener listener = new Listener(model.getModelAspect(XmlAspect.class));
+ model.addModelListener(listener);
+ final PsiFile file = createFile("a.xml", " ");
+ new WriteCommandAction(getProject()) {
+ @Override
+ protected void run(Result result) throws Throwable {
+ final Document document = PsiDocumentManager.getInstance(getProject()).getDocument(file);
+ ((DocumentEx)document).setInBulkUpdate(true);
+ document.insertString(0, " ");
+ commitDocument(document);
+ ((DocumentEx)document).setInBulkUpdate(false);
+ }
+ }.execute();
+ assertFileTextEquals(getTestName(false) + ".txt", listener.getEventString());
+ }
+
+ public void testDocumentChange1() throws Exception{
+ final String rootTagText = " ";
+ final String stringToInsert = "b=\"c\"";
+ final int positionToInsert = 2;
+
+ checkEventsByDocumentChange(rootTagText, positionToInsert, stringToInsert);
+ }
+
+ public void testDocumentChange2() throws Exception{
+ final String rootTagText = " ";
+ final String stringToInsert = "b=\"c\"";
+ final int positionToInsert = 3;
+
+ checkEventsByDocumentChange(rootTagText, positionToInsert, stringToInsert);
+ }
+
+
+ public void testDocumentChange3() throws Exception{
+ final String rootTagText = " ";
+ final String stringToInsert = "b=\"c\"";
+ final int positionToInsert = 6;
+
+ checkEventsByDocumentChange(rootTagText, positionToInsert, stringToInsert);
+ }
+
+ public void testAttributeValueReplace() throws Exception {
+ final String text = "";
+ final PomModel model = PomManager.getModel(getProject());
+ final Listener listener = new Listener(model.getModelAspect(XmlAspect.class));
+ model.addModelListener(listener);
+
+ final XmlTag tag = XmlElementFactory.getInstance(getProject()).createTagFromText(text);
+ final XmlAttribute attribute = tag.getAttribute("name", null);
+ assert attribute != null;
+ ApplicationManager.getApplication().runWriteAction(new Runnable() {
+ public void run() {
+ attribute.setValue("new");
+ }
+ });
+
+
+ assertEquals(attribute.getValue(), "new");
+ assertEquals("(Attribute \"name\" for tag \"target\" set to \"\"new\"\")\n", listener.getEventString());
+ }
+
+ private void checkEventsByDocumentChange(final String rootTagText, final int positionToInsert, final String stringToInsert)
+ throws Exception {
+ final PomModel model = PomManager.getModel(getProject());
+ final Listener listener = new Listener(model.getModelAspect(XmlAspect.class));
+ model.addModelListener(listener);
+ final XmlTag tagFromText = ((XmlFile)createFile("file.xml", rootTagText)).getDocument().getRootTag();
+ final PsiFileImpl containingFile = (PsiFileImpl)tagFromText.getContainingFile();
+ final PsiDocumentManager documentManager = PsiDocumentManager.getInstance(getProject());
+ final Document document = documentManager.getDocument(containingFile);
+ CommandProcessor.getInstance().executeCommand(getProject(), new Runnable() {
+ @Override
+ public void run() {
+ ApplicationManager.getApplication().runWriteAction(new Runnable() {
+ @Override
+ public void run() {
+ document.insertString(positionToInsert, stringToInsert);
+ documentManager.commitDocument(document);
+ }
+ });
+ }
+ }, "", null);
+
+ assertFileTextEquals(getTestName(false) + ".txt", listener.getEventString());
+ }
+
+ private static class Listener implements PomModelListener{
+ private final XmlAspect myAspect;
+ private final StringBuffer myBuffer = new StringBuffer();
+
+ public Listener(XmlAspect modelAspect) {
+ myAspect = modelAspect;
+ }
+
+ @Override
+ public void modelChanged(PomModelEvent event) {
+ final PomChangeSet changeSet = event.getChangeSet(myAspect);
+ if(changeSet == null) return;
+ myBuffer.append(changeSet);
+ myBuffer.append("\n");
+ }
+
+ @Override
+ public boolean isAspectChangeInteresting(PomModelAspect aspect) {
+ return aspect == myAspect;
+ }
+
+ String getEventString(){
+ return myBuffer.toString();
+ }
+ }
+
+ private static void assertFileTextEquals(String targetDataName, String treeText) throws Exception {
+ String fullName = PlatformTestUtil.getCommunityPath().replace(File.separatorChar, '/')+ "/xml/tests/testData/psi/events" + File.separatorChar + targetDataName;
+ try{
+ String expectedText = loadFile(fullName);
+ assertEquals(expectedText.trim(), treeText.trim());
+ }
+ catch(FileNotFoundException e){
+ //FileUtil.writeToFile(new File(fullName), StringUtil.convertLineSeparators(treeText).getBytes("UTF-8"));
+ fail("No output file found. Created file "+fullName);
+ }
+ }
+
+
+ protected static String loadFile(String fullName) throws Exception {
+ String text = FileUtil.loadFile(new File(fullName)).trim();
+ text = StringUtil.convertLineSeparators(text);
+ return text;
+ }
+}
diff --git a/xml/tests/src/com/intellij/codeInsight/XmlInsightTest.java b/xml/tests/src/com/intellij/codeInsight/XmlInsightTest.java
new file mode 100644
index 000000000000..cfc5426d279e
--- /dev/null
+++ b/xml/tests/src/com/intellij/codeInsight/XmlInsightTest.java
@@ -0,0 +1,144 @@
+package com.intellij.codeInsight;
+
+import com.intellij.psi.PsiFileFactory;
+import com.intellij.psi.xml.XmlFile;
+import com.intellij.psi.xml.XmlTag;
+import com.intellij.testFramework.PsiTestCase;
+import com.intellij.xml.XmlAttributeDescriptor;
+import com.intellij.xml.XmlElementDescriptor;
+import com.intellij.xml.XmlNSDescriptor;
+
+/**
+ * @author Mike
+ */
+public class XmlInsightTest extends PsiTestCase {
+ public void testDocumentDescriptor1() throws Exception {
+ XmlFile file = createFile(" ");
+ XmlNSDescriptor descriptor = createDescriptor(file);
+
+ XmlElementDescriptor element = descriptor.getElementDescriptor(file.getDocument().getRootTag());
+ assertNotNull(element);
+ assertEquals("root", element.getName());
+
+ element = descriptor.getElementDescriptor(file.getDocument().getRootTag().getSubTags()[0]);
+ assertNotNull(element);
+ assertEquals("a", element.getName());
+
+ element = descriptor.getElementDescriptor(file.getDocument().getRootTag().getSubTags()[1]);
+ assertNotNull(element);
+ assertEquals("b", element.getName());
+
+ element = descriptor.getElementDescriptor(file.getDocument().getRootTag().getSubTags()[2]);
+ assertNotNull(element);
+ assertEquals("a", element.getName());
+ }
+
+ public void testElementDescriptor1() throws Exception {
+ XmlFile file = createFile(" ");
+ XmlNSDescriptor descriptor = createDescriptor(file);
+
+ XmlTag rootTag = file.getDocument().getRootTag();
+ XmlElementDescriptor element = descriptor.getElementDescriptor(rootTag);
+
+ XmlElementDescriptor[] elements = element.getElementsDescriptors(rootTag);
+
+ assertEquals(2, elements.length);
+ assertEquals("a", elements[0].getName());
+ assertEquals("b", elements[1].getName());
+ }
+
+ public void testElementDescriptor2() throws Exception {
+ XmlFile file = createFile(" ");
+ XmlNSDescriptor descriptor = createDescriptor(file);
+
+ XmlTag rootTag = file.getDocument().getRootTag();
+ XmlElementDescriptor element = descriptor.getElementDescriptor(rootTag);
+ element = element.getElementsDescriptors(rootTag)[0];
+
+ XmlElementDescriptor[] elements = element.getElementsDescriptors(rootTag.getSubTags()[0]);
+
+ assertEquals(2, elements.length);
+ assertEquals("b", elements[0].getName());
+ assertEquals("c", elements[1].getName());
+ }
+
+ public void testElementDescriptor3() throws Exception {
+ XmlFile file = createFile(" ");
+ XmlNSDescriptor descriptor = createDescriptor(file);
+
+ XmlTag rootTag = file.getDocument().getRootTag();
+ XmlElementDescriptor element = descriptor.getElementDescriptor(rootTag);
+ element = element.getElementsDescriptors(rootTag)[0];
+
+ XmlElementDescriptor[] elements = element.getElementsDescriptors(rootTag.getSubTags()[0]);
+
+ assertEquals(2, elements.length);
+ assertEquals("b", elements[0].getName());
+ //assertTrue(elements[0].getContentType() == XmlElementDescriptor.CONTENT_TYPE_EMPTY);
+
+ assertEquals("c", elements[1].getName());
+ //assertTrue(elements[1].getContentType() == XmlElementDescriptor.CONTENT_TYPE_CHILDREN);
+ }
+
+ public void testElementDescriptor4() throws Exception {
+ XmlFile file = createFile(" ");
+ XmlNSDescriptor descriptor = createDescriptor(file);
+
+ XmlTag rootTag = file.getDocument().getRootTag();
+ XmlElementDescriptor element = descriptor.getElementDescriptor(rootTag);
+ element = element.getElementsDescriptors(rootTag)[0];
+
+ XmlAttributeDescriptor[] attributes = element.getAttributesDescriptors(rootTag);
+
+ assertEquals(2, attributes.length);
+ assertEquals("attr1", attributes[0].getName());
+ assertEquals("attr2", attributes[1].getName());
+ }
+
+ public void testAttributeDescriptor1() throws Exception {
+ XmlFile file = createFile(" ");
+ XmlNSDescriptor descriptor = createDescriptor(file);
+
+ XmlTag rootTag = file.getDocument().getRootTag();
+ XmlElementDescriptor element = descriptor.getElementDescriptor(rootTag);
+ element = element.getElementsDescriptors(rootTag)[0];
+
+ XmlAttributeDescriptor[] attributes = element.getAttributesDescriptors(rootTag);
+
+ assertEquals("attr1", attributes[0].getName());
+ assertTrue(attributes[0].isRequired());
+
+ assertEquals("attr2", attributes[1].getName());
+ assertTrue(!attributes[1].isRequired());
+ }
+
+ public void testAttributeDescriptor2() throws Exception {
+ XmlFile file = createFile(" ");
+ XmlNSDescriptor descriptor = createDescriptor(file);
+
+ XmlTag rootTag = file.getDocument().getRootTag();
+ XmlElementDescriptor element = descriptor.getElementDescriptor(rootTag);
+ element = element.getElementsDescriptors(rootTag)[0];
+
+ XmlAttributeDescriptor[] attributes = element.getAttributesDescriptors(rootTag);
+
+ assertEquals("c", attributes[0].getName());
+ assertTrue(attributes[0].isRequired());
+
+ assertEquals("a", attributes[1].getName());
+ assertTrue(attributes[1].isRequired());
+ }
+
+ private XmlFile createFile(String text) throws Exception {
+ return (XmlFile)createDummyFile("test.xml", text);
+ }
+
+ private XmlNSDescriptor createDescriptor(XmlFile file) throws Exception{
+ return file.getDocument().getRootTagNSDescriptor();
+ }
+
+ private XmlTag tag(String tagName) throws Exception {
+ XmlFile file = (XmlFile)PsiFileFactory.getInstance(myPsiManager.getProject()).createFileFromText("tag.xml", "<" + tagName + "/>");
+ return file.getDocument().getRootTag();
+ }
+}
diff --git a/xml/tests/src/com/intellij/codeInsight/XmlParsingTest.java b/xml/tests/src/com/intellij/codeInsight/XmlParsingTest.java
new file mode 100644
index 000000000000..b3fe52305eec
--- /dev/null
+++ b/xml/tests/src/com/intellij/codeInsight/XmlParsingTest.java
@@ -0,0 +1,649 @@
+package com.intellij.codeInsight;
+
+import com.intellij.lang.ASTFactory;
+import com.intellij.lang.ASTNode;
+import com.intellij.lang.LanguageASTFactory;
+import com.intellij.lang.LanguageParserDefinitions;
+import com.intellij.lang.dtd.DTDLanguage;
+import com.intellij.lang.dtd.DTDParserDefinition;
+import com.intellij.lang.xml.XMLLanguage;
+import com.intellij.lang.xml.XMLParserDefinition;
+import com.intellij.lang.xml.XmlASTFactory;
+import com.intellij.lexer.FilterLexer;
+import com.intellij.lexer.Lexer;
+import com.intellij.lexer.XmlLexer;
+import com.intellij.openapi.application.Result;
+import com.intellij.openapi.command.WriteCommandAction;
+import com.intellij.openapi.editor.Document;
+import com.intellij.openapi.extensions.ExtensionPointName;
+import com.intellij.psi.PsiDocumentManager;
+import com.intellij.psi.PsiFile;
+import com.intellij.psi.impl.DebugUtil;
+import com.intellij.psi.impl.source.CharTableImpl;
+import com.intellij.psi.impl.source.parsing.xml.OldXmlParser;
+import com.intellij.psi.impl.source.tree.CompositeElement;
+import com.intellij.psi.impl.source.tree.LeafElement;
+import com.intellij.psi.impl.source.tree.TreeUtil;
+import com.intellij.psi.tree.IElementType;
+import com.intellij.psi.xml.*;
+import com.intellij.testFramework.ParsingTestCase;
+import com.intellij.testFramework.PlatformTestUtil;
+import com.intellij.util.ThrowableRunnable;
+import org.jetbrains.annotations.NonNls;
+
+import java.io.File;
+
+/**
+ * @author Mike, ik
+ */
+public class XmlParsingTest extends ParsingTestCase {
+ public XmlParsingTest() {
+ super("psi", "???");
+ myLanguage = XMLLanguage.INSTANCE;
+ }
+
+ @Override
+ protected void setUp() throws Exception {
+ super.setUp();
+ addExplicitExtension(LanguageParserDefinitions.INSTANCE, XMLLanguage.INSTANCE, new XMLParserDefinition());
+ addExplicitExtension(LanguageParserDefinitions.INSTANCE, DTDLanguage.INSTANCE, new DTDParserDefinition());
+ addExplicitExtension(LanguageASTFactory.INSTANCE, XMLLanguage.INSTANCE, new XmlASTFactory());
+ addExplicitExtension(LanguageASTFactory.INSTANCE, DTDLanguage.INSTANCE, new XmlASTFactory());
+ registerExtensionPoint(new ExtensionPointName("com.intellij.xml.startTagEndToken"),
+ XmlChildRole.StartTagEndTokenProvider.class);
+ }
+
+ @Override
+ protected String getTestDataPath() {
+ return PlatformTestUtil.getCommunityPath().replace(File.separatorChar, '/') + "/xml/tests/testData/";
+ }
+
+ private void doTestXml(@NonNls String text) throws Exception {
+ myLanguage = XMLLanguage.INSTANCE;
+ doTest(text, "test.xml");
+ }
+ private void doTestDtd(@NonNls String text) throws Exception {
+ myLanguage = DTDLanguage.INSTANCE;
+ doTest(text, "test.dtd");
+ }
+ private void doTest(@NonNls String text, @NonNls String fileName) throws Exception {
+ PsiFile file = createFile(fileName, text);
+ checkResult("test" +getTestName(false), file);
+ }
+
+ public void testNewParsing1() throws Exception {
+ doTestXml(" ");
+ }
+
+ public void testEmptyCommentParsing() throws Exception {
+ doTestXml("");
+ }
+
+ public void testNewParsing2() throws Exception {
+ doTestXml(" ");
+ }
+
+ public void testNewParsing3() throws Exception {
+ doTestXml("");
+ }
+
+ public void testNewParsing4() throws Exception {
+ doTestXml(" ");
+ }
+
+ public void testNewParsing5() throws Exception {
+ doTestXml(" ");
+ }
+
+ public void testNewParsing6() throws Exception {
+ doTestXml("]> ");
+ }
+
+ public void testNewParsing7() throws Exception {
+ doTestXml(" ");
+ }
+
+ public void testNewParsing8() throws Exception {
+ doTestXml("");
+ }
+
+ public void testNewParsing9() throws Exception {
+ doTestXml(" ");
+ }
+
+ public void testNewParsing10() throws Exception {
+ doTestXml(" ");
+ }
+
+ public void testNewParsing11() throws Exception {
+ doTestXml(" ");
+ }
+
+ public void testNewParsing12() throws Exception {
+ doTestXml(" ");
+ }
+
+ public void testNewParsing13() throws Exception {
+ doTestXml("\n" + "xxx \n" + "xxxx\n" + "< ");
+ }
+
+ public void testNewParsing14() throws Exception {
+ doTestXml(" ");
+ }
+
+ public void testNewParsing15() throws Exception {
+ doTestXml("]> ");
+ }
+
+ public void testNewParsing19() throws Exception {
+ doTestXml("" + "]>\n" +
+ " ");
+ }
+
+ public void testNewParsing20() throws Exception {
+ doTestXml("\n" + "\n" + "\n" + " ");
+ }
+
+ public void testEntityInAttr() throws Exception {
+ doTestXml("");
+ }
+
+ public void testEntityInContent() throws Exception {
+ doTestXml(" &n ");
+ }
+
+ public void testMultyRoots() throws Exception {
+ doTestXml(" ");
+ }
+
+ public void testMultyRootsWithErrorsBetween() throws Exception {
+ doTestXml(" ");
+ }
+
+ public void testGtInTagContent() throws Exception {
+ doTestXml(" > ");
+ }
+
+ public void testManyErrors() throws Exception {
+ doTestXml(loadFile("manyErrors.xml"));
+ }
+
+ public void _testLexerPerformance1() throws Exception{
+ final String text = loadFile("pallada.xml");
+ XmlLexer lexer = new XmlLexer();
+ doLex(lexer, text);
+ final FilterLexer filterLexer = new FilterLexer(new XmlLexer(),
+ new FilterLexer.SetFilter(LanguageParserDefinitions.INSTANCE.forLanguage(XMLLanguage.INSTANCE).getWhitespaceTokens()));
+ doLex(filterLexer, text);
+ doLex(lexer, text);
+ doLex(filterLexer, text);
+ doLex(filterLexer, text);
+ }
+
+ public void _testLexerPerformance2() throws Exception{
+ final String text = loadFile("performance2.xml");
+ XmlLexer lexer = new XmlLexer();
+ doLex(lexer, text);
+ final FilterLexer filterLexer = new FilterLexer(new XmlLexer(),
+ new FilterLexer.SetFilter(LanguageParserDefinitions.INSTANCE.forLanguage(XMLLanguage.INSTANCE).getWhitespaceTokens()));
+ doLex(filterLexer, text);
+ doLex(lexer, text);
+ for (int i = 0; i < 20; i++) {
+ doLex(filterLexer, text);
+ }
+ }
+
+ private static void doLex(Lexer lexer, final String text) {
+ lexer.start(text);
+ long time = System.currentTimeMillis();
+ int count = 0;
+ while(lexer.getTokenType() != null){
+ lexer.advance();
+ count++;
+ }
+ System.out.println("Plain lexing took " + (System.currentTimeMillis() - time) + "ms lexems count:" + count);
+ }
+
+ private void transformAllChildren(final ASTNode file) {
+ for (ASTNode child = file.getFirstChildNode(); child != null; child = child.getTreeNext()) {
+ transformAllChildren(child);
+ }
+ }
+
+
+ public void _testPerformance1() throws Exception{
+ final String text = loadFile("pallada.xml");
+ long time = System.currentTimeMillis();
+ final PsiFile file = createFile("test.xml", text);
+ transformAllChildren(file.getNode());
+ System.out.println("Old parsing took " + (System.currentTimeMillis() - time) + "ms");
+ int index = 0;
+ while(index++ < 10){
+ newParsing(text);
+ }
+ LeafElement firstLeaf = TreeUtil.findFirstLeaf(file.getNode());
+ index = 0;
+ do{
+ index++;
+ }
+ while((firstLeaf = TreeUtil.nextLeaf(firstLeaf, null)) != null);
+ System.out.println("For " + index + " lexems");
+ }
+
+ public void _testReparsePerformance() throws Exception {
+ final String text = loadFile("performance2.xml");
+ final PsiFile file = createFile("test.xml", text);
+ transformAllChildren(file.getNode());
+ final Document doc = PsiDocumentManager.getInstance(getProject()).getDocument(file);
+
+ System.gc();
+ System.gc();
+
+ new WriteCommandAction(getProject(), file) {
+ @Override
+ protected void run(final Result result) throws Throwable {
+ PlatformTestUtil.startPerformanceTest("XML reparse using PsiBuilder", 2500, new ThrowableRunnable() {
+ @Override
+ public void run() throws Exception {
+ for (int i = 0; i < 10; i++) {
+ final long tm = System.currentTimeMillis();
+ doc.insertString(0, "");
+ PsiDocumentManager.getInstance(getProject()).commitAllDocuments();
+ System.out.println("Reparsed for: " + (System.currentTimeMillis() - tm));
+ }
+ }
+ }).cpuBound().assertTiming();
+ }
+ }.execute();
+ }
+
+ public void _testPerformance2() throws Exception{
+ final String text = loadFile("performance2.xml");
+ long time = System.currentTimeMillis();
+ final PsiFile file = createFile("test.xml", text);
+ transformAllChildren(file.getNode());
+ System.out.println("Old parsing took " + (System.currentTimeMillis() - time) + "ms");
+ int index = 0;
+ while(index++ < 10){
+ newParsing(text);
+ }
+ LeafElement firstLeaf = TreeUtil.findFirstLeaf(file.getNode());
+ index = 0;
+ do{
+ index++;
+ }
+ while((firstLeaf = TreeUtil.nextLeaf(firstLeaf, null)) != null);
+ System.out.println("For " + index + " lexems");
+ }
+
+ private static void newParsing(final String text) {
+ long time = System.currentTimeMillis();
+
+ ASTFactory.lazy(XmlElementType.XML_FILE, text).getFirstChildNode(); // ensure parsed
+
+ System.out.println("parsed for " + (System.currentTimeMillis() - time) + "ms");
+ }
+
+ public void testXmlDecl() throws Exception {
+ doTestXml("");
+ }
+
+ public void testXmlDecl2() throws Exception {
+ doTestXml(" ");
+ }
+
+ public void testXmlDecl3() throws Exception {
+ doTestXml(" ");
+ }
+
+ public void testDoctype1() throws Exception {
+ doTestXml("");
+ }
+
+ public void testDoctype2() throws Exception {
+ doTestXml("");
+ }
+
+ public void testDoctype3() throws Exception {
+ doTestXml("" + "]>");
+ }
+
+ public void testDoctype4() throws Exception {
+ doTestXml("" + "]>");
+ }
+
+ public void testDoctype5() throws Exception {
+ doTestXml("" + "]>");
+ }
+
+ public void testDoctype6() throws Exception {
+ doTestXml("" + "]>");
+ }
+
+ public void testDoctype7() throws Exception {
+ doTestXml("" + "" + "" + " ");
+ }
+
+ public void testAttlist1() throws Exception {
+ doTestDtd("");
+ }
+
+ public void testAttlist2() throws Exception {
+ doTestDtd("");
+ }
+
+ public void testAttlist3() throws Exception {
+ doTestDtd("");
+ }
+
+ public void testAttlist4() throws Exception {
+ doTestDtd("");
+ }
+
+ public void testComment1() throws Exception {
+ doTestXml("");
+ }
+
+ public void testComment2() throws Exception {
+ doTestDtd(" ");
+ }
+
+ public void testElements1() throws Exception {
+ doTestXml(" ");
+ }
+
+ public void testElements2() throws Exception {
+ doTestXml(" ");
+ }
+
+ public void testElements3() throws Exception {
+ doTestXml(" ");
+ }
+
+ public void testElements4() throws Exception {
+ doTestXml("\n" + "\n" + " \n" +
+ " \n");
+ }
+
+ public void testElements5() throws Exception {
+ doTestXml(" ");
+ }
+
+ public void testElements6() throws Exception {
+ doTestXml("" + "]>" + "" + " ");
+ }
+
+ public void testAttributes1() throws Exception {
+ doTestXml(" ");
+ }
+
+ public void testAttributes2() throws Exception {
+ doTestXml(" ");
+ }
+
+ public void testAttributes3() throws Exception {
+ doTestXml(" ");
+ }
+
+ public void testAttributes4() throws Exception {
+ doTestXml(" ");
+ }
+
+ public void testAttributes5() throws Exception {
+ doTestXml(" ");
+ }
+
+ public void testManualEmptyAttributeParsing() throws Exception{
+ String value = " ";
+ final CompositeElement element = parseManually(value, XmlElementType.XML_ELEMENT_DECL, XmlEntityDecl.EntityContextType.GENERIC_XML);
+ checkResult("testManualEmptyAttributeParsing.txt", DebugUtil.treeToString(element, false));
+ }
+
+ private CompositeElement parseManually(final String value, final IElementType xmlElementDecl, XmlEntityDecl.EntityContextType parseType) {
+ return (CompositeElement)new OldXmlParser(value, xmlElementDecl, parseType, new CharTableImpl(), getPsiManager()).parse();
+ }
+
+ public void testCharacters1() throws Exception {
+ doTestXml("someChar\nData ");
+ }
+
+ public void testEditing1() throws Exception {
+ doTestXml("< ");
+ }
+
+ public void testEditing2() throws Exception {
+ doTestXml(" < ");
+ }
+
+ public void testEditing3() throws Exception {
+ doTestXml(" ");
+ }
+
+ public void testEditing4() throws Exception {
+ doTestXml("< ");
+ }
+
+ public void testEditing5() throws Exception {
+ doTestXml(" ");
+ }
+
+ public void testEditing6() throws Exception {
+ doTestXml(" ");
+ }
+
+ public void testEditing7() throws Exception {
+ doTestXml(" ");
+ }
+
+ public void testEditing8() throws Exception {
+ doTestXml(" ");
+ }
+
+ public void testEditing9() throws Exception {
+ doTestXml(" ashdgjkasgd ");
+ }
+
+
+ public void testCdata1() throws Exception {
+ doTestXml("Hello, world!]]> ");
+ }
+
+ public void testCdata2() throws Exception {
+ doTestXml("--> more data]]> ");
+ }
+
+ public void testDtd1() throws Exception {
+ doTestDtd(" ");
+ }
+
+ public void testElementDecl1() throws Exception {
+ doTestDtd("");
+ }
+
+ public void testElementDecl2() throws Exception {
+ doTestDtd("");
+ }
+
+ public void testConditionalSection1() throws Exception {
+ doTestDtd(" ]]>");
+ }
+
+ public void testConditionalSection2() throws Exception {
+ doTestDtd("\n" + "]]>\n" + "]]>");
+ }
+
+ public void testConditionalSection3() throws Exception {
+ doTestDtd("\n" + "\n" + "%dbhier;\n" + "]]>");
+ }
+
+ public void testEntityRef1() throws Exception {
+ doTestXml("%types; ");
+ }
+
+ public void testEntityRef3() throws Exception {
+ doTestDtd("");
+ }
+
+ public void testEntityRef4() throws Exception {
+ doTestXml(" ");
+ }
+
+ public void testEntityRef5() throws Exception {
+ doTestDtd("");
+ }
+
+ public void testEntityDecl1() throws Exception {
+ doTestDtd("");
+ }
+
+ public void testEntityDecl2() throws Exception {
+ doTestDtd("");
+ }
+
+ public void testEntityDecl3() throws Exception {
+ doTestDtd("");
+ }
+
+ public void testEntityDecl4() throws Exception {
+ doTestDtd(
+ "");
+ }
+
+ public void testUnbalanced1() throws Exception {
+ doTestXml(" ");
+ }
+
+ public void testUnbalanced2() throws Exception {
+ doTestXml(" ");
+ }
+
+ public void testUnbalanced3() throws Exception {
+ doTestXml(" ");
+ }
+
+ public void testUnbalanced4() throws Exception {
+ doTestXml(" ");
+ }
+
+ public void testDtdUrl1() throws Exception {
+ XmlFile file = (XmlFile)createFile("test.xml", "");
+
+ XmlDocument document = file.getDocument();
+ XmlProlog prolog = document.getProlog();
+ XmlDoctype doctype = prolog.getDoctype();
+ String url = doctype.getDtdUri();
+ assertTrue("testDtdUrl1", "hello.dtd".equals(url));
+ }
+
+ public void testContent1() throws Exception {
+ XmlFile file = (XmlFile)createFile("test.xml", " \nxxx \n ");
+ checkResult("testContent1", file);
+ assertTrue("xxx".equals(file.getDocument().getRootTag().getValue().getTrimmedText()));
+ }
+
+ public void testUnopenedTag1() throws Exception {
+ doTestXml(" ");
+ }
+
+ public void testUnclosedTag() throws Exception {
+ XmlFile file = (XmlFile)createFile("test.xml", "xxx");
+ checkResult("testUnclosedTag", file);
+ assertTrue("xxx".equals(file.getDocument().getRootTag().getValue().getText()));
+ }
+
+ public void testUnclosedTag2() throws Exception {
+ doTestXml(" ");
+ }
+
+ public void testProcessingInstruction2() throws Exception {
+ doTestXml(" ");
+ }
+
+ public void testProcessingInstruction3() throws Exception {
+ doTestXml("" + "" +
+ "" + "" + "" + " ");
+ }
+
+ public void testCharRef1() throws Exception {
+ doTestXml("{ ");
+ }
+
+ public void testCharRef2() throws Exception {
+ doTestXml("ģ ");
+ }
+
+ public void testCharRef3() throws Exception {
+ doTestXml("{");
+ }
+
+ public void testCharRef4() throws Exception {
+ doTestXml("");
+ }
+
+ public void testCharRef5() throws Exception {
+ doTestXml("");
+ }
+
+ public void testNotation1() throws Exception {
+ doTestDtd("");
+ }
+
+ public void testPrologInDtd() throws Exception {
+ doTestDtd("\n" + "\n" + "");
+ }
+
+ public void testEmptyElementsInDtd() throws Exception {
+ doTestDtd("\n " + "");
+ }
+
+ public void testElementDeclaration() throws Exception {
+ doTestDtd(
+ "\n\n\n\n");
+ }
+
+ public void testEntityDeclaration() throws Exception {
+ doTestDtd(" ");
+ }
+
+ public void testEntityDeclaration2() throws Exception {
+ String s = "| %pre.qname; | %blockquote.qname; | %address.qname;";
+ CompositeElement element = parseManually(s, XmlElementType.XML_ELEMENT_CONTENT_SPEC, XmlEntityDecl.EntityContextType.ELEMENT_CONTENT_SPEC);
+ checkResult("testEntityDeclaration2.txt", DebugUtil.treeToString(element, false));
+ }
+
+ public void testEntityInAttlistDeclaration() throws Exception {
+ doTestDtd("");
+ }
+
+ public void testSGMLDtd() throws Exception {
+ doTestDtd(" \n" +
+ "\n" +
+ "");
+ }
+
+ public void testNotation2() throws Exception {
+ doTestXml("]>");
+ }
+
+
+}
diff --git a/xml/tests/src/com/intellij/codeInsight/XmlPerformanceTest.java b/xml/tests/src/com/intellij/codeInsight/XmlPerformanceTest.java
new file mode 100644
index 000000000000..7552ad09388a
--- /dev/null
+++ b/xml/tests/src/com/intellij/codeInsight/XmlPerformanceTest.java
@@ -0,0 +1,89 @@
+/*
+ * Copyright (c) 2000-2006 JetBrains s.r.o. All Rights Reserved.
+ */
+
+/*
+ * Created by IntelliJ IDEA.
+ * User: Maxim.Mossienko
+ * Date: Sep 8, 2006
+ * Time: 3:40:30 PM
+ */
+package com.intellij.codeInsight;
+
+import com.intellij.codeInsight.daemon.quickFix.LightQuickFixTestCase;
+import com.intellij.openapi.actionSystem.DataContext;
+import com.intellij.openapi.editor.actionSystem.EditorActionManager;
+import com.intellij.testFramework.IdeaTestUtil;
+import com.intellij.testFramework.PlatformTestUtil;
+import com.intellij.util.ThrowableRunnable;
+import org.jetbrains.annotations.Nullable;
+
+import java.io.File;
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.Set;
+
+/**
+ * @by Maxim.Mossienko
+ */
+public class XmlPerformanceTest extends LightQuickFixTestCase {
+ private final Set ourTestsWithFolding = new HashSet(Arrays.asList("IndentUnindent2"));
+
+ @Override
+ protected String getBasePath() {
+ return "performance/";
+ }
+
+ @Override
+ protected String getTestDataPath() {
+ return PlatformTestUtil.getCommunityPath().replace(File.separatorChar, '/') + "/xml/tests/testData/";
+ }
+
+ public void testDummy() {
+ @SuppressWarnings({"UnusedDeclaration"})
+ Class clazz = IdeaTestUtil.class;
+ }
+
+ public void testIndentUnindent() throws Exception {
+ doIndentTest(2000);
+ }
+
+ public void testIndentUnindent2() throws Exception {
+ doIndentTest(2001);
+ }
+
+ @Override
+ protected boolean doFolding() {
+ return ourTestsWithFolding.contains(getTestName(false));
+ }
+
+ private void doIndentTest(int time) throws Exception {
+ configureByFile(getBasePath() + getTestName(false)+".xml");
+ doHighlighting();
+ myEditor.getSelectionModel().setSelection(0,myEditor.getDocument().getTextLength());
+
+ PlatformTestUtil.startPerformanceTest("Fix long indent/unindent "+time, time, new ThrowableRunnable() {
+ @Override
+ public void run() {
+ EditorActionManager.getInstance().getActionHandler("EditorIndentSelection").execute(myEditor, new DataContext() {
+ @Override
+ @Nullable
+ public Object getData(String dataId) {
+ return null;
+ }
+ });
+
+ EditorActionManager.getInstance().getActionHandler("EditorUnindentSelection").execute(myEditor, new DataContext() {
+ @Override
+ @Nullable
+ public Object getData(String dataId) {
+ return null;
+ }
+ });
+ }
+ }).assertTiming();
+ final int startOffset = myEditor.getCaretModel().getOffset();
+ myEditor.getSelectionModel().setSelection(startOffset,startOffset);
+ checkResultByFile(getBasePath() + getTestName(false)+".xml");
+ }
+}
diff --git a/xml/tests/src/com/intellij/codeInsight/XmlReparseTest.java b/xml/tests/src/com/intellij/codeInsight/XmlReparseTest.java
new file mode 100644
index 000000000000..08107e7a2a0b
--- /dev/null
+++ b/xml/tests/src/com/intellij/codeInsight/XmlReparseTest.java
@@ -0,0 +1,165 @@
+/*
+ * Created by IntelliJ IDEA.
+ * User: mike
+ * Date: Oct 4, 2002
+ * Time: 2:14:24 PM
+ * To change template for new class use
+ * Code Style | Class Templates options (Tools | IDE Options).
+ */
+package com.intellij.codeInsight;
+
+import com.intellij.openapi.editor.Document;
+import com.intellij.openapi.fileTypes.StdFileTypes;
+import com.intellij.psi.AbstractReparseTestCase;
+import com.intellij.psi.PsiDocumentManager;
+import com.intellij.psi.PsiElement;
+import com.intellij.psi.PsiFile;
+import com.intellij.psi.impl.DebugUtil;
+import com.intellij.psi.impl.source.xml.XmlFileImpl;
+import com.intellij.psi.xml.XmlFile;
+import com.intellij.testFramework.ParsingTestCase;
+import com.intellij.testFramework.PlatformTestCase;
+import com.intellij.testFramework.PlatformTestUtil;
+import com.intellij.util.IncorrectOperationException;
+
+import java.io.File;
+
+@PlatformTestCase.WrapInCommand
+public class XmlReparseTest extends AbstractReparseTestCase {
+ @Override
+ protected void setUp() throws Exception {
+ super.setUp();
+ setFileType(StdFileTypes.XML);
+ }
+
+ public void test1() throws Exception{
+ String s1 = "";
+ String s2 = " ";
+
+ prepareFile(s1, s2);
+ final String beforeReparse = DebugUtil.treeToString(((XmlFileImpl)myDummyFile).getTreeElement(), true);
+ insert("");
+ assertEquals("Tree changed after empty reparse", beforeReparse, DebugUtil.treeToString(((XmlFileImpl)myDummyFile).getTreeElement(), true));
+ }
+
+ public void testTagData1() throws Exception {
+ String s1 = "";
+ String s2 = " ";
+
+ prepareFile(s1, s2);
+ insert("x");
+ insert(" ");
+ insert("xxxxx");
+ insert("\n");
+ insert("xxxxx");
+ }
+
+ public void testTagData2() throws Exception {
+ String s1 = "\nSomeDataHere";
+ String s2 = "\n ";
+
+ prepareFile(s1, s2);
+
+ PsiElement element1 = ((XmlFile)myDummyFile).getDocument().getRootTag();
+
+ insert("x");
+ insert(" ");
+ insert("xxxxx");
+ insert("\n");
+ insert("xxxxx");
+
+ assertSame(element1, ((XmlFile)myDummyFile).getDocument().getRootTag());
+ }
+
+ public void testTagInTag1() throws Exception {
+ String s1 = "";
+ String s2 = " ";
+
+ prepareFile(s1, s2);
+
+ insert("<");
+ insert("c");
+ insert("/");
+ insert(">");
+ }
+
+ public void testTagInTag2() throws Exception {
+ String s1 = "";
+ String s2 = " ";
+
+ prepareFile(s1, s2);
+
+ insert("<");
+ insert("c");
+ insert(">");
+ insert("\nxxx \nxxxx\n");
+ insert("<");
+ insert("/");
+ insert("c");
+ insert(">");
+ }
+
+ public void testTagInTag3() throws Exception {
+ String s1 = "";
+ String s2 = " ";
+
+ prepareFile(s1, s2);
+
+ insert("<");
+ insert("/");
+ insert("b");
+ insert(">");
+ }
+
+ public void testSCR5925() throws Exception {
+ String s1 = " ";
+
+ prepareFile(s1, s2);
+ insert("a");
+ insert("t");
+ insert("t");
+ insert("r");
+ insert("=");
+ insert("\"");
+ }
+
+ public void testXmlReparseProblem() throws IncorrectOperationException {
+ prepareFile("\n" +
+ " \n" +
+ "\n" +
+ "");
+ insert("=");
+ }
+ private static final String marker = "";
+ public void testXmlDeclDtd() throws Exception {
+ PsiFile file = createFile("x.xml", "\n" +
+ " \n" +
+ "]>\n" +
+ " ");
+
+ PsiDocumentManager documentManager = PsiDocumentManager.getInstance(getProject());
+ Document document = documentManager.getDocument(file);
+
+ removeGarbage(document);
+
+ documentManager.commitAllDocuments();
+ String myFullDataPath = getTestDataPath() + "psi/";
+ ParsingTestCase.doCheckResult(myFullDataPath, file, true, "testXmlDeclDtd", false, false);
+ }
+
+ private static void removeGarbage(Document document) {
+ int i = document.getText().indexOf(marker);
+ if (i==-1) return;
+ document.replaceString(i,i+marker.length(),"");
+ removeGarbage(document);
+ }
+
+ @Override
+ protected String getTestDataPath() {
+ return PlatformTestUtil.getCommunityPath().replace(File.separatorChar, '/') + "/xml/tests/testData/";
+ }
+}
diff --git a/xml/tests/src/com/intellij/codeInsight/XmlSchemaTest.java b/xml/tests/src/com/intellij/codeInsight/XmlSchemaTest.java
new file mode 100644
index 000000000000..fc9fe64b7ec1
--- /dev/null
+++ b/xml/tests/src/com/intellij/codeInsight/XmlSchemaTest.java
@@ -0,0 +1,757 @@
+package com.intellij.codeInsight;
+
+import com.intellij.psi.PsiFile;
+import com.intellij.psi.xml.XmlAttribute;
+import com.intellij.psi.xml.XmlFile;
+import com.intellij.psi.xml.XmlTag;
+import com.intellij.testFramework.LightCodeInsightTestCase;
+import com.intellij.xml.XmlAttributeDescriptor;
+import com.intellij.xml.XmlElementDescriptor;
+import com.intellij.xml.XmlNSDescriptor;
+import com.intellij.xml.impl.schema.XmlElementDescriptorImpl;
+import com.intellij.xml.impl.schema.XmlNSDescriptorImpl;
+import com.intellij.xml.util.XmlUtil;
+import org.jetbrains.annotations.NonNls;
+
+/**
+ * @author Mike
+ */
+public class XmlSchemaTest extends LightCodeInsightTestCase {
+ private XmlTag SHIP_TO;
+ private XmlTag UNKNOWN_TAG;
+
+ @Override
+ protected void setUp() throws Exception {
+ super.setUp();
+ SHIP_TO = XmlTestUtil.tag("shipTo", getProject());
+ UNKNOWN_TAG = XmlTestUtil.tag("xxx", getProject());
+ }
+
+ public void testDocumentDescriptor1() throws Exception {
+ XmlNSDescriptor NSDescriptor = createDescriptor(
+ "" +
+ "" +
+ "" +
+ " ");
+
+ assertNotNull(NSDescriptor);
+ assertNotNull(NSDescriptor.getElementDescriptor(XmlTestUtil.tag("purchaseOrder", getProject())));
+ assertNotNull(NSDescriptor.getElementDescriptor(XmlTestUtil.tag("comment", getProject())));
+ assertNull(NSDescriptor.getElementDescriptor(UNKNOWN_TAG));
+ }
+
+ public void testElementDescriptor1() throws Exception {
+ XmlNSDescriptor NSDescriptor = createDescriptor(
+ "" +
+ "" +
+ "" +
+ " ");
+
+ XmlElementDescriptor elementDescriptor = NSDescriptor.getElementDescriptor(XmlTestUtil.tag("purchaseOrder", getProject()));
+ assertEquals("purchaseOrder", elementDescriptor.getName());
+
+ elementDescriptor = NSDescriptor.getElementDescriptor(XmlTestUtil.tag("comment", getProject()));
+ assertEquals("comment", elementDescriptor.getName());
+ }
+
+ public void testElementDescriptor2() throws Exception {
+ XmlNSDescriptor NSDescriptor = createDescriptor(
+ "" +
+ "" +
+ " ");
+
+ XmlTag tag = XmlTestUtil.tag("comment", getProject());
+ XmlElementDescriptor elementDescriptor = NSDescriptor.getElementDescriptor(tag);
+
+ XmlElementDescriptor[] elements = elementDescriptor.getElementsDescriptors(tag);
+ assertEquals(0, elements.length);
+
+ XmlAttributeDescriptor[] descriptors = elementDescriptor.getAttributesDescriptors(tag);
+ assertEquals(0, descriptors.length);
+
+ assertEquals(elementDescriptor.getContentType(), XmlElementDescriptor.CONTENT_TYPE_MIXED);
+ }
+
+ public void testElementDescriptor3() throws Exception {
+ XmlNSDescriptor NSDescriptor = createDescriptor(
+ "" +
+ "" +
+ "" +
+ " " +
+ " " +
+ " " +
+ " " +
+ " " +
+ " " +
+ " ");
+
+ XmlTag tag = XmlTestUtil.tag("purchaseOrder", getProject());
+ XmlElementDescriptor elementDescriptor = NSDescriptor.getElementDescriptor(tag);
+
+ XmlElementDescriptor[] elements = elementDescriptor.getElementsDescriptors(tag);
+ assertEquals(3, elements.length);
+ assertEquals("shipTo", elements[0].getName());
+ assertEquals("billTo", elements[1].getName());
+ assertEquals("items", elements[2].getName());
+
+ assertEquals("shipTo", elementDescriptor.getElementDescriptor(SHIP_TO, null).getName());
+ assertNull(elementDescriptor.getElementDescriptor(UNKNOWN_TAG, null));
+ }
+
+ public void testElementDescriptor4() throws Exception {
+ XmlNSDescriptor NSDescriptor = createDescriptor(
+ "" +
+ "" +
+ "" +
+ " " +
+ " " +
+ " " +
+ " ");
+
+ final XmlTag tag = XmlTestUtil.tag("purchaseOrder", getProject());
+ XmlElementDescriptor elementDescriptor = NSDescriptor.getElementDescriptor(tag);
+
+ XmlAttributeDescriptor[] attributes = elementDescriptor.getAttributesDescriptors(tag);
+
+ assertEquals(2, attributes.length);
+ assertEquals("orderDate", attributes[0].getName());
+ assertEquals("name", attributes[1].getName());
+
+ assertEquals("name", elementDescriptor.getAttributeDescriptor("name", tag).getName());
+
+ assertNull(elementDescriptor.getAttributeDescriptor("xxx", tag));
+ }
+
+ public void testElementDescriptor5() throws Exception {
+ XmlNSDescriptor NSDescriptor = createDescriptor(
+ "" +
+ "" +
+ "" +
+ " " +
+ " " +
+ " " +
+ " " +
+ " " +
+ " " +
+ "" +
+ " " +
+ " " +
+ " " +
+ " " +
+ " " +
+ " " +
+ " " +
+ " " +
+ " " +
+ " ");
+
+ XmlTag tag = XmlTestUtil.tag("purchaseOrder", getProject());
+ XmlElementDescriptor elementDescriptor = NSDescriptor.getElementDescriptor(tag).getElementDescriptor(SHIP_TO, null);
+
+ XmlElementDescriptor[] elements = elementDescriptor.getElementsDescriptors(tag);
+ assertEquals(5, elements.length);
+ assertEquals("name", elements[0].getName());
+ assertEquals("street", elements[1].getName());
+ assertEquals("city", elements[2].getName());
+ assertEquals("state", elements[3].getName());
+ assertEquals("zip", elements[4].getName());
+
+ final XmlTag context = tag.findFirstSubTag(elements[2].getName());
+ assertEquals(0, elements[2].getElementsDescriptors(context).length);
+
+ XmlAttributeDescriptor[] attributes = elementDescriptor.getAttributesDescriptors(context);
+ assertEquals(1, attributes.length);
+ assertEquals("country", attributes[0].getName());
+ }
+
+ public void testElementDescriptor6() throws Exception {
+ XmlNSDescriptor NSDescriptor = createDescriptor(
+ "" +
+ "" +
+ "" +
+ " " +
+ " " +
+ " " +
+ " " +
+ " " +
+ " " +
+ " " +
+ " " +
+ " " +
+ " " +
+ " " +
+ " " +
+ " " +
+ " " +
+ " " +
+ " ");
+
+ XmlTag tag = XmlTestUtil.tag("purchaseOrder", getProject());
+ XmlElementDescriptor elementDescriptor = NSDescriptor.getElementDescriptor(tag).getElementDescriptor(SHIP_TO, null);
+
+ XmlElementDescriptor[] elements = elementDescriptor.getElementsDescriptors(tag);
+ assertEquals(5, elements.length);
+ assertEquals("name", elements[0].getName());
+ assertEquals("street", elements[1].getName());
+ assertEquals("city", elements[2].getName());
+ assertEquals("state", elements[3].getName());
+ assertEquals("zip", elements[4].getName());
+
+ final XmlTag context = tag.findFirstSubTag(elements[2].getName());
+ assertEquals(0, elements[2].getElementsDescriptors(context).length);
+
+ XmlAttributeDescriptor[] attributes = elementDescriptor.getAttributesDescriptors(context);
+ assertEquals(1, attributes.length);
+ assertEquals("country", attributes[0].getName());
+ }
+
+ public void testElementDescriptor7() throws Exception {
+ XmlNSDescriptor NSDescriptor = createDescriptor(
+ "" +
+ "" +
+ "" +
+ " " +
+ " " +
+ " " +
+ " " +
+ " " +
+ " " +
+ " " +
+ " " +
+ " " +
+ " " +
+ " " +
+ " " +
+ " " +
+ " " +
+ " " +
+ " " +
+ " ");
+
+ XmlTag tag = XmlTestUtil.tag("purchaseOrder", getProject());
+ XmlElementDescriptor elementDescriptor = NSDescriptor.getElementDescriptor(tag);
+ XmlAttributeDescriptor[] attributes = elementDescriptor.getAttributesDescriptors(tag);
+ assertEquals(0, attributes.length);
+
+ XmlElementDescriptor[] elements = elementDescriptor.getElementsDescriptors(tag);
+ assertEquals(1, elements.length);
+ assertEquals("shipTo", elements[0].getName());
+ }
+
+ public void testElementDescriptor8() throws Exception {
+ XmlNSDescriptor NSDescriptor = createDescriptor(
+ "" +
+ "" +
+ "" +
+ " " +
+ " " +
+ " " +
+ " " +
+ "" +
+ " ");
+
+ XmlTag tag = XmlTestUtil.tag("purchaseOrder", getProject());
+ XmlElementDescriptor elementDescriptor = NSDescriptor.getElementDescriptor(tag);
+
+ XmlElementDescriptor[] elements = elementDescriptor.getElementsDescriptors(tag);
+ assertEquals(1, elements.length);
+ assertEquals("items", elements[0].getName());
+
+ assertEquals("items", elementDescriptor.getElementDescriptor(XmlTestUtil.tag("items", getProject()), null).getName());
+ assertNull(elementDescriptor.getElementDescriptor(UNKNOWN_TAG, null));
+ }
+
+ public void testElementDescriptor9() throws Exception {
+ XmlNSDescriptor NSDescriptor = createDescriptor(
+ "" +
+ "" +
+ "" +
+ " " +
+ " " +
+ " " +
+ " " +
+ "" +
+ " " +
+ " " +
+ " " +
+ " " +
+ " " +
+ " ");
+
+ XmlTag tag = XmlTestUtil.tag("purchaseOrder", getProject());
+ XmlElementDescriptor elementDescriptor = NSDescriptor.getElementDescriptor(tag);
+
+ XmlElementDescriptor[] elements = elementDescriptor.getElementsDescriptors(tag);
+ assertEquals(2, elements.length);
+ assertEquals("title", elements[0].getName());
+ assertEquals("author", elements[1].getName());
+
+ assertEquals("title", elementDescriptor.getElementDescriptor(XmlTestUtil.tag("title", getProject()), null).getName());
+ assertNull(elementDescriptor.getElementDescriptor(UNKNOWN_TAG, null));
+ }
+
+ public void testElementDescriptor10() throws Exception {
+ XmlNSDescriptor NSDescriptor = createDescriptor(
+ "" +
+ "" +
+ "" +
+ " " +
+ " " +
+ "" +
+ " " +
+ " " +
+ " " +
+ " ");
+
+ final XmlTag tag = XmlTestUtil.tag("purchaseOrder", getProject());
+ XmlElementDescriptor elementDescriptor = NSDescriptor.getElementDescriptor(tag);
+
+ XmlAttributeDescriptor[] attributes = elementDescriptor.getAttributesDescriptors(tag);
+
+ assertEquals(2, attributes.length);
+ assertEquals("isbn", attributes[0].getName());
+ assertEquals("available", attributes[1].getName());
+
+ assertEquals("isbn", elementDescriptor.getAttributeDescriptor("isbn", tag).getName());
+
+ assertNull(elementDescriptor.getAttributeDescriptor("xxx", tag));
+ }
+
+ public void testElementDescriptor11() throws Exception {
+ XmlNSDescriptor NSDescriptor = createDescriptor(
+ "" +
+ "" +
+ "" +
+ " " +
+ " " +
+ " " +
+ " " +
+ " " +
+ " " +
+ " " +
+ "" +
+ " " +
+ " " +
+ " " +
+ " " +
+ " " +
+ " " +
+ " ");
+
+ XmlTag tag = XmlTestUtil.tag("purchaseOrder", getProject());
+ XmlElementDescriptor elementDescriptor = NSDescriptor.getElementDescriptor(tag);
+
+ XmlElementDescriptor[] elements = elementDescriptor.getElementsDescriptors(tag);
+
+ assertEquals(4, elements.length);
+ assertEquals("shipTo", elements[0].getName());
+ assertEquals("billTo", elements[1].getName());
+ assertEquals("shipTo2", elements[2].getName());
+ assertEquals("items", elements[3].getName());
+ }
+
+ public void testElementDescriptor15() throws Exception {
+ XmlNSDescriptor NSDescriptor = createDescriptor(
+ "" +
+ "" +
+ "" +
+ " " +
+ " " +
+ " " +
+ " " +
+ " " +
+ " " +
+ "" +
+ " " +
+ " " +
+ " " +
+ " " +
+ " " +
+ " " +
+ " ");
+
+ XmlTag tag = XmlTestUtil.tag("purchaseOrder", getProject());
+ XmlElementDescriptor elementDescriptor = NSDescriptor.getElementDescriptor(tag);
+
+ XmlElementDescriptor[] elements = elementDescriptor.getElementsDescriptors(tag);
+
+ assertEquals(4, elements.length);
+ assertEquals("shipTo", elements[0].getName());
+ assertEquals("billTo", elements[1].getName());
+ assertEquals("items", elements[2].getName());
+ assertEquals("shipTo2", elements[3].getName());
+ }
+
+ public void testElementDescriptor12() throws Exception {
+ XmlNSDescriptor NSDescriptor = createDescriptor(
+ "" +
+ "" +
+ "" +
+ " " +
+ " " +
+ " " +
+ " " +
+ " " +
+ " " +
+ " " +
+ "" +
+ " " +
+ " " +
+ " " +
+ " " +
+ " " +
+ " ");
+
+ final XmlTag tag = XmlTestUtil.tag("purchaseOrder", getProject());
+ XmlElementDescriptor elementDescriptor = NSDescriptor.getElementDescriptor(tag);
+
+ XmlAttributeDescriptor[] attributes = elementDescriptor.getAttributesDescriptors(tag);
+
+ assertEquals(3, attributes.length);
+ assertEquals("orderDate", attributes[0].getName());
+ assertEquals("orderDate2", attributes[1].getName());
+ assertEquals("name", attributes[2].getName());
+ }
+
+ public void testElementDescriptor13() throws Exception {
+ XmlNSDescriptor NSDescriptor = createDescriptor(
+ "" +
+ "" +
+ "" +
+ " " +
+ " " +
+ " " +
+ " " +
+ " " +
+ "" +
+ " ");
+
+ XmlTag tag = XmlTestUtil.tag("purchaseOrder", getProject());
+ XmlElementDescriptor elementDescriptor = NSDescriptor.getElementDescriptor(tag);
+
+ final XmlElementDescriptor[] elements = elementDescriptor.getElementsDescriptors(tag);
+ assertEquals(0, elements.length);
+ }
+
+ public void testElementDescriptor14() throws Exception {
+ XmlNSDescriptor NSDescriptor = createDescriptor(
+ "" +
+ "" +
+ "" +
+ " " +
+ " " +
+ " " +
+ " " +
+ " " +
+ "" +
+ " " +
+ " " +
+ " " +
+ " " +
+ " " +
+ "" +
+ " ");
+
+ XmlTag tag = XmlTestUtil.tag("purchaseOrder", "http://www.deansoft.com/AddressBook", getProject());
+ XmlElementDescriptor elementDescriptor = NSDescriptor.getElementDescriptor(tag);
+
+ final XmlElementDescriptor[] elements = elementDescriptor.getElementsDescriptors(tag);
+ assertEquals(1, elements.length);
+ assertEquals("name", elements[0].getName());
+ XmlAttributeDescriptor[] attrs = elements[0].getAttributesDescriptors(tag);
+ assertEquals(1, attrs.length);
+ assertEquals("orderDate", attrs[0].getName());
+ XmlElementDescriptor[] element0Descriptors = elements[0].getElementsDescriptors(tag.findFirstSubTag(elements[0].getName()));
+ assertEquals(1, element0Descriptors.length);
+ assertEquals("items", element0Descriptors[0].getName());
+ }
+
+ public void testAttributeDescriptor1() throws Exception {
+ XmlNSDescriptor NSDescriptor = createDescriptor(
+ "" +
+ "" +
+ "" +
+ " " +
+ " " +
+ " ");
+
+ final XmlTag tag = XmlTestUtil.tag("purchaseOrder", getProject());
+ XmlElementDescriptor elementDescriptor = NSDescriptor.getElementDescriptor(tag);
+ XmlAttributeDescriptor attribute = elementDescriptor.getAttributeDescriptor("orderDate", tag);
+
+ assertTrue(!attribute.isEnumerated());
+ assertTrue(!attribute.isFixed());
+ assertTrue(!attribute.isRequired());
+ assertNull(attribute.getDefaultValue());
+ }
+
+ public void testAttributeDescriptorProhibited() throws Exception {
+ XmlNSDescriptor NSDescriptor = createDescriptor(
+ "" +
+ "" +
+ "" +
+ " " +
+ " " +
+ " ");
+
+ final XmlTag tag = XmlTestUtil.tag("purchaseOrder", getProject());
+ XmlElementDescriptor elementDescriptor = NSDescriptor.getElementDescriptor(tag);
+ XmlAttributeDescriptor[] attributes = elementDescriptor.getAttributesDescriptors(tag);
+ assertEquals(0, attributes.length);
+ }
+
+ public void testAttributeDescriptorProhibited2() throws Exception {
+ XmlNSDescriptor NSDescriptor = createDescriptor(
+ "" +
+ "" +
+ "" +
+ " " +
+ " " +
+ " " +
+ " " +
+ " " +
+ " " +
+ "" +
+ " " +
+ " " +
+ " " +
+ " " +
+ " " +
+ " ");
+
+ final XmlTag tag = XmlTestUtil.tag("purchaseOrder", getProject());
+ XmlElementDescriptor elementDescriptor = NSDescriptor.getElementDescriptor(tag);
+
+ XmlAttributeDescriptor[] attributes = elementDescriptor.getAttributesDescriptors(tag);
+
+ assertEquals(1, attributes.length);
+ assertEquals("name", attributes[0].getName());
+ }
+
+ public void testAttributeDescriptor2() throws Exception {
+ XmlNSDescriptor NSDescriptor = createDescriptor(
+ "" +
+ "" +
+ "" +
+ " " +
+ " " +
+ " ");
+
+ final XmlTag tag = XmlTestUtil.tag("purchaseOrder", getProject());
+ XmlElementDescriptor elementDescriptor = NSDescriptor.getElementDescriptor(tag);
+ XmlAttributeDescriptor attribute = elementDescriptor.getAttributeDescriptor("orderDate", tag);
+
+ assertTrue(!attribute.isEnumerated());
+ assertTrue(!attribute.isFixed());
+ assertTrue(attribute.isRequired());
+ assertEquals(" 2002 ", attribute.getDefaultValue());
+ }
+
+ public void testAttributeDescriptor3() throws Exception {
+ XmlNSDescriptor NSDescriptor = createDescriptor(
+ "" +
+ "" +
+ "" +
+ " " +
+ " " +
+ " ");
+
+ final XmlTag tag = XmlTestUtil.tag("purchaseOrder", getProject());
+ XmlElementDescriptor elementDescriptor = NSDescriptor.getElementDescriptor(tag);
+ XmlAttributeDescriptor attribute = elementDescriptor.getAttributeDescriptor("orderDate", tag);
+
+ assertTrue(!attribute.isEnumerated());
+ assertTrue(attribute.isFixed());
+ assertTrue(!attribute.isRequired());
+ assertEquals("1 01 2001", attribute.getDefaultValue());
+ }
+
+ public void testAttributeDescriptor4() throws Exception {
+ XmlNSDescriptor NSDescriptor = createDescriptor(
+ "" +
+ "" +
+ "" +
+ " " +
+ " " +
+ " " +
+ " ");
+
+ final XmlTag tag = XmlTestUtil.tag("purchaseOrder", getProject());
+ XmlElementDescriptor elementDescriptor = NSDescriptor.getElementDescriptor(tag);
+ XmlAttributeDescriptor attribute = elementDescriptor.getAttributeDescriptor("orderDate", tag);
+
+ assertNotNull(attribute);
+ assertTrue(!attribute.isEnumerated());
+ assertTrue(attribute.isFixed());
+ assertTrue(attribute.isRequired());
+ assertEquals("1 01 2001", attribute.getDefaultValue());
+ }
+
+ public void testNamespace1() throws Exception {
+ XmlNSDescriptor NSDescriptor = createDescriptor(
+ "" +
+ "" +
+ "" +
+ " ");
+
+ assertNotNull(NSDescriptor);
+ assertNotNull(NSDescriptor.getElementDescriptor(XmlTestUtil.tag("purchaseOrder", getProject())));
+ assertNotNull(NSDescriptor.getElementDescriptor(XmlTestUtil.tag("comment", getProject())));
+ assertNull(NSDescriptor.getElementDescriptor(UNKNOWN_TAG));
+ }
+
+ public void testNamespace2() throws Exception {
+ XmlNSDescriptor NSDescriptor = createDescriptor(
+ "" +
+ "" +
+ "" +
+ " " +
+ " " +
+ " " +
+ " " +
+ "" +
+ " ");
+
+ XmlTag tag = XmlTestUtil.tag("purchaseOrder", "http://www.w3.org/2001/XMLSchema", getProject());
+ XmlElementDescriptorImpl elementDescriptor = (XmlElementDescriptorImpl)NSDescriptor.getElementDescriptor(tag);
+
+ XmlElementDescriptor[] elements = elementDescriptor.getElementsDescriptors(tag);
+ assertEquals(1, elements.length);
+ assertEquals("items", elements[0].getName());
+
+ assertEquals("items", elementDescriptor.getElementDescriptor("items").getName());
+ assertNull(elementDescriptor.getElementDescriptor("xxx"));
+ }
+
+ public void testNamespace3() throws Exception {
+ XmlNSDescriptor NSDescriptor = createDescriptor(
+ "" +
+ "" +
+ "" +
+ " ");
+
+ assertNotNull(NSDescriptor);
+ assertNotNull(NSDescriptor.getElementDescriptor(XmlTestUtil.tag("purchaseOrder", "http://www.w3.org/2001/XMLSchema", getProject())));
+ assertNotNull(NSDescriptor.getElementDescriptor(XmlTestUtil.tag("comment", "http://www.w3.org/2001/XMLSchema", getProject())));
+ assertNull(NSDescriptor.getElementDescriptor(UNKNOWN_TAG));
+ }
+
+ //public void testAny1() throws Exception {
+ // XmlDocumentDescriptor documentDescriptor = createDescriptorImpl(
+ // "" +
+ // " " +
+ // " " +
+ // " " +
+ // " " +
+ // " " +
+ // " " +
+ // " " +
+ // " "
+ // );
+ //
+ // XmlFile xmlFile = (XmlFile)createFile("file.xml",
+ // "" +
+ // " " +
+ // " "
+ // );
+ //
+ // XmlElementDescriptor rootDescriptor = documentDescriptor.getElementDescriptor(xmlFile.saveToString().getRootTag());
+ // assertNotNull(rootDescriptor);
+ //
+ // XmlTag aTag = xmlFile.saveToString().getRootTag().findSubTag("a:a");
+ // assertNotNull(aTag);
+ // XmlElementDescriptor aDescriptor = documentDescriptor.getElementDescriptor(aTag);
+ // assertNotNull(aDescriptor);
+ //}
+
+ public void testAny2() throws Exception {
+ PsiFile dtdFile = createFile("test.xml", "" +
+ " " +
+ " " +
+ " " +
+ " " +
+ " " +
+ " " +
+ " " +
+ " ");
+
+ XmlNSDescriptor NSDescriptor = new XmlNSDescriptorImpl((XmlFile)dtdFile);
+
+ XmlFile xmlFile = (XmlFile)createFile("file.xml",
+ "" +
+ " " +
+ " "
+ );
+
+ XmlElementDescriptor rootDescriptor = NSDescriptor.getElementDescriptor(xmlFile.getDocument().getRootTag());
+ assertNotNull(rootDescriptor);
+
+ XmlTag aTag = xmlFile.getDocument().getRootTag().findFirstSubTag("foo:a");
+ assertNotNull(aTag);
+ //XmlElementDescriptor aDescriptor = NSDescriptor.getElementDescriptor(aTag);
+ //assertNull(aDescriptor);
+ }
+
+ public void testAny3() throws Exception {
+ XmlNSDescriptor NSDescriptor = createDescriptor(
+ "" +
+ " " +
+ " " +
+ " " +
+ " " +
+ " " +
+ " "
+ );
+
+ XmlFile xmlFile = (XmlFile)createFile("file.xml",
+ "" +
+ " "
+ );
+
+ final XmlTag rootTag = xmlFile.getDocument().getRootTag();
+ XmlElementDescriptor rootDescriptor = NSDescriptor.getElementDescriptor(rootTag);
+ assertNotNull(rootDescriptor);
+
+ XmlAttribute attribute = rootTag.getAttribute("y:a", XmlUtil.EMPTY_URI);
+ assertNotNull(attribute);
+ XmlAttributeDescriptor aDescriptor = rootDescriptor.getAttributeDescriptor("y:a", rootTag);
+ assertNotNull(aDescriptor);
+ }
+
+ public void testAny4() throws Exception {
+ XmlNSDescriptor NSDescriptor = createDescriptor(
+ "" +
+ " " +
+ " " +
+ " " +
+ " " +
+ " " +
+ " "
+ );
+
+ XmlFile xmlFile = (XmlFile)createFile("file.xml",
+ "" +
+ " "
+ );
+
+ final XmlTag rootTag = xmlFile.getDocument().getRootTag();
+ XmlElementDescriptor rootDescriptor = NSDescriptor.getElementDescriptor(rootTag);
+ assertNotNull(rootDescriptor);
+
+ XmlAttribute attribute = rootTag.getAttribute("a", XmlUtil.EMPTY_URI);
+ assertNotNull(attribute);
+ XmlAttributeDescriptor aDescriptor = rootDescriptor.getAttributeDescriptor("a", rootTag);
+ assertNull(aDescriptor);
+
+ attribute = rootTag.getAttribute("a", "http://foo");
+ assertNull(attribute);
+ attribute = rootTag.getAttribute("a", XmlUtil.ANT_URI);
+ assertNull(attribute);
+ }
+
+ private static XmlNSDescriptor createDescriptor(@NonNls String dtdText) throws Exception {
+ PsiFile dtdFile = createFile("test.xml", dtdText);
+
+ return new XmlNSDescriptorImpl((XmlFile)dtdFile);
+ }
+}
diff --git a/xml/tests/src/com/intellij/codeInsight/XmlTagTest.java b/xml/tests/src/com/intellij/codeInsight/XmlTagTest.java
new file mode 100644
index 000000000000..0241f4bc46da
--- /dev/null
+++ b/xml/tests/src/com/intellij/codeInsight/XmlTagTest.java
@@ -0,0 +1,960 @@
+package com.intellij.codeInsight;
+
+import com.intellij.openapi.application.ApplicationManager;
+import com.intellij.openapi.application.Result;
+import com.intellij.openapi.command.CommandProcessor;
+import com.intellij.openapi.command.UndoConfirmationPolicy;
+import com.intellij.openapi.command.WriteCommandAction;
+import com.intellij.openapi.editor.Document;
+import com.intellij.openapi.editor.RangeMarker;
+import com.intellij.openapi.fileTypes.StdFileTypes;
+import com.intellij.openapi.util.TextRange;
+import com.intellij.openapi.util.io.FileUtil;
+import com.intellij.openapi.vfs.VfsUtil;
+import com.intellij.openapi.vfs.VirtualFileManager;
+import com.intellij.psi.*;
+import com.intellij.psi.codeStyle.CodeStyleManager;
+import com.intellij.psi.xml.*;
+import com.intellij.testFramework.LightCodeInsightTestCase;
+import com.intellij.util.ArrayUtil;
+import com.intellij.util.IncorrectOperationException;
+import com.intellij.util.LocalTimeCounter;
+import com.intellij.xml.util.XmlTagUtil;
+
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.net.MalformedURLException;
+import java.util.Arrays;
+
+/**
+ * @author peter
+ */
+@SuppressWarnings({"ConstantConditions", "EmptyCatchBlock"})
+public class XmlTagTest extends LightCodeInsightTestCase {
+ private static XmlTag createTag(String value) throws IncorrectOperationException {
+ return XmlElementFactory.getInstance(getProject()).createTagFromText("" + value + " ");
+ }
+
+ public void testGetTextValue() throws Throwable {
+ assertEquals("bar", createTag("bar").getValue().getText());
+ }
+
+ public void testCharRefs() throws Throwable {
+ String[] names = XmlTagUtil.getCharacterEntityNames();
+ for (String name : names) {
+ XmlTag tag = createTag("foo&" + name + ";bar");
+ assertEquals("foo" + XmlTagUtil.getCharacterByEntityName(name) + "bar", tag.getValue().getTrimmedText());
+ }
+ }
+
+ public void testLocalNSDeclarations() throws Throwable {
+ final XmlTag tag = XmlElementFactory.getInstance(getProject()).createTagFromText(" ");
+ final Object[] nsPrefixes = ArrayUtil.toObjectArray(tag.getLocalNamespaceDeclarations().keySet());
+ Arrays.sort(nsPrefixes);
+ assertEquals(2, nsPrefixes.length);
+ assertEquals("a",nsPrefixes[1]);
+ assertEquals("",nsPrefixes[0]);
+ }
+
+ public void testCDATA() throws Throwable {
+ XmlTag tag = createTag("foo&'\"]]>bar");
+ assertEquals("foo<>&'\"bar", tag.getValue().getTrimmedText());
+ }
+
+ public void testWhitespacesInAttributes() throws Throwable {
+ XmlTag tag = XmlElementFactory.getInstance(getProject()).createTagFromText("b ");
+ assertEquals("b", tag.getValue().getText());
+ }
+
+ public void testCreateChildTag() throws Throwable {
+ final XmlTag rootTag = XmlElementFactory.getInstance(getProject()).createTagFromText("");
+ final XmlTag childTag = rootTag.createChildTag("b", "bNamespace", null, true);
+ assertEquals("bNamespace", childTag.getNamespace());
+
+ ApplicationManager.getApplication().runWriteAction(new Runnable() {
+ public void run() {
+ XmlTag beanTag = (XmlTag)rootTag.add(childTag);
+ assertEquals("bNamespace", beanTag.getNamespace());
+ }
+ });
+ }
+
+ public void testDeleteTag() throws Throwable {
+ XmlTag aTag = XmlElementFactory.getInstance(getProject()).createTagFromText(" ");
+ final XmlTag bTag = aTag.findFirstSubTag("b");
+ ApplicationManager.getApplication().runWriteAction(new Runnable() {
+ public void run() {
+ bTag.delete();
+ }
+ });
+
+ assertEquals(0, aTag.getSubTags().length);
+ }
+
+ public void testReplaceTag() throws Throwable {
+ final XmlTag aTag = XmlElementFactory.getInstance(getProject()).createTagFromText(" ");
+ final XmlTag bTag = aTag.findFirstSubTag("b");
+ ApplicationManager.getApplication().runWriteAction(new Runnable() {
+ public void run() {
+ PsiElement cTag = bTag.replace(XmlElementFactory.getInstance(getProject()).createTagFromText(" "));
+ assertEquals(1, aTag.getSubTags().length);
+ assertEquals(cTag, aTag.getSubTags()[0]);
+ }
+ });
+ }
+
+ public void testAddText() throws Exception{
+ final XmlElementFactory elementFactory = XmlElementFactory.getInstance(getProject());
+ final XmlTag aTag = elementFactory.createTagFromText("1 ");
+ final XmlText displayText = elementFactory.createDisplayText("2");
+
+ ApplicationManager.getApplication().runWriteAction(new Runnable() {
+ public void run() {
+ final PsiElement psiElement = aTag.addAfter(displayText, aTag.getValue().getChildren()[0]);
+ assertEquals(psiElement.getContainingFile(), aTag.getContainingFile());
+ }
+ });
+ }
+
+ public void testWhitespaceInsideTag() throws Exception {
+ ApplicationManager.getApplication().runWriteAction(new Runnable() {
+ public void run() {
+ XmlElementFactory.getInstance(getProject()).createTagFromText("
").getValue().setText("\n");
+ }
+ });
+ }
+
+ public void testSetAttribute_ForXhtml() throws Exception {
+ XmlFile xhtmlFile = (XmlFile)PsiFileFactory.getInstance(getProject()).createFileFromText("dummy.xhtml", " ");
+ final XmlTag rootTag = xhtmlFile.getDocument().getRootTag();
+
+ ApplicationManager.getApplication().runWriteAction(new Runnable() {
+ public void run() {
+ rootTag.setAttribute("foo", "bar");
+ }
+ });
+
+ assertEquals(1, rootTag.getAttributes().length);
+ assertEquals("bar", rootTag.getAttributeValue("foo"));
+ assertEquals("foo", rootTag.getAttributes()[0].getName());
+ }
+
+ public void testSetAttribute() throws Exception {
+ final XmlTag rootTag = XmlElementFactory.getInstance(getProject()).createTagFromText(" ");
+ ApplicationManager.getApplication().runWriteAction(new Runnable() {
+ public void run() {
+ rootTag.setAttribute("foo", "bar");
+ }
+ });
+
+ assertEquals(1, rootTag.getAttributes().length);
+ assertEquals("bar", rootTag.getAttributeValue("foo"));
+ assertEquals("foo", rootTag.getAttributes()[0].getName());
+ assertEquals("", rootTag.getText());
+ }
+
+ public void testSetAttributeWithQuotes() throws Exception {
+ final XmlTag rootTag = XmlElementFactory.getInstance(getProject()).createTagFromText(" ");
+ final String value = "a \"b\" c";
+ ApplicationManager.getApplication().runWriteAction(new Runnable() {
+ public void run() {
+ rootTag.setAttribute("foo", value);
+ }
+ });
+
+ assertEquals(1, rootTag.getAttributes().length);
+ assertEquals(value, rootTag.getAttributeValue("foo"));
+ assertEquals("foo", rootTag.getAttributes()[0].getName());
+ assertEquals("
", rootTag.getText());
+ }
+
+ public void testSetAttributeWithQuotes2() throws Exception {
+ final XmlTag rootTag = XmlElementFactory.getInstance(getProject()).createTagFromText(" ");
+ final String value = "'a \"b\" c'";
+ ApplicationManager.getApplication().runWriteAction(new Runnable() {
+ public void run() {
+ rootTag.setAttribute("foo", value);
+ }
+ });
+
+ final String expected = value.replaceAll("\"", """);
+ assertEquals(1, rootTag.getAttributes().length);
+ assertEquals(expected, rootTag.getAttributeValue("foo"));
+ assertEquals(value, rootTag.getAttribute("foo").getDisplayValue());
+ assertEquals("foo", rootTag.getAttributes()[0].getName());
+ assertEquals(" ", rootTag.getText());
+ }
+
+ public void testSetAttributeUpdateText() throws Exception {
+ final String value = "a \"b\" c";
+ final XmlTag rootTag = XmlElementFactory.getInstance(getProject()).createTagFromText(" ");
+
+ assertEquals(1, rootTag.getAttributes().length);
+ assertEquals(value, rootTag.getAttributeValue("foo"));
+
+ final XmlAttribute foo = rootTag.getAttribute("foo");
+ final String text = foo.getValueElement().getText();
+ assertEquals("'" + value + "'", text);
+
+ ((PsiLanguageInjectionHost)foo.getValueElement()).updateText(text);
+ assertEquals(" ", rootTag.getText());
+ }
+
+ public void testSetAttributeWithNamespaces() throws Exception {
+ final XmlTag rootTag = XmlElementFactory.getInstance(getProject()).createTagFromText("");
+ ApplicationManager.getApplication().runWriteAction(new Runnable() {
+ public void run() {
+ rootTag.setAttribute("foo", "", "bar");
+ }
+ });
+
+ assertEquals(2, rootTag.getAttributes().length);
+ assertEquals("bar", rootTag.getAttributeValue("foo"));
+ assertEquals("foo", rootTag.getAttributes()[1].getName());
+ assertEquals("", rootTag.getText());
+ }
+
+ public void testTextEdit1() throws Exception {
+ final XmlTag rootTag = XmlElementFactory.getInstance(getProject()).createTagFromText("aaa");
+ final XmlText xmlText = rootTag.getValue().getTextElements()[0];
+ ApplicationManager.getApplication().runWriteAction(new Runnable() {
+ public void run() {
+ xmlText.removeText(0, 3);
+ }
+ });
+
+ assertEquals("", rootTag.getText());
+ }
+
+ public void testTextEdit2() throws Exception {
+ final XmlTag rootTag = XmlElementFactory.getInstance(getProject()).createTagFromText("a<a");
+ ApplicationManager.getApplication().runWriteAction(new Runnable() {
+ public void run() {
+ rootTag.getValue().getTextElements()[0].removeText(0, 3);
+ }
+ });
+
+ assertEquals("", rootTag.getText());
+ }
+
+ public void testTextEdit3() throws Exception {
+ final XmlTag rootTag = XmlElementFactory.getInstance(getProject()).createTagFromText("a<a");
+ final XmlText xmlText = rootTag.getValue().getTextElements()[0];
+ ApplicationManager.getApplication().runWriteAction(new Runnable() {
+ public void run() {
+ xmlText.removeText(1, 2);
+ }
+ });
+
+ assertEquals(1, xmlText.getChildren().length);
+ assertEquals("aa", rootTag.getText());
+ }
+
+ public void testTextEdit4() throws Exception {
+ final XmlTag rootTag = XmlElementFactory.getInstance(getProject()).createTagFromText("aaa");
+ final XmlText xmlText = rootTag.getValue().getTextElements()[0];
+ ApplicationManager.getApplication().runWriteAction(new Runnable() {
+ public void run() {
+ xmlText.removeText(1, 2);
+ }
+ });
+
+ assertEquals(1, xmlText.getChildren().length);
+ assertEquals("aa", rootTag.getText());
+ }
+
+ public void testTextEdit5() throws Exception {
+ final XmlTag rootTag = XmlElementFactory.getInstance(getProject()).createTagFromText("xxx \nyyy ");
+ final XmlTag y = rootTag.findFirstSubTag("y");
+
+ final PsiFile file = y.getContainingFile();
+ String text = y.getValue().getText();
+ TextRange textRange = y.getValue().getTextRange();
+
+ assertEquals(text, textRange.substring(file.getText()));
+
+ new WriteCommandAction(getProject(), file) {
+ @Override
+ protected void run(final Result result) throws Throwable {
+ CodeStyleManager.getInstance(getProject()).adjustLineIndent(file, y.getTextOffset());
+ }
+ }.execute();
+
+ text = y.getValue().getText();
+ textRange = y.getValue().getTextRange();
+
+ assertEquals(text, textRange.substring(file.getText()));
+ }
+
+ public void testTextEdit6() throws Exception {
+ final XmlTag rootTag = XmlElementFactory.getInstance(getProject()).createTagFromText("a1 c");
+ final XmlTag xmlTag = rootTag.findFirstSubTag("b");
+ ApplicationManager.getApplication().runWriteAction(new Runnable() {
+ public void run() {
+ xmlTag.delete();
+ }
+ });
+
+ assertEquals("ac", rootTag.getText());
+ }
+
+ public void testBrace() throws Exception {
+ final XmlTag tagFromText = XmlElementFactory.getInstance(getProject()).createTagFromText(" ");
+ ApplicationManager.getApplication().runWriteAction(new Runnable() {
+ public void run() {
+ tagFromText.getValue().setText("<");
+ }
+ });
+
+ assertEquals("<", tagFromText.getValue().getTextElements()[0].getValue());
+ }
+
+ public void testEmptyTextRange() throws Exception {
+ final String text = " ";
+ final String name = "test.xhtml";
+ XmlTag rootTag = createTag(name, text);
+ TextRange textRange = rootTag.getValue().getTextRange();
+ assertEquals(3, textRange.getStartOffset());
+ assertEquals(3, textRange.getEndOffset());
+ }
+
+ public void testDeleteTagBetweenText() throws Exception {
+ final XmlTag tag = createTag("foo.xhtml", "a
b
");
+ final XmlTag div = tag.getSubTags()[0];
+ new WriteCommandAction(getProject(), tag.getContainingFile()) {
+ @Override
+ protected void run(final Result result) throws Throwable {
+ div.delete();
+ }
+ }.execute();
+ assertEquals("ab
", tag.getText());
+ }
+
+ private static XmlTag createTag(final String name, final String text) {
+ final XmlFile file = (XmlFile)PsiFileFactory.getInstance(getProject())
+ .createFileFromText(name, StdFileTypes.XML, text, LocalTimeCounter.currentTime(), true);
+ return file.getDocument().getRootTag();
+ }
+
+ // tests whether rangemarker gets changed when texts are merged, passes
+ public void testRangeMarker1() throws IOException, IncorrectOperationException {
+ final XmlFile file = (XmlFile)createFile("file.xhtml", "1234 567 ");
+ final XmlTag root = file.getDocument().getRootTag();
+ final XmlTag tag = root.findFirstSubTag("b");
+
+ ApplicationManager.getApplication().runWriteAction(new Runnable() {
+ @Override
+ public void run() {
+ CommandProcessor.getInstance().executeCommand(getProject(), new Runnable() {
+ @Override
+ public void run() {
+ final int offset = tag.getTextOffset();
+
+ Document document = PsiDocumentManager.getInstance(getProject()).getDocument(root.getContainingFile());
+ RangeMarker marker = document.createRangeMarker(offset - 3, offset);
+ tag.delete();
+
+
+ assertEquals(4, marker.getStartOffset());
+ assertEquals(7, marker.getEndOffset());
+ }
+ }, "", null);
+ }
+ });
+ }
+
+ // this one fails, the difference is that we do some manipulations before: move "234" before the tag
+ public void testRangeMarker2() throws IOException, IncorrectOperationException {
+ final XmlTag root = createTag("file.xhtml", "1234 567 ");
+ final XmlTag tag = root.findFirstSubTag("b");
+ ApplicationManager.getApplication().runWriteAction(new Runnable() {
+ @Override
+ public void run() {
+ CommandProcessor.getInstance().executeCommand(getProject(), new Runnable() {
+ @Override
+ public void run() {
+ Document document = PsiDocumentManager.getInstance(getProject()).getDocument(root.getContainingFile());
+ XmlTagChild child = tag.getValue().getChildren()[0];
+ assertTrue(child instanceof XmlText && child.getText().equals("234"));
+
+ try {
+ tag.getParent().addBefore(child, tag);
+
+ assertEquals(7, tag.getTextOffset());
+ RangeMarker marker = document.createRangeMarker(4, 7);
+ tag.delete();
+
+ assertEquals(4, marker.getStartOffset());
+ assertEquals(7, marker.getEndOffset());
+
+ }
+ catch (IncorrectOperationException e) {
+ }
+ }
+ }, "", null);
+ }
+ });
+ }
+
+ // the previous test relveals one problem with text merge, "234" in fact is not merged with "1"
+ public void test3() throws IOException, IncorrectOperationException {
+ final XmlTag root = XmlElementFactory.getInstance(getProject()).createTagFromText("1234 456 ");
+ final XmlTag tag = root.findFirstSubTag("b");
+
+ final XmlTagChild child = tag.getValue().getChildren()[0];
+ assertTrue(child instanceof XmlText && child.getText().equals("234"));
+
+ ApplicationManager.getApplication().runWriteAction(new Runnable() {
+ public void run() {
+ assertNotNull(tag.getParent().addBefore(child, tag));
+ tag.delete();
+ }
+ });
+
+
+ assertEquals(1, root.getValue().getChildren().length);
+ assertEquals("1234456", root.getValue().getChildren()[0].getText());
+ }
+
+ public void test3XHTML() throws IOException, IncorrectOperationException {
+ final XmlTag root = XmlElementFactory.getInstance(getProject()).createXHTMLTagFromText("1234 456 ");
+ final XmlTag tag = root.findFirstSubTag("b");
+
+ final XmlTagChild child = tag.getValue().getChildren()[0];
+ assertTrue(child instanceof XmlText && child.getText().equals("234"));
+
+ ApplicationManager.getApplication().runWriteAction(new Runnable() {
+ public void run() {
+ assertNotNull(tag.getParent().addBefore(child, tag));
+ tag.delete();
+ }
+ });
+
+
+ assertEquals(1, root.getValue().getChildren().length);
+ assertEquals("1234456", root.getValue().getChildren()[0].getText());
+ }
+
+ public void testDisplayText() throws Throwable {
+ final XmlTag tag = XmlElementFactory.getInstance(getProject()).createTagFromText(" ");
+ ApplicationManager.getApplication().runWriteAction(new Runnable() {
+ public void run() {
+ tag.add(XmlElementFactory.getInstance(getProject()).createDisplayText("aaa\nbbb"));
+ }
+ });
+
+ assertEquals("aaa\nbbb", tag.getValue().getTextElements()[0].getValue());
+ }
+
+ public void testXHTMLAddBefore1() throws Exception {
+ final XmlFile file = (XmlFile)PsiFileFactory.getInstance(getProject()).createFileFromText("test.xhtml",
+ "a 123 c ");
+ final XmlTag tagB = file.getDocument().getRootTag().findFirstSubTag("b");
+
+ final XmlTagChild[] tagElements = tagB.getValue().getChildren();
+ final PsiElement parent = tagB.getParent();
+
+ ApplicationManager.getApplication().runWriteAction(new Runnable() {
+ public void run() {
+ PsiElement first = parent.addBefore(tagElements[0], tagB);
+ assertNotNull(first);
+ }
+ });
+ }
+
+ public void testXHTMLSetAttribute1() throws Exception {
+ new WriteCommandAction.Simple(getProject()) {
+ @Override
+ protected void run() throws Throwable {
+ final XmlFile file = (XmlFile)PsiFileFactory.getInstance(getProject()).createFileFromText("test.xhtml", " ");
+ final XmlTag tagB = file.getDocument().getRootTag();
+
+ tagB.setAttribute("a", "");
+ assertEquals("", tagB.getText());
+
+ tagB.setAttribute("b", "");
+ assertEquals(" ", tagB.getText());
+
+ tagB.setAttribute("c", "");
+ assertEquals(" ", tagB.getText());
+
+ tagB.getAttributes()[1].delete();
+ assertEquals(" ", tagB.getText());
+ }
+ }.execute().throwException();
+ }
+
+ public void testXHTMLNbsp1() throws Exception {
+ final XmlFile file = (XmlFile)PsiFileFactory.getInstance(getProject()).createFileFromText("test.xhtml", " ");
+ final XmlTag tagB = file.getDocument().getRootTag();
+ assertEquals(tagB.getValue().getTextElements().length, 1);
+ assertEquals(tagB.getValue().getTextElements()[0].getValue(), "\u00a0");
+ }
+
+ public void testDeleteTagWithMultilineWhitespace1() throws Exception {
+ final XmlFile file = (XmlFile)PsiFileFactory.getInstance(getProject()).createFileFromText("test.xml",
+ "\n \n");
+ final XmlTag tagB = file.getDocument().getRootTag();
+ ApplicationManager.getApplication().runWriteAction(new Runnable() {
+ public void run() {
+ tagB.getSubTags()[0].delete();
+ }
+ });
+
+ assertEquals("\n ", tagB.getText());
+ }
+
+ public void testDeleteTagWithMultilineWhitespace2() throws Exception {
+ final XmlFile file = (XmlFile)PsiFileFactory.getInstance(getProject())
+ .createFileFromText("test.xml", "\n \n \n hasgdgasjdgasdg asgdjhasgd \n \n");
+ final XmlTag tagB = file.getDocument().getRootTag();
+ ApplicationManager.getApplication().runWriteAction(new Runnable() {
+ public void run() {
+ tagB.getSubTags()[0].getSubTags()[0].delete();
+ }
+ });
+
+ assertEquals("\n \n \n", tagB.getText());
+ }
+
+ public void testXHTMLRangeMarkers2() throws Exception {
+ XmlTag tag = createTag("file.xhtml", "xyz ");
+ PsiFile psiFile = tag.getContainingFile();
+ Document document = PsiDocumentManager.getInstance(psiFile.getProject()).getDocument(psiFile);
+ RangeMarker rangeMarker = document.createRangeMarker(5, 5);
+ final XmlText text = (XmlText) tag.getValue().getChildren()[0];
+
+ ApplicationManager.getApplication().runWriteAction(new Runnable() {
+ @Override
+ public void run() {
+ CommandProcessor.getInstance().executeCommand(getProject(), new Runnable() {
+ @Override
+ public void run() {
+ try{
+ text.removeText(2, 3);
+ }
+ catch(IncorrectOperationException ioe){}
+ }
+ }, "", null, UndoConfirmationPolicy.DO_NOT_REQUEST_CONFIRMATION);
+ }
+ });
+
+ assertEquals(5, rangeMarker.getStartOffset());
+ assertEquals(5, rangeMarker.getEndOffset());
+ }
+
+ public void testXHTMLTextInsert() throws Exception {
+ final XmlTag tag = XmlElementFactory.getInstance(getProject()).createXHTMLTagFromText("xyz ");
+ ApplicationManager.getApplication().runWriteAction(new Runnable() {
+ public void run() {
+ tag.getValue().getTextElements()[0].insertText("<", 1);
+ }
+ });
+
+ assertEquals("x<yz ", tag.getText());
+ }
+
+ public void testSimpleTextInsertion() throws Throwable {
+ doTestSimpleInsertion("xyz", "a");
+ doTestSimpleInsertion(" xyz", "a");
+ doTestSimpleInsertion("x yz", "a");
+ doTestSimpleInsertion("xy z", "a");
+ doTestSimpleInsertion("xyz ", "a");
+ doTestSimpleInsertion(" xyz ", "a");
+ doTestSimpleInsertion(" x y z ", "a");
+ }
+
+ public void testWhitespaceTextInsertion() throws Throwable {
+ doTestSimpleInsertion("xyz", " ");
+ }
+
+ public void testSimpleTextDeletion() throws Throwable {
+ doTestSimpleDeletion("xyz");
+ doTestSimpleDeletion(" xyz");
+ doTestSimpleDeletion("x yz");
+ doTestSimpleDeletion("xy z");
+ doTestSimpleDeletion("xyz ");
+ doTestSimpleDeletion(" xyz ");
+ doTestSimpleDeletion(" x y z ");
+ }
+
+ public void testWhitespaceDeletion() throws Throwable {
+ doTestSimpleDeletion(" xyz");
+ doTestSimpleDeletion("x yz");
+ doTestSimpleDeletion("xy z");
+ doTestSimpleDeletion("xyz ");
+ doTestSimpleDeletion(" xyz ");
+ doTestSimpleDeletion(" x y z ");
+ }
+
+ private static void doTestSimpleDeletion(final String text) throws IncorrectOperationException {
+ ApplicationManager.getApplication().runWriteAction(new Runnable() {
+ public void run() {
+ for (int i = 0; i < text.length(); i++) {
+ for (int j = i; j < text.length(); j++) {
+ XmlTag tag = XmlElementFactory.getInstance(getProject()).createXHTMLTagFromText("" + text + " ");
+ final PsiElement[] children = tag.getValue().getTextElements();
+ assertEquals(1, children.length);
+ final XmlText xmlText = (XmlText)children[0];
+ assertEquals(text, xmlText.getText());
+ xmlText.removeText(i, j);
+ final StringBuffer expected = new StringBuffer(text);
+ expected.delete(i, j);
+ assertEquals(expected.toString(), xmlText.getValue());
+ }
+ }
+ }
+ });
+ }
+
+ private static void doTestSimpleInsertion(final String text, final String textToInsert) throws IncorrectOperationException {
+ ApplicationManager.getApplication().runWriteAction(new Runnable() {
+ public void run() {
+ for (int i = 0; i <= text.length(); i++) {
+ XmlTag tag = XmlElementFactory.getInstance(getProject()).createXHTMLTagFromText("" + text + " ");
+ final PsiElement[] children = tag.getValue().getTextElements();
+ assertEquals(1, children.length);
+ final XmlText xmlText = (XmlText)children[0];
+ assertEquals(text, xmlText.getValue());
+ xmlText.insertText(textToInsert, i);
+ final StringBuffer expected = new StringBuffer(text);
+ expected.insert(i, textToInsert);
+ assertEquals(expected.toString(), xmlText.getValue());
+ }
+ }
+ });
+ }
+
+ public void testEscapedInsertion() throws Throwable {
+ doTestEscapedInsertion("xyz", "&");
+ doTestEscapedInsertion("xyz", "&&");
+ doTestEscapedInsertion("xyz", "&x&");
+ doTestEscapedInsertion("&xyz", "a");
+ doTestEscapedInsertion("&xyz", " ");
+ doTestEscapedInsertion("x&yz", "a");
+ doTestEscapedInsertion("x&yz", " ");
+ doTestEscapedInsertion("xy&z", "a");
+ doTestEscapedInsertion("xy&z", " ");
+ doTestEscapedInsertion("xyz&", "a");
+ doTestEscapedInsertion("xyz&", " ");
+ doTestEscapedInsertion("&x&y&z&", "a");
+ doTestEscapedInsertion(" x&y&z&", "a");
+ doTestEscapedInsertion(" x y&z&", "a");
+ doTestEscapedInsertion("&x y&z&", "a");
+ doTestEscapedInsertion("&x y&z ", "a");
+ doTestEscapedInsertion("&x&y&z&", "<");
+ doTestEscapedInsertion("&x&y&z&", ">");
+ doTestEscapedInsertion("_xyz", "a");
+ doTestEscapedInsertion("x_yz", "a");
+ doTestEscapedInsertion("xy_z", "a");
+ doTestEscapedInsertion("xyz_", "a");
+ doTestEscapedInsertion("_xyz_", "a");
+ doTestEscapedInsertion("_x_y_z_", "a");
+ }
+
+ public static void notestEscapedDeletion() throws Throwable {
+ doTestEscapedDeletion("&");
+ doTestEscapedDeletion("&&");
+ doTestEscapedDeletion(" &&");
+ doTestEscapedDeletion(" & &");
+ doTestEscapedDeletion(" & & ");
+ doTestEscapedDeletion(" && ");
+ doTestEscapedDeletion("&& ");
+ doTestEscapedDeletion("& ");
+ doTestEscapedDeletion(" ");
+ doTestEscapedDeletion("&abc");
+ doTestEscapedDeletion("a&bc");
+ doTestEscapedDeletion("ab&c");
+ doTestEscapedDeletion("abc&");
+ doTestEscapedDeletion(" &abc");
+ doTestEscapedDeletion("a &bc");
+ doTestEscapedDeletion("ab &c");
+ doTestEscapedDeletion("abc &");
+ doTestEscapedDeletion("& abc");
+ doTestEscapedDeletion("a& bc");
+ doTestEscapedDeletion("ab& c");
+ doTestEscapedDeletion("abc& ");
+ }
+
+ private static void doTestEscapedInsertion(final String text, final String textToInsert) throws IncorrectOperationException {
+ String tagText = toEscapedText(text);
+ for (int i = 0; i <= text.length(); i++) {
+ XmlTag tag = XmlElementFactory.getInstance(getProject()).createXHTMLTagFromText("" + tagText + " ");
+ final PsiElement[] children = tag.getValue().getTextElements();
+ assertEquals(1, children.length);
+ final XmlText xmlText = (XmlText)children[0];
+ assertEquals(tagText, xmlText.getText());
+ xmlText.insertText(textToInsert, i);
+ final StringBuffer expectedDisplay = new StringBuffer(text.replace('_', '\u00a0'));
+ expectedDisplay.insert(i, textToInsert);
+ assertEquals(expectedDisplay.toString(), xmlText.getValue());
+
+// final String expectedText = toEscapedText(expectedDisplay.toString());
+// assertEquals(expectedText, xmlText.getText());
+ }
+ }
+
+ private static void doTestEscapedDeletion(final String text) throws IncorrectOperationException {
+ ApplicationManager.getApplication().runWriteAction(new Runnable() {
+ public void run() {
+ String tagText = toEscapedText(text);
+ for (int i = 0; i < text.length(); i++) {
+ for (int j = i; j < text.length(); j++) {
+ XmlTag tag = XmlElementFactory.getInstance(getProject()).createXHTMLTagFromText("" + tagText + " ");
+ final PsiElement[] children = tag.getValue().getTextElements();
+ assertEquals(1, children.length);
+ final XmlText xmlText = (XmlText)children[0];
+ assertEquals(tagText, xmlText.getText());
+ xmlText.removeText(i, j);
+ final StringBuffer expectedDisplay = new StringBuffer(text.replace('_', ' '));
+ expectedDisplay.delete(i, j);
+ assertEquals(expectedDisplay.toString(), xmlText.getValue());
+
+ final String expectedText = toEscapedText(expectedDisplay.toString());
+ assertEquals(expectedText, xmlText.getText());
+ }
+ }
+ }
+ });
+ }
+
+ public void testWhitespacesInEmptyXHTMLTag() throws Exception{
+ final XmlTag tag = XmlElementFactory.getInstance(getProject()).createXHTMLTagFromText(" ");
+ ApplicationManager.getApplication().runWriteAction(new Runnable() {
+ public void run() {
+ tag.findFirstSubTag("b").delete();
+ }
+ });
+
+ assertEquals(" ", tag.getText());
+ }
+
+ public void test2() throws Exception {
+ XmlFile file = (XmlFile)createFile("file.xml", "x y ");
+ XmlTag tag = file.getDocument().getRootTag();
+ final XmlText xmlText = tag.getValue().getTextElements()[0];
+
+ ApplicationManager.getApplication().runWriteAction(new Runnable() {
+ @Override
+ public void run() {
+ CommandProcessor.getInstance().executeCommand(getProject(), new Runnable() {
+ @Override
+ public void run() {
+ try {
+ xmlText.insertText("z", 1);
+ }
+ catch (IncorrectOperationException e) {
+ throw new RuntimeException(e);
+ }
+ }
+ }, "", null, UndoConfirmationPolicy.DO_NOT_REQUEST_CONFIRMATION);
+ }
+ });
+ assertEquals("xz y ", tag.getText());
+ }
+
+ private static String toDisplay(String text) {
+ text = text.replaceAll("<", "<");
+ text = text.replaceAll(">", ">");
+ text = text.replaceAll("&", "&");
+ text = text.replaceAll("'", "'");
+ text = text.replaceAll(""", "\"");
+ text = text.replaceAll("", "");
+ return text.replaceAll(" ", "_");
+ }
+
+ private static String toEscapedText(String original) {
+ String text = original.replaceAll("<", "<");
+ text = text.replaceAll(">", ">");
+ text = text.replaceAll("&", "&");
+ text = text.replaceAll("'", "'");
+ text = text.replaceAll("\"", """);
+ text = text.replaceAll("_", " ");
+ assertEquals(original, toDisplay(text));
+ return text;
+ }
+
+ public void testCoordinateMappingConsistent() throws Exception {
+ doCoordinateMappingConsistentFromDisplayText("abc");
+ doCoordinateMappingConsistentFromDisplayText(" abc");
+ doCoordinateMappingConsistentFromDisplayText(" a bc");
+ doCoordinateMappingConsistentFromDisplayText(" a b c");
+ doCoordinateMappingConsistentFromDisplayText(" a b c ");
+ doCoordinateMappingConsistentFromDisplayText(" ab c ");
+ doCoordinateMappingConsistentFromDisplayText(" abc ");
+ doCoordinateMappingConsistentFromDisplayText("abc ");
+
+ doCoordinateMappingConsistentFromDisplayText(" ");
+ doCoordinateMappingConsistentFromDisplayText("&");
+
+ doCoordinateMappingConsistentFromDisplayText("&abc");
+ doCoordinateMappingConsistentFromDisplayText(" &abc");
+ doCoordinateMappingConsistentFromDisplayText(" a& bc");
+ doCoordinateMappingConsistentFromDisplayText(" a &b c");
+ doCoordinateMappingConsistentFromDisplayText(" a b& c ");
+ doCoordinateMappingConsistentFromDisplayText(" ab c& ");
+ doCoordinateMappingConsistentFromDisplayText(" ab&c ");
+ doCoordinateMappingConsistentFromDisplayText("abc &");
+ doCoordinateMappingConsistentFromDisplayText("abc&");
+ doCoordinateMappingConsistentFromDisplayText("ab&c&");
+ doCoordinateMappingConsistentFromDisplayText("ab&c");
+ doCoordinateMappingConsistentFromDisplayText("a&b&c");
+
+ doCoordinateMappingConsistentFromEscapedText("");
+ doCoordinateMappingConsistentFromEscapedText("");
+ doCoordinateMappingConsistentFromEscapedText("xxx");
+ doCoordinateMappingConsistentFromEscapedText("xxxxxx");
+ doCoordinateMappingConsistentFromEscapedText("xxx&xxx");
+ doCoordinateMappingConsistentFromEscapedText("xxx&&xxx");
+ doCoordinateMappingConsistentFromEscapedText("xxx&xxx");
+ doCoordinateMappingConsistentFromEscapedText("xxx&xxx");
+ doCoordinateMappingConsistentFromEscapedText("xxxs]]>&xxx");
+ doCoordinateMappingConsistentFromEscapedText("xxxs]]>&xxx");
+ }
+
+ public void testNBSP() throws Exception {
+ final XmlTag tagA = XmlElementFactory.getInstance(getProject()).createXHTMLTagFromText("1 ");
+
+ final XmlTag tagB = tagA.findFirstSubTag("b");
+ final XmlTagChild nbsp = tagB.getValue().getChildren()[0];
+ assertEquals(" ", nbsp.getText());
+ ApplicationManager.getApplication().runWriteAction(new Runnable() {
+ public void run() {
+ tagA.addBefore(nbsp.copy(), tagB);
+ }
+ });
+
+ XmlTagChild nbsp1 = tagA.getValue().getChildren()[0];
+ assertEquals("1 ", nbsp1.getText());
+ }
+
+ private static void doCoordinateMappingConsistentFromDisplayText(final String text) throws IncorrectOperationException {
+ doCoordinateMappingConsistentFromEscapedText(toEscapedText(text));
+ }
+
+ private static void doCoordinateMappingConsistentFromEscapedText(final String tagText) throws IncorrectOperationException {
+ String text = toDisplay(tagText);
+ XmlTag tag = XmlElementFactory.getInstance(getProject()).createTagFromText("" + tagText + " ");
+ final PsiElement[] children = tag.getValue().getTextElements();
+ assertEquals(1, children.length);
+ final XmlText xmlText = (XmlText)children[0];
+ assertEquals(tagText, xmlText.getText());
+
+ for (int i = 0; i <= text.length(); i++) {
+ final int physical = xmlText.displayToPhysical(i);
+ final int display = xmlText.physicalToDisplay(physical);
+ assertEquals("Coords mapping failed for: '" + tagText + "' - " + physical, display, i);
+ }
+
+ assertEquals("Coords mapping failed for: '" + tagText + "'", 0, xmlText.physicalToDisplay(0));
+ assertEquals(tagText.length(), xmlText.displayToPhysical(text.length()));
+ assertEquals(text.length(), xmlText.physicalToDisplay(tagText.length()));
+ }
+
+ public void testStrangeCharactesInText() throws Throwable {
+ ApplicationManager.getApplication().runWriteAction(new Runnable() {
+ public void run() {
+ XmlElementFactory.getInstance(getProject()).createTagFromText(" ").getValue().setText("@#$%@$%$${${''}");
+ }
+ });
+ }
+
+ public void testPsiToDocumentSynchronizationFailed() throws Throwable {
+ String text = " ";
+ final File tempFile = FileUtil.createTempFile("idea-test", ".xml");
+ tempFile.createNewFile();
+ final FileOutputStream fileOutputStream = new FileOutputStream(tempFile);
+ fileOutputStream.write(text.getBytes());
+ fileOutputStream.flush();
+ fileOutputStream.close();
+
+ ApplicationManager.getApplication().runWriteAction(new Runnable() {
+ @Override
+ public void run() {
+ CommandProcessor.getInstance().executeCommand(getProject(), new Runnable() {
+ @Override
+ @SuppressWarnings({"ConstantConditions"})
+ public void run() {
+ VirtualFileManager.getInstance().refresh(false);
+ XmlFile file ;//createTemporaryFile("wpd.xml", text));
+ try {
+ file = (XmlFile)getPsiManager().findFile(VfsUtil.findFileByURL(tempFile.toURL()));
+ }
+ catch (MalformedURLException e) {
+ throw new RuntimeException(e);
+ }
+
+ final XmlTag methodTag = file.getDocument().getRootTag().findFirstSubTag("methods");
+ try {
+ methodTag.add(XmlElementFactory.getInstance(getProject()).createTagFromText(" "));
+ }
+ catch (IncorrectOperationException e) {
+ throw new RuntimeException(e);
+ }
+ }
+ }, "", null, UndoConfirmationPolicy.DO_NOT_REQUEST_CONFIRMATION);
+ }
+ });
+ }
+
+ public void testXmlFormattingException() throws Throwable {
+ final XmlTag tag = XmlElementFactory.getInstance(getProject()).createTagFromText("bar ");
+ ApplicationManager.getApplication().runWriteAction(new Runnable() {
+ public void run() {
+ tag.add(XmlElementFactory.getInstance(getProject()).createTagFromText(" "));
+ }
+ });
+ }
+
+ public void testSetNamespace() throws Exception {
+ XmlFile xhtmlFile = (XmlFile)PsiFileFactory.getInstance(getProject()).createFileFromText("dummy.xml",
+ " \n";
+ XmlFile file = (XmlFile)PsiFileFactory.getInstance(getProject()).createFileFromText("xxx.xhtml", html);
+ XmlTag body = file.getDocument().getRootTag().findFirstSubTag("body");
+ final XmlTag hr = body.getSubTags()[0];
+
+ final XmlText text = XmlElementFactory.getInstance(getProject()).createDisplayText("p");
+ ApplicationManager.getApplication().runWriteAction(new Runnable() {
+ public void run() {
+ PsiElement element = hr.getParentTag().addAfter(text, hr);
+ assertEquals(element.getParent(), hr.getParentTag());
+ }
+ });
+ }
+
+ public void testCollapse() throws IncorrectOperationException {
+ final XmlTag tag = XmlElementFactory.getInstance(getProject()).createTagFromText(" ");
+ ApplicationManager.getApplication().runWriteAction(new Runnable() {
+ public void run() {
+ tag.collapseIfEmpty();
+ assertEquals(" ", tag.getText());
+
+ final XmlTag tag1 = XmlElementFactory.getInstance(getProject()).createTagFromText("abc ");
+ tag1.collapseIfEmpty();
+ assertEquals(" ", tag1.getText());
+
+ final XmlTag tag2 = XmlElementFactory.getInstance(getProject()).createTagFromText(" ");
+ tag2.collapseIfEmpty();
+ assertEquals(" ", tag2.getText());
+ }
+ });
+ }
+}
diff --git a/xml/tests/src/com/intellij/codeInsight/XmlTagWriteTest.java b/xml/tests/src/com/intellij/codeInsight/XmlTagWriteTest.java
new file mode 100644
index 000000000000..7728fe5edadf
--- /dev/null
+++ b/xml/tests/src/com/intellij/codeInsight/XmlTagWriteTest.java
@@ -0,0 +1,61 @@
+package com.intellij.codeInsight;
+
+import com.intellij.openapi.application.ApplicationManager;
+import com.intellij.psi.XmlElementFactory;
+import com.intellij.psi.xml.XmlTag;
+import com.intellij.psi.xml.XmlText;
+import com.intellij.testFramework.LightCodeInsightTestCase;
+import com.intellij.util.IncorrectOperationException;
+import com.intellij.xml.util.XmlUtil;
+
+/**
+ * @author lesya, dsl
+ */
+public class XmlTagWriteTest extends LightCodeInsightTestCase{
+ public void test1() throws IncorrectOperationException {
+ XmlElementFactory elementFactory = XmlElementFactory.getInstance(getProject());
+ final XmlTag xmlTag = XmlElementFactory.getInstance(getProject()).createTagFromText(" ");
+ ApplicationManager.getApplication().runWriteAction(new Runnable() {
+ public void run() {
+ xmlTag.add(xmlTag.createChildTag("tag2", XmlUtil.EMPTY_URI, null, false));
+ }
+ });
+
+
+ assertEquals(" ", xmlTag.getText());
+ XmlTag createdFromText = elementFactory.createTagFromText(xmlTag.getText());
+ assertEquals("tag1", createdFromText.getName());
+ assertEquals(1, createdFromText.getSubTags().length);
+ assertEquals("tag2", createdFromText.getSubTags()[0].getName());
+ }
+
+ public void test2() throws IncorrectOperationException {
+ final XmlTag xmlTag = XmlElementFactory.getInstance(getProject()).createTagFromText(" ");
+ ApplicationManager.getApplication().runWriteAction(new Runnable() {
+ public void run() {
+ xmlTag.add(xmlTag.createChildTag("tag2", XmlUtil.EMPTY_URI, null, false));
+ }
+ });
+
+
+ assertEquals(" ", xmlTag.getText());
+ XmlTag createdFromText = XmlElementFactory.getInstance(getProject()).createTagFromText(xmlTag.getText());
+ assertEquals("tag1", createdFromText.getName());
+ assertEquals(1, createdFromText.getSubTags().length);
+ assertEquals("tag2", createdFromText.getSubTags()[0].getName());
+ }
+
+ public void test3() throws Exception{
+ final XmlTag tag = XmlElementFactory.getInstance(getProject()).createTagFromText("\n0123456 ");
+ final XmlText text = (XmlText) tag.getValue().getChildren()[0];
+ String textS = text.getText();
+ ApplicationManager.getApplication().runWriteAction(new Runnable() {
+ public void run() {
+ text.insertText("lala", 2);
+ }
+ });
+
+ XmlText text2 = (XmlText)tag.getValue().getChildren()[0];
+ assertEquals(textS.substring(0, 2) + "lala" + textS.substring(2), text2.getText());
+ }
+}
diff --git a/xml/tests/src/com/intellij/codeInsight/XmlTestUtil.java b/xml/tests/src/com/intellij/codeInsight/XmlTestUtil.java
new file mode 100644
index 000000000000..75aa8825cc68
--- /dev/null
+++ b/xml/tests/src/com/intellij/codeInsight/XmlTestUtil.java
@@ -0,0 +1,22 @@
+package com.intellij.codeInsight;
+
+import com.intellij.openapi.project.Project;
+import com.intellij.psi.PsiFileFactory;
+import com.intellij.psi.xml.XmlFile;
+import com.intellij.psi.xml.XmlTag;
+import org.jetbrains.annotations.NonNls;
+
+public class XmlTestUtil {
+
+ public static XmlTag tag(@NonNls String tagName, Project project) throws Exception {
+ XmlFile file = (XmlFile)PsiFileFactory.getInstance(project).createFileFromText("tag.xml", "<" + tagName + "/>");
+ return file.getDocument().getRootTag();
+ }
+
+ public static XmlTag tag(@NonNls String tagName, @NonNls String namespace, Project project) throws Exception {
+ XmlFile file = (XmlFile)PsiFileFactory.getInstance(project)
+ .createFileFromText("tag.xml", "<" + tagName + " xmlns=\"" + namespace + "\"/>");
+ return file.getDocument().getRootTag();
+ }
+
+}
diff --git a/xml/tests/src/com/intellij/codeInsight/XmlTextTest.java b/xml/tests/src/com/intellij/codeInsight/XmlTextTest.java
new file mode 100644
index 000000000000..55cdc25e4aa8
--- /dev/null
+++ b/xml/tests/src/com/intellij/codeInsight/XmlTextTest.java
@@ -0,0 +1,86 @@
+/*
+ * Copyright (c) 2000-2006 JetBrains s.r.o. All Rights Reserved.
+ */
+
+package com.intellij.codeInsight;
+
+import com.intellij.openapi.application.Result;
+import com.intellij.openapi.command.WriteCommandAction;
+import com.intellij.openapi.fileTypes.StdFileTypes;
+import com.intellij.psi.PsiFileFactory;
+import com.intellij.psi.XmlElementFactory;
+import com.intellij.psi.impl.source.codeStyle.CodeEditUtil;
+import com.intellij.psi.xml.XmlElement;
+import com.intellij.psi.xml.XmlFile;
+import com.intellij.psi.xml.XmlTag;
+import com.intellij.psi.xml.XmlText;
+import com.intellij.testFramework.LightCodeInsightTestCase;
+
+/**
+ * @author mike
+ */
+public class XmlTextTest extends LightCodeInsightTestCase {
+ public void testInsertAtOffset() throws Exception {
+ new WriteCommandAction(getProject()) {
+
+ @Override
+ protected void run(final Result result) throws Throwable {
+ String xml = "0123456789 ";
+ XmlFile file = (XmlFile)PsiFileFactory.getInstance(getProject())
+ .createFileFromText("foo.xml", StdFileTypes.XML, xml, (long)1, true, false);
+ //System.out.println(DebugUtil.psiToString(file, false));
+ XmlTag root = file.getDocument().getRootTag();
+ final XmlText text1 = root.getValue().getTextElements()[0];
+
+ assertFalse(CodeEditUtil.isNodeGenerated(root.getNode()));
+ final XmlText text = text1;
+
+ final XmlElement element = text.insertAtOffset(XmlElementFactory.getInstance(getProject()).createTagFromText(" "), 5);
+ assertNotNull(element);
+ assertTrue(element instanceof XmlText);
+ assertEquals("01234", element.getText());
+ assertEquals("01234 56789 ", text.getContainingFile().getText());
+ }
+ }.execute();
+ }
+
+ public void testPhysicalToDisplayIfHasGaps2() throws Exception {
+ String xml = "&abc
";
+ XmlFile file = (XmlFile)PsiFileFactory.getInstance(getProject()).createFileFromText("foo.xml", xml);
+ XmlTag root = file.getDocument().getRootTag();
+ final XmlText text = root.getValue().getTextElements()[0];
+
+ assertEquals("&abc", text.getValue());
+ assertEquals(0, text.physicalToDisplay(0));
+ assertEquals(1, text.physicalToDisplay(5));
+ assertEquals(2, text.physicalToDisplay(6));
+ assertEquals(3, text.physicalToDisplay(7));
+ assertEquals(4, text.physicalToDisplay(8));
+ }
+
+ public void testDisplayToPhysical() throws Exception {
+ String xml = "&abc
";
+ XmlFile file = (XmlFile)PsiFileFactory.getInstance(getProject()).createFileFromText("foo.xml", xml);
+ XmlTag root = file.getDocument().getRootTag();
+ final XmlText text = root.getValue().getTextElements()[0];
+
+ assertEquals("&abc", text.getValue());
+ assertEquals(0, text.displayToPhysical(0));
+ assertEquals(5, text.displayToPhysical(1));
+ assertEquals(6, text.displayToPhysical(2));
+ assertEquals(7, text.displayToPhysical(3));
+ assertEquals(8, text.displayToPhysical(4));
+ }
+
+ public void testDisplayToPhysical2() throws Exception {
+ String xml = "
";
+ XmlFile file = (XmlFile)PsiFileFactory.getInstance(getProject()).createFileFromText("foo.xml", xml);
+ XmlTag root = file.getDocument().getRootTag();
+ final XmlText text = root.getValue().getTextElements()[0];
+
+ assertEquals(" ", text.getValue());
+ assertEquals(9, text.displayToPhysical(0));
+ assertEquals(13, text.displayToPhysical(1));
+ }
+
+}
diff --git a/xml/tests/src/com/intellij/codeInsight/XmlWrongClosingTagNameInspectionTest.java b/xml/tests/src/com/intellij/codeInsight/XmlWrongClosingTagNameInspectionTest.java
new file mode 100644
index 000000000000..66db22990a8c
--- /dev/null
+++ b/xml/tests/src/com/intellij/codeInsight/XmlWrongClosingTagNameInspectionTest.java
@@ -0,0 +1,23 @@
+package com.intellij.codeInsight;
+
+import com.intellij.codeInsight.daemon.quickFix.LightQuickFixTestCase;
+import com.intellij.testFramework.PlatformTestUtil;
+
+import java.io.File;
+
+/**
+ * @author spleaner
+ */
+public class XmlWrongClosingTagNameInspectionTest extends LightQuickFixTestCase {
+ public void test() throws Exception { doAllTests(); }
+
+ @Override
+ protected String getBasePath() {
+ return "/wrongClosingTagName";
+ }
+
+ @Override
+ protected String getTestDataPath() {
+ return PlatformTestUtil.getCommunityPath().replace(File.separatorChar, '/') + "/xml/tests/testData/inspections";
+ }
+}
diff --git a/xml/tests/src/com/intellij/codeInsight/XmlXIncludeTest.groovy b/xml/tests/src/com/intellij/codeInsight/XmlXIncludeTest.groovy
new file mode 100644
index 000000000000..161eda9f3236
--- /dev/null
+++ b/xml/tests/src/com/intellij/codeInsight/XmlXIncludeTest.groovy
@@ -0,0 +1,99 @@
+package com.intellij.codeInsight;
+
+
+import com.intellij.openapi.fileEditor.FileDocumentManager
+import com.intellij.openapi.util.text.StringUtil
+import com.intellij.psi.PsiDocumentManager
+import com.intellij.psi.xml.XmlFile
+import com.intellij.psi.xml.XmlTag
+import com.intellij.testFramework.fixtures.LightCodeInsightFixtureTestCase
+import com.intellij.openapi.vfs.VirtualFile
+import com.intellij.openapi.application.WriteAction
+
+/**
+ * @author mike
+ */
+public class XmlXIncludeTest extends LightCodeInsightFixtureTestCase {
+ private static final String BASE_PATH = "/psi/xi";
+
+ public void testBasicXi() throws Exception {
+ configure();
+ assertSubtagNames("before", "include1", "after");
+ }
+
+ public void testXpointerXi1() throws Exception {
+ configure();
+ assertSubtagNames("before", "foo", "bar", "after");
+ }
+
+ @Override
+ protected String getBasePath() {
+ return "/xml/tests/testData/" + BASE_PATH;
+ }
+
+ private void assertSubtagNames(String... expectedNames) {
+ final XmlTag tag = ((XmlFile)myFixture.file).document.rootTag
+ final List names = tag.getSubTags().collect { it.name }
+
+ assertEquals(
+ "subtags are different",
+ StringUtil.join(expectedNames, "\n"), StringUtil.join(names, "\n")
+ );
+ }
+
+ private void configure() throws Exception {
+ myFixture.configureByFiles(getName() + ".xml", "/include1.xml");
+ }
+
+ public void testModifyingIncludedFile() {
+ myFixture.configureByText 'a.xml', '''
+
+
+
+
+
+'''
+ def inc1 = myFixture.copyFileToProject("include1.xml")
+ assertSubtagNames("before", "foo", "bar", "after")
+
+ changeText inc1, ' '
+
+ assertSubtagNames("before", "a", "after")
+ }
+
+ public void testModifyingTransitivelyIncludedFile() {
+ myFixture.configureByText 'a.xml', '''
+
+
+
+
+
+'''
+ myFixture.addFileToProject("include1.xml", """
+
+
+
+
+
+""")
+ def inc2 = myFixture.addFileToProject("include2.xml", ' ')
+
+ assertSubtagNames("before", "foo", "bar", "a", "after")
+
+ changeText inc2.virtualFile, ' '
+
+ assertSubtagNames("before", "foo", "bar", "b", "after")
+
+ }
+
+ private changeText(VirtualFile inc1, String s) {
+ def token = WriteAction.start()
+ try {
+ FileDocumentManager.instance.getDocument(inc1).setText s
+ PsiDocumentManager.getInstance(project).commitAllDocuments()
+ }
+ finally {
+ token.finish()
+ }
+ }
+}
diff --git a/xml/tests/src/com/intellij/codeInsight/completion/XmlSmartEnterTest.java b/xml/tests/src/com/intellij/codeInsight/completion/XmlSmartEnterTest.java
new file mode 100644
index 000000000000..51682c9ff124
--- /dev/null
+++ b/xml/tests/src/com/intellij/codeInsight/completion/XmlSmartEnterTest.java
@@ -0,0 +1,121 @@
+package com.intellij.codeInsight.completion;
+
+import com.intellij.codeInsight.CodeInsightSettings;
+import com.intellij.codeInsight.lookup.Lookup;
+import com.intellij.codeInsight.lookup.LookupElement;
+import com.intellij.codeInsight.lookup.LookupManager;
+import com.intellij.codeInsight.lookup.impl.LookupImpl;
+import com.intellij.codeInsight.lookup.impl.LookupManagerImpl;
+import com.intellij.openapi.application.Result;
+import com.intellij.openapi.command.WriteCommandAction;
+import com.intellij.testFramework.LightCodeInsightTestCase;
+import com.intellij.testFramework.PlatformTestUtil;
+
+import java.io.File;
+
+/**
+ * @author spleaner
+ */
+@SuppressWarnings({"ALL"})
+public class XmlSmartEnterTest extends LightCodeInsightTestCase {
+ private static final String BASE_PATH = "/smartEnter";
+ private LookupElement[] myItems;
+
+ public void testSmartFinish1() throws Throwable {
+ doCompletionPopupTest(getTestName(false));
+ }
+
+ public void testSmartFinish2() throws Throwable {
+ boolean old = CodeInsightSettings.getInstance().AUTOCOMPLETE_ON_CODE_COMPLETION;
+ CodeInsightSettings.getInstance().AUTOCOMPLETE_ON_CODE_COMPLETION = false;
+ try {
+ doCompletionPopupTest(getTestName(false));
+ }
+ finally {
+ CodeInsightSettings.getInstance().AUTOCOMPLETE_ON_CODE_COMPLETION = old;
+ }
+ }
+
+ public void testSmartFinish3() throws Exception {
+ doSmartEnterTest("SmartFinish1");
+ }
+
+ public void testSmartFinish4() throws Exception {
+ doSmartEnterTest("SmartFinish2");
+ }
+
+ public void testSmartFinish5() throws Exception {
+ doSmartEnterTest("SmartFinish3");
+ }
+
+ public void testSmartFinish_IDEADEV_29628() throws Exception {
+ doSmartEnterTest("IDEADEV_29628");
+ }
+
+ public void testSmartFinishWithWrongAttribute() throws Exception {
+ doSmartEnterTest("WrongAttribute");
+ }
+
+ public void testOpenAttribute() throws Exception {
+ doSmartEnterTest("OpenAttribute");
+ }
+
+ public void testComplete1() throws Exception {
+ _doTest("Tag.xml", "Tag_after.xml");
+ }
+
+ private void doCompletionPopupTest(String baseName) throws Exception {
+ _doTestCompletion(baseName + ".xml", baseName + "_after.xml");
+ }
+
+ private void _doTestCompletion(final String name, final String after_name) throws Exception {
+ configureByFile(BASE_PATH + "/" + name);
+ performCompletionAction();
+ select(Lookup.COMPLETE_STATEMENT_SELECT_CHAR);
+ checkResultByFile(BASE_PATH + "/" + after_name);
+ }
+
+ private void doSmartEnterTest(String baseName) throws Exception {
+ _doTest(baseName + ".xml", baseName + "_after.xml");
+ }
+
+ private void _doTest(String filename, String filename_after) throws Exception {
+ configureByFile(BASE_PATH + "/" + filename);
+
+ new WriteCommandAction(getProject()) {
+ protected void run(final Result result) throws Throwable {
+ new XmlSmartEnterProcessor().process(getProject(), getEditor(), getFile());
+ }
+ }.execute();
+
+ checkResultByFile("", BASE_PATH + "/" + filename_after, true);
+ }
+
+ private void performCompletionAction() {
+ new CodeCompletionHandlerBase(CompletionType.BASIC).invokeCompletion(getProject(), getEditor());
+ final LookupImpl lookup = (LookupImpl)LookupManager.getActiveLookup(getEditor());
+ myItems = lookup == null ? null : lookup.getItems().toArray(LookupElement.EMPTY_ARRAY);
+ }
+
+ private void select(final char c) {
+ if (c != '\n' && c != '\t' && c != Lookup.COMPLETE_STATEMENT_SELECT_CHAR) {
+ type(c);
+ return;
+ }
+
+ final LookupManagerImpl manager = (LookupManagerImpl) LookupManager.getInstance(getProject());
+ final Lookup lookup = manager.getActiveLookup();
+ if(lookup != null) {
+ manager.forceSelection(c, lookup.getCurrentItem());
+ }
+ }
+
+ protected String getBasePath() {
+ return "";
+ }
+
+ @Override
+ protected String getTestDataPath() {
+ return PlatformTestUtil.getCommunityPath().replace(File.separatorChar, '/') + "/xml/tests/testData/";
+ }
+}
diff --git a/xml/tests/src/com/intellij/codeInsight/editorActions/moveUpDown/XmlMoverTest.java b/xml/tests/src/com/intellij/codeInsight/editorActions/moveUpDown/XmlMoverTest.java
new file mode 100644
index 000000000000..8c9c78494ecd
--- /dev/null
+++ b/xml/tests/src/com/intellij/codeInsight/editorActions/moveUpDown/XmlMoverTest.java
@@ -0,0 +1,66 @@
+package com.intellij.codeInsight.editorActions.moveUpDown;
+
+import com.intellij.codeInsight.CodeInsightTestCase;
+import com.intellij.openapi.editor.actionSystem.EditorActionHandler;
+import com.intellij.testFramework.PlatformTestUtil;
+import org.jetbrains.annotations.NonNls;
+
+import java.io.File;
+
+/**
+ * @author spleaner
+ */
+@SuppressWarnings({"ALL"})
+public class XmlMoverTest extends CodeInsightTestCase {
+
+ public void testTag() throws Exception { doTest("xml"); }
+ public void testTag2() throws Exception { doTest("xml"); }
+ public void testTag3() throws Exception { doTest("xml"); }
+ public void testTag4() throws Exception { doTest("xml"); }
+ public void testTag5() throws Exception { doTest("xml"); }
+ public void testTag6() throws Exception { doTest("xml"); }
+ public void testTag7() throws Exception { doTest("xml"); }
+ public void testTag8() throws Exception { doTest("xml"); }
+ public void testTag9() throws Exception { doTest("xml"); }
+ public void testTag10() throws Exception { doTest("xml"); }
+ public void testTag11() throws Exception { doTest("xml"); }
+
+ public void test1() throws Exception { doTest("html"); }
+
+ private void doTest(String ext) throws Exception {
+ final String baseName = getBasePath() + '/' + getTestName(true);
+ final String fileName = baseName + "."+ext;
+
+ try {
+ @NonNls String afterFileName = baseName + "_afterUp." + ext;
+ EditorActionHandler handler = new MoveStatementUpAction().getHandler();
+ performAction(fileName, handler, afterFileName);
+
+ afterFileName = baseName + "_afterDown." + ext;
+ handler = new MoveStatementDownAction().getHandler();
+ performAction(fileName, handler, afterFileName);
+ }
+ finally {
+ //CodeStyleSettingsManager.getInstance(myProject).dropTemporarySettings();
+ }
+ }
+
+ private void performAction(final String fileName, final EditorActionHandler handler, final String afterFileName) throws Exception {
+ configureByFile(fileName);
+ final boolean enabled = handler.isEnabled(myEditor, null);
+ assertEquals(new File(getTestDataPath(), afterFileName).exists(), enabled);
+ if (enabled) {
+ handler.execute(myEditor, null);
+ checkResultByFile(afterFileName);
+ }
+ }
+
+ protected String getBasePath() {
+ return "/mover";
+ }
+
+ @Override
+ protected String getTestDataPath() {
+ return PlatformTestUtil.getCommunityPath().replace(File.separatorChar, '/') + "/xml/tests/testData";
+ }
+}
\ No newline at end of file
diff --git a/xml/tests/src/com/intellij/psi/formatter/XmlFormatterTestBase.java b/xml/tests/src/com/intellij/psi/formatter/XmlFormatterTestBase.java
new file mode 100644
index 000000000000..73727548743d
--- /dev/null
+++ b/xml/tests/src/com/intellij/psi/formatter/XmlFormatterTestBase.java
@@ -0,0 +1,54 @@
+package com.intellij.psi.formatter;
+
+import com.intellij.psi.impl.source.xml.XmlFileImpl;
+import com.intellij.openapi.util.TextRange;
+import com.intellij.openapi.command.CommandProcessor;
+import com.intellij.openapi.application.ApplicationManager;
+
+/**
+ * @author yole
+ */
+public abstract class XmlFormatterTestBase extends XmlFormatterTestCase {
+ protected void checkFormattingDoesNotProduceException(String name) throws Exception {
+
+ String text = loadFile(name + ".xml", null);
+ final XmlFileImpl file = (XmlFileImpl)createFile(name + ".xml", text);
+ myTextRange = new TextRange(10000, 10001);
+ CommandProcessor.getInstance().executeCommand(getProject(), new Runnable() {
+ @Override
+ public void run() {
+ ApplicationManager.getApplication().runWriteAction(new Runnable() {
+ @Override
+ public void run() {
+ performFormatting(file);
+ }
+ });
+ }
+ }, "", "");
+
+ myTextRange = new TextRange(1000000, 1000001);
+ CommandProcessor.getInstance().executeCommand(getProject(), new Runnable() {
+ @Override
+ public void run() {
+ ApplicationManager.getApplication().runWriteAction(new Runnable() {
+ @Override
+ public void run() {
+ performFormatting(file);
+ }
+ });
+ }
+ }, "", "");
+ myTextRange = new TextRange(0, text.length());
+ CommandProcessor.getInstance().executeCommand(getProject(), new Runnable() {
+ @Override
+ public void run() {
+ ApplicationManager.getApplication().runWriteAction(new Runnable() {
+ @Override
+ public void run() {
+ performFormatting(file);
+ }
+ });
+ }
+ }, "", "");
+ }
+}
diff --git a/xml/tests/src/com/intellij/psi/formatter/XmlFormatterTestCase.java b/xml/tests/src/com/intellij/psi/formatter/XmlFormatterTestCase.java
new file mode 100644
index 000000000000..70cd87904c4d
--- /dev/null
+++ b/xml/tests/src/com/intellij/psi/formatter/XmlFormatterTestCase.java
@@ -0,0 +1,25 @@
+package com.intellij.psi.formatter;
+
+import com.intellij.psi.codeStyle.CodeStyleSettings;
+import com.intellij.psi.formatter.xml.XmlCodeStyleSettings;
+
+/**
+ * @author peter
+ */
+public abstract class XmlFormatterTestCase extends FormatterTestCase{
+
+ public void testDontKeepLineBreaksInText() throws Throwable {
+ final CodeStyleSettings settings = getSettings();
+ final XmlCodeStyleSettings xmlSettings = settings.getCustomSettings(XmlCodeStyleSettings.class);
+ settings.RIGHT_MARGIN = 15;
+
+ settings.HTML_KEEP_LINE_BREAKS_IN_TEXT = false;
+ xmlSettings.XML_KEEP_LINE_BREAKS_IN_TEXT = false;
+ doTextTest("aaa\nbbb\nccc\nddd\n ", "aaa bbb\n ccc ddd\n ");
+
+ settings.HTML_TEXT_WRAP = CodeStyleSettings.DO_NOT_WRAP;
+ xmlSettings.XML_TEXT_WRAP = CodeStyleSettings.DO_NOT_WRAP;
+ doTextTest("aaa\nbbb\nccc\nddd\n ", "aaa bbb ccc ddd\n ");
+ }
+
+}
diff --git a/xml/tests/src/com/intellij/psi/impl/source/html/HtmlConditionalCommentInjectionTest.java b/xml/tests/src/com/intellij/psi/impl/source/html/HtmlConditionalCommentInjectionTest.java
new file mode 100644
index 000000000000..2db52d88e6ed
--- /dev/null
+++ b/xml/tests/src/com/intellij/psi/impl/source/html/HtmlConditionalCommentInjectionTest.java
@@ -0,0 +1,28 @@
+package com.intellij.psi.impl.source.html;
+
+import com.intellij.codeInsight.completion.CompletionTestCase;
+import com.intellij.testFramework.PlatformTestUtil;
+
+import java.io.File;
+
+/**
+ * @author spleaner
+ */
+@SuppressWarnings({"ALL"})
+public class HtmlConditionalCommentInjectionTest extends CompletionTestCase {
+
+ public void testHtmlCompletion() throws Exception {
+ configureByFile("complete.html");
+ checkResultByFile("complete_after.html");
+ }
+
+ public void testXhtmlCompletion() throws Exception {
+ configureByFile("complete.xhtml");
+ checkResultByFile("complete_after.xhtml");
+ }
+
+ @Override
+ protected String getTestDataPath() {
+ return PlatformTestUtil.getCommunityPath().replace(File.separatorChar, '/') + "/xml/tests/testData/commentInjection/";
+ }
+}
diff --git a/xml/tests/src/com/intellij/xml/XmlConstraintsTest.java b/xml/tests/src/com/intellij/xml/XmlConstraintsTest.java
new file mode 100644
index 000000000000..c70bc1b09aee
--- /dev/null
+++ b/xml/tests/src/com/intellij/xml/XmlConstraintsTest.java
@@ -0,0 +1,145 @@
+package com.intellij.xml;
+
+import com.intellij.psi.PsiElement;
+import com.intellij.psi.util.PsiTreeUtil;
+import com.intellij.psi.xml.XmlFile;
+import com.intellij.psi.xml.XmlTag;
+import com.intellij.testFramework.fixtures.CodeInsightFixtureTestCase;
+import com.intellij.util.containers.ContainerUtil;
+import com.intellij.util.containers.Convertor;
+import com.intellij.xml.actions.ValidateXmlActionHandler;
+import org.apache.xerces.impl.Constants;
+import org.apache.xerces.impl.xs.XSComplexTypeDecl;
+import org.apache.xerces.impl.xs.XSElementDecl;
+import org.apache.xerces.impl.xs.models.CMBuilder;
+import org.apache.xerces.impl.xs.models.CMNodeFactory;
+import org.apache.xerces.impl.xs.models.XSCMValidator;
+import org.apache.xerces.xni.grammars.Grammar;
+import org.apache.xerces.xni.grammars.XMLGrammarDescription;
+import org.apache.xerces.xni.grammars.XMLGrammarPool;
+import org.apache.xerces.xni.grammars.XSGrammar;
+import org.apache.xerces.xs.XSComplexTypeDefinition;
+import org.apache.xerces.xs.XSElementDeclaration;
+import org.apache.xerces.xs.XSModel;
+import org.xml.sax.SAXException;
+
+import javax.xml.parsers.ParserConfigurationException;
+import javax.xml.parsers.SAXParser;
+import java.util.Arrays;
+import java.util.Map;
+import java.util.Vector;
+
+/**
+ * @author Dmitry Avdeev
+ */
+@SuppressWarnings({"UseOfObsoleteCollectionType"})
+public class XmlConstraintsTest extends CodeInsightFixtureTestCase {
+
+ public void testXercesGrammar() throws Exception {
+ XSModel xsModel = getXSModel("test.xml", "test.xsd");
+ XSElementDeclaration elementDeclaration = xsModel.getElementDeclaration("a", "");
+ XSComplexTypeDefinition typeDefinition = (XSComplexTypeDefinition)elementDeclaration.getTypeDefinition();
+ CMBuilder cmBuilder = new CMBuilder(new CMNodeFactory());
+ XSCMValidator validator = cmBuilder.getContentModel((XSComplexTypeDecl)typeDefinition, true);
+ int[] ints = validator.startContentModel();
+ Vector vector = validator.whatCanGoHere(ints);
+ XSElementDecl o = (XSElementDecl)vector.get(0);
+ assertEquals("b", o.getName());
+ }
+
+ public void testXercesIncomplete() throws Exception {
+ XSModel xsModel = getXSModel("testIncomplete.xml", "test.xsd");
+ XSElementDeclaration elementDeclaration = xsModel.getElementDeclaration("a", "");
+ XSComplexTypeDefinition typeDefinition = (XSComplexTypeDefinition)elementDeclaration.getTypeDefinition();
+ CMBuilder cmBuilder = new CMBuilder(new CMNodeFactory());
+ XSCMValidator validator = cmBuilder.getContentModel((XSComplexTypeDecl)typeDefinition, true);
+ int[] ints = validator.startContentModel();
+ Vector vector = validator.whatCanGoHere(ints);
+ XSElementDecl o = (XSElementDecl)vector.get(0);
+ assertEquals("b", o.getName());
+ }
+
+ public void testXercesForCompletion() throws Exception {
+ XSModel xsModel = getXSModel("testCompletion.xml", "test.xsd");
+ PsiElement element = myFixture.getFile().findElementAt(getEditor().getCaretModel().getOffset());
+ XmlTag tag = PsiTreeUtil.getParentOfType(element, XmlTag.class);
+
+ assert tag != null;
+ XSElementDeclaration elementDeclaration = xsModel.getElementDeclaration(tag.getLocalName(), tag.getNamespace());
+ XSComplexTypeDefinition typeDefinition = (XSComplexTypeDefinition)elementDeclaration.getTypeDefinition();
+ CMBuilder cmBuilder = new CMBuilder(new CMNodeFactory());
+ XSCMValidator validator = cmBuilder.getContentModel((XSComplexTypeDecl)typeDefinition, true);
+ int[] ints = validator.startContentModel();
+ Vector vector = validator.whatCanGoHere(ints);
+ XSElementDecl o = (XSElementDecl)vector.get(0);
+ assertEquals("b", o.getName());
+ }
+
+ private XSModel getXSModel(String... files) {
+ myFixture.configureByFiles(files);
+
+ XmlFile file = (XmlFile)myFixture.getFile();
+ ValidateXmlActionHandler handler = new ValidateXmlActionHandler(false) {
+ @Override
+ protected SAXParser createParser() throws SAXException, ParserConfigurationException {
+ SAXParser parser = super.createParser();
+ parser.getXMLReader().setFeature(Constants.XERCES_FEATURE_PREFIX + Constants.CONTINUE_AFTER_FATAL_ERROR_FEATURE, true);
+ return parser;
+ }
+ };
+ handler.setErrorReporter(handler.new TestErrorReporter());
+ handler.doValidate(file);
+ XMLGrammarPool grammarPool = ValidateXmlActionHandler.getGrammarPool(file);
+ assert grammarPool != null;
+ Grammar[] grammars = grammarPool.retrieveInitialGrammarSet(XMLGrammarDescription.XML_SCHEMA);
+ XSGrammar grammar = (XSGrammar)grammars[0];
+ return grammar.toXSModel();
+ }
+
+ public void testXsdConstraints() throws Exception {
+ Map map = configure("test.xml", "test.xsd");
+ XmlElementDescriptor a = map.get("a");
+ XmlElementsGroup topGroup = a.getTopGroup();
+ }
+
+ public void testDtdConstraints() throws Exception {
+
+ Map map = configure("testDtd.xml");
+ XmlElementDescriptor a = map.get("a");
+ XmlElementDescriptor b = map.get("b");
+
+ XmlElementDescriptor c = map.get("c");
+
+ XmlElementDescriptor d = map.get("d");
+
+ XmlElementDescriptor e = map.get("e");
+ }
+
+ private Map configure(String... files) {
+ myFixture.configureByFiles(files);
+ XmlTag tag = ((XmlFile)getFile()).getRootTag();
+ assertNotNull(tag);
+ XmlElementDescriptor descriptor = tag.getDescriptor();
+ assertNotNull(descriptor);
+ XmlElementDescriptor[] descriptors = descriptor.getElementsDescriptors(tag);
+ Map map =
+ ContainerUtil.assignKeys(Arrays.asList(descriptors).iterator(), new Convertor() {
+ @Override
+ public String convert(XmlElementDescriptor o) {
+ return o.getName();
+ }
+ });
+ map.put(tag.getName(), tag.getDescriptor());
+ return map;
+ }
+
+ @Override
+ protected String getBasePath() {
+ return "/xml/tests/testData/constraints";
+ }
+
+ @Override
+ protected boolean isCommunity() {
+ return true;
+ }
+}
diff --git a/xml/tests/src/com/intellij/xml/XmlNamespacesTest.java b/xml/tests/src/com/intellij/xml/XmlNamespacesTest.java
new file mode 100644
index 000000000000..a7d27d5a7008
--- /dev/null
+++ b/xml/tests/src/com/intellij/xml/XmlNamespacesTest.java
@@ -0,0 +1,249 @@
+package com.intellij.xml;
+
+import com.intellij.codeInsight.actions.OptimizeImportsProcessor;
+import com.intellij.codeInsight.daemon.impl.analysis.XmlUnusedNamespaceInspection;
+import com.intellij.codeInsight.intention.IntentionAction;
+import com.intellij.codeInspection.htmlInspections.XmlInspectionToolProvider;
+import com.intellij.javaee.ExternalResourceManagerImpl;
+import com.intellij.openapi.application.Result;
+import com.intellij.openapi.command.WriteCommandAction;
+import com.intellij.testFramework.IdeaTestCase;
+import com.intellij.testFramework.fixtures.CodeInsightFixtureTestCase;
+
+/**
+ * @author Dmitry Avdeev
+ */
+public class XmlNamespacesTest extends CodeInsightFixtureTestCase {
+
+ @SuppressWarnings("JUnitTestCaseWithNonTrivialConstructors")
+ public XmlNamespacesTest() {
+ IdeaTestCase.initPlatformPrefix();
+ }
+
+ public void testUnusedNamespaces() throws Exception {
+ doUnusedDeclarationTest(
+ "xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"/>",
+ "", XmlUnusedNamespaceInspection.RemoveNamespaceDeclarationFix.NAME);
+ }
+
+ public void testUnusedDefaultNamespace() throws Exception {
+ doUnusedDeclarationTest("xmlns=\"http://www.w3.org/2001/XInclude\"\n" +
+ " xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n" +
+ " xsi:noNamespaceSchemaLocation=\"http://www.w3.org/2001/XInclude\" >\n" +
+ " ",
+
+ "\n" +
+ " ", XmlUnusedNamespaceInspection.RemoveNamespaceDeclarationFix.NAME, false);
+
+ doOptimizeImportsTest("\n" +
+ " ");
+ }
+
+ public void testDifferentPrefixes() throws Exception {
+ doUnusedDeclarationTest(
+ "xmlns=\"http://www.w3.org/2001/XMLSchema\"\n" +
+ " xmlns:x=\"http://www.w3.org/2001/XMLSchema\"\n" +
+ " xmlns:y=\"http://www.w3.org/2001/XMLSchema\" />",
+
+ "",
+ XmlUnusedNamespaceInspection.RemoveNamespaceDeclarationFix.NAME, false);
+
+ doOptimizeImportsTest(" ");
+ }
+
+ public void testUnusedLocation() throws Exception {
+ doUnusedDeclarationTest("http://www.w3.org/2001/XMLSche " +
+ "http://www.w3.org/2001/XMLSchema.xsd \"/>",
+ " ",
+ XmlUnusedNamespaceInspection.RemoveNamespaceLocationFix.NAME);
+ }
+
+ public void testUnusedLocationOnly() throws Exception {
+ doUnusedDeclarationTest("xmlns:y=\"http://www.w3.org/2001/XInclude\"\n" +
+ " xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n" +
+ " xsi:schemaLocation=\"http://www.w3.org/2001/XInclude http://www.w3.org/2001/XInclude.xsd \n" +
+ " http://www.w3.org/2001/XMLSchema http://www.w3.org/2001/XMLSchema.xsd\"/>",
+ " ",
+ XmlUnusedNamespaceInspection.RemoveNamespaceDeclarationFix.NAME);
+ }
+
+ public void testUnusedDefaultLocation() throws Exception {
+ doUnusedDeclarationTest("xsi:noNamespaceSchemaLocation=\"zzz \" />",
+ " ",
+ XmlUnusedNamespaceInspection.RemoveNamespaceLocationFix.NAME);
+ }
+
+ public void testKeepFormatting() throws Exception {
+ doUnusedDeclarationTest("xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n" +
+ " elementFormDefault=\"qualified\" xmlns:xs=\"http://www.w3.org/2001/XMLSchema\">\n" +
+ "\n" +
+ " \n" +
+ " \n" +
+ " \n" +
+ "\n" +
+ " \n" +
+ " ",
+ "\n" +
+ "\n" +
+ " \n" +
+ " \n" +
+ " \n" +
+ "\n" +
+ " \n" +
+ " ",
+ XmlUnusedNamespaceInspection.RemoveNamespaceDeclarationFix.NAME);
+ }
+
+ public void testImplicitPrefixUsage() throws Exception {
+ myFixture.configureByText("a.xml", "xmlns:x3=\"http://www.w3.org/2001/XMLSchema\" >\n" +
+ " \n" +
+ " ");
+ myFixture.testHighlighting();
+ }
+
+ public void testUnusedLocationDetection() throws Exception {
+ myFixture.configureByFile("web-app_2_5.xsd");
+ myFixture.configureByText("a.xml", "xmlns:web=\"http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd\"\n" +
+ " xsi:schemaLocation=\"http://java.sun.com/xml/ns/javaee\n" +
+ " web-app_2_5.xsd\"\n" +
+ " version=\"2.5\">\n" +
+ " ");
+ myFixture.testHighlighting();
+ }
+
+ public void testWSDD() throws Exception {
+ myFixture.configureByText("a.xml",
+ "\n" +
+ "\n" +
+ " ");
+ myFixture.testHighlighting();
+ }
+
+ public void testPrefixesInTagValues() throws Exception {
+ myFixture.configureByText("a.xml",
+ "<nodeTypes xmlns:nt=\"http://www.jcp.org/jcr/nt/1.0 \" xmlns:customns=\"http://customurl \">\n" +
+ "\n" +
+ " \n" +
+ " nt:folder \n" +
+ " \n" +
+ " \n" +
+ "nodeTypes >");
+ myFixture.testHighlighting();
+ }
+
+ public void testLocallyUsedNamespace() throws Exception {
+ myFixture.configureByText("a.xml", "\n" +
+ "\n" +
+ " a.xml\"/>\n" +
+ " ");
+ myFixture.testHighlighting();
+ }
+
+ public void testSubDirectory() throws Exception {
+ myFixture.testHighlighting("moved.xml", "trg/move-def.xsd");
+ }
+
+ public void testSuppressedOptimize() throws Exception {
+ myFixture.configureByFile("web-app_2_5.xsd");
+ String text = "\n" +
+ "\n" +
+ " ";
+ myFixture.configureByText("a.xml", text);
+
+ doOptimizeImportsTest(text);
+ }
+
+ private void doUnusedDeclarationTest(String text, String after, String name) throws Exception {
+ doUnusedDeclarationTest(text, after, name, true);
+ }
+
+ private void doUnusedDeclarationTest(String text, String after, String name, boolean testOptimizeImports) throws Exception {
+ myFixture.configureByText("a.xml", text);
+ myFixture.testHighlighting();
+ IntentionAction action = myFixture.getAvailableIntention(name);
+ assertNotNull(name + " not found", action);
+ myFixture.launchAction(action);
+ myFixture.checkResult(after);
+
+ myFixture.configureByText("a.xml", text);
+ if (testOptimizeImports) {
+ doOptimizeImportsTest(after);
+ }
+ }
+
+ private void doOptimizeImportsTest(String after) {
+ myFixture.testHighlighting();
+ new WriteCommandAction(getProject(), getFile()) {
+ @Override
+ protected void run(Result result) throws Throwable {
+ new OptimizeImportsProcessor(getProject(), getFile()).runWithoutProgress();
+ }
+ }.execute();
+ myFixture.checkResult(after);
+ }
+
+ @Override
+ protected void setUp() throws Exception {
+ super.setUp();
+ myFixture.enableInspections(new XmlInspectionToolProvider());
+ ExternalResourceManagerImpl.registerResourceTemporarily("http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd",
+ getTestDataPath() + "/web-app_2_5.xsd", getTestRootDisposable());
+ ExternalResourceManagerImpl.registerResourceTemporarily("http://xml.apache.org/axis/wsdd/",
+ getTestDataPath() + "/wsdd.dtd", getTestRootDisposable());
+ ExternalResourceManagerImpl.registerResourceTemporarily("http://xml.apache.org/axis/wsdd/providers/java",
+ getTestDataPath() + "/wsdd_provider_java.xsd", getTestRootDisposable());
+ }
+
+ @Override
+ protected String getBasePath() {
+ return "/xml/tests/testData/unusedNs";
+ }
+
+ @Override
+ protected boolean isCommunity() {
+ return true;
+ }
+}
diff --git a/xml/tests/src/com/intellij/xml/XmlSchemaPrefixTest.java b/xml/tests/src/com/intellij/xml/XmlSchemaPrefixTest.java
new file mode 100644
index 000000000000..feae6f6f487c
--- /dev/null
+++ b/xml/tests/src/com/intellij/xml/XmlSchemaPrefixTest.java
@@ -0,0 +1,47 @@
+package com.intellij.xml;
+
+import com.intellij.testFramework.fixtures.CodeInsightFixtureTestCase;
+import com.intellij.testFramework.fixtures.CodeInsightTestUtil;
+import com.intellij.xml.refactoring.SchemaPrefixRenameHandler;
+
+/**
+ * @author Konstantin Bulenkov
+ */
+public class XmlSchemaPrefixTest extends CodeInsightFixtureTestCase {
+
+ public void testPrefixUsages() throws Exception {
+ doFindUsages("usages.xml", 16);
+ doFindUsages("usages1.xml", 16);
+ }
+
+ public void testRename() throws Exception {doRename();}
+ public void testRename1() throws Exception {doRename();}
+
+ public void testRename2() throws Exception {doRename();}
+ public void testRenameFromClosingTag() throws Exception {doRename();}
+
+ private void doRename() throws Exception {
+ doRename("xsd");
+ }
+
+ private void doRename(String newValue) throws Exception {
+ final String name = getTestName(true);
+ CodeInsightTestUtil.doInlineRenameTest(new SchemaPrefixRenameHandler(), name, "xml", newValue, myFixture);
+ }
+
+ @Override
+ protected String getBasePath() {
+ return "/xml/tests/testData/schemaPrefix";
+ }
+
+ @Override
+ protected boolean isCommunity() {
+ return true;
+ }
+
+ protected void doFindUsages(String filename, int usages) {
+ final int size = myFixture.testFindUsages(filename).size();
+ assert size == usages : "Threre should be " + usages + " usages, but found " + size + ". File: " + filename;
+ }
+
+}
diff --git a/xml/tests/src/com/intellij/xml/XmlSmartCompletionTest.java b/xml/tests/src/com/intellij/xml/XmlSmartCompletionTest.java
new file mode 100644
index 000000000000..4a01392b3fb2
--- /dev/null
+++ b/xml/tests/src/com/intellij/xml/XmlSmartCompletionTest.java
@@ -0,0 +1,118 @@
+package com.intellij.xml;
+
+import com.intellij.codeInsight.CodeInsightSettings;
+import com.intellij.codeInsight.completion.CompletionType;
+import com.intellij.codeInsight.lookup.LookupElement;
+import com.intellij.javaee.ExternalResourceManagerImpl;
+import com.intellij.testFramework.IdeaTestCase;
+import com.intellij.testFramework.PlatformTestUtil;
+import com.intellij.testFramework.fixtures.LightPlatformCodeInsightFixtureTestCase;
+import com.intellij.util.Function;
+import com.intellij.util.containers.ContainerUtil;
+
+import java.io.File;
+import java.util.Arrays;
+import java.util.List;
+
+/**
+ * @author Dmitry Avdeev
+ */
+public class XmlSmartCompletionTest extends LightPlatformCodeInsightFixtureTestCase {
+
+ @SuppressWarnings("JUnitTestCaseWithNonTrivialConstructors")
+ public XmlSmartCompletionTest() {
+ IdeaTestCase.initPlatformPrefix();
+ }
+
+ public void testCompletion() throws Exception {
+ doTest(new String[]{"testCompletion.xml", "test.xsd"}, "b");
+ }
+
+ public void testCompletionNext() throws Exception {
+ doTest(new String[]{"testCompletionNext.xml", "test.xsd"}, "c");
+ }
+
+ public void testCompletion3() throws Exception {
+ doTest(new String[]{"testCompletion3.xml", "test.xsd"}, "c", "d");
+ }
+
+ public void testServlet() throws Exception {
+ doTest(new String[]{"Servlet.xml"}, "icon", "servlet-name");
+ }
+
+ public void testServletName() throws Exception {
+
+ doForText("\n" +
+ "\n" +
+ "\n" +
+ " \n" +
+ " \n" +
+ " \n" +
+ " ",
+ "\n" +
+ "\n" +
+ "\n" +
+ " \n" +
+ " \n" +
+ " ");
+ }
+
+ public void testPrefix() throws Exception {
+ doForText("\n" +
+ " \n" +
+ " ",
+ "\n" +
+ " ");
+ }
+
+ private void doForText(String before, String after) {
+ myFixture.configureByText("a.xml", before);
+ myFixture.complete(CompletionType.SMART);
+ myFixture.checkResult(after);
+ }
+
+ private void doTest(String[] files, String... items) {
+ myFixture.configureByFiles(files);
+ LookupElement[] elements;
+ try {
+ CodeInsightSettings.getInstance().AUTOCOMPLETE_ON_SMART_TYPE_COMPLETION = false;
+ elements = myFixture.complete(CompletionType.SMART);
+ }
+ finally {
+ CodeInsightSettings.getInstance().AUTOCOMPLETE_ON_SMART_TYPE_COMPLETION = true;
+ }
+ assert elements != null;
+ List strings = ContainerUtil.map(elements, new Function() {
+ @Override
+ public String fun(LookupElement lookupElement) {
+ return lookupElement.getLookupString();
+ }
+ });
+ assertEquals(Arrays.asList(items), strings);
+ }
+
+
+ @Override
+ public void setUp() throws Exception {
+ super.setUp();
+ ExternalResourceManagerImpl.registerResourceTemporarily("http://java.sun.com/j2ee/dtds/web-app_2_3.dtd",
+ getTestDataPath() + "/web-app_2_3.dtd", getTestRootDisposable());
+ }
+
+ @Override
+ protected String getBasePath() {
+ return "/xml/tests/testData/smartCompletion";
+ }
+
+ @Override
+ protected String getTestDataPath() {
+ return PlatformTestUtil.getCommunityPath().replace(File.separatorChar, '/') + getBasePath();
+ }
+
+}
diff --git a/xml/tests/src/com/intellij/xml/actions/GenerateXmlTagTest.java b/xml/tests/src/com/intellij/xml/actions/GenerateXmlTagTest.java
new file mode 100644
index 000000000000..fca9d694ed39
--- /dev/null
+++ b/xml/tests/src/com/intellij/xml/actions/GenerateXmlTagTest.java
@@ -0,0 +1,84 @@
+package com.intellij.xml.actions;
+
+import com.intellij.javaee.ExternalResourceManagerImpl;
+import com.intellij.testFramework.IdeaTestCase;
+import com.intellij.testFramework.PlatformTestUtil;
+import com.intellij.testFramework.fixtures.CodeInsightTestUtil;
+import com.intellij.testFramework.fixtures.LightPlatformCodeInsightFixtureTestCase;
+
+import java.io.File;
+
+/**
+ * @author Dmitry Avdeev
+ */
+public class GenerateXmlTagTest extends LightPlatformCodeInsightFixtureTestCase {
+
+ public GenerateXmlTagTest() {
+ IdeaTestCase.initPlatformPrefix();
+ }
+
+ public void testGenerate() throws Exception {
+ myFixture.configureByFile("web-app_2_5.xsd");
+ doTest("generate.xml", "security-constraint");
+ }
+
+ public void testGenerateEmpty() throws Exception {
+ myFixture.configureByFile("javaee_5.xsd");
+ myFixture.configureByFile("web-app_2_5.xsd");
+ doTest("generateEmpty.xml", "distributable");
+ }
+
+ public void testGenerateDTD() throws Exception {
+ doTest("generateDTD.xml", "b");
+ }
+
+ public void testGenerateDTDComplex() throws Exception {
+ doTest("generateDTDComplex.xml", "b");
+ }
+
+ public void testSpring() throws Exception {
+ myFixture.configureByFile("spring-beans_3.0.xsd");
+ doTest("spring.xml", "bean");
+ }
+
+ public void testSpringAtCaret() throws Exception {
+ myFixture.configureByFile("spring-beans_3.0.xsd");
+ doTest("springAtCaret.xml", "bean");
+ }
+
+ public void testSpringAfterBean() throws Exception {
+ myFixture.configureByFile("spring-beans_3.0.xsd");
+ doTest("springAfterBean.xml", "bean");
+ }
+
+ public void testSpringAlias() throws Exception {
+ myFixture.configureByFile("spring-beans_3.0.xsd");
+ doTest("springAlias.xml", "alias");
+ }
+
+ public void testInitParam() throws Exception {
+ doTest("initParam.xml", "context-param");
+ }
+
+ private void doTest(String file, String tagName) {
+ GenerateXmlTagAction.TEST_THREAD_LOCAL.set(tagName);
+ CodeInsightTestUtil.doActionTest(new GenerateXmlTagAction(), file, myFixture);
+ }
+
+ @Override
+ public void setUp() throws Exception {
+ super.setUp();
+ ExternalResourceManagerImpl.registerResourceTemporarily("http://java.sun.com/j2ee/dtds/web-app_2_3.dtd",
+ getTestDataPath() + "/web-app_2_3.dtd", getTestRootDisposable());
+ }
+
+ @Override
+ protected String getBasePath() {
+ return "/xml/tests/testData/generateTag";
+ }
+
+ @Override
+ protected String getTestDataPath() {
+ return PlatformTestUtil.getCommunityPath().replace(File.separatorChar, '/') + getBasePath();
+ }
+}
diff --git a/xml/tests/src/com/intellij/xml/actions/SplitTagActionTest.java b/xml/tests/src/com/intellij/xml/actions/SplitTagActionTest.java
new file mode 100644
index 000000000000..629b088a47df
--- /dev/null
+++ b/xml/tests/src/com/intellij/xml/actions/SplitTagActionTest.java
@@ -0,0 +1,26 @@
+package com.intellij.xml.actions;
+
+import com.intellij.codeInsight.daemon.LightIntentionActionTestCase;
+import com.intellij.testFramework.PlatformTestUtil;
+
+/**
+ * @author spleaner
+ */
+@SuppressWarnings({"ALL"})
+public class SplitTagActionTest extends LightIntentionActionTestCase {
+ public void test() throws Exception { doAllTests(); }
+
+ @Override
+ protected boolean shouldBeAvailableAfterExecution() {
+ return true;
+ }
+
+ @Override
+ protected String getBasePath() {
+ return "";
+ }
+
+ protected String getTestDataPath() {
+ return PlatformTestUtil.getCommunityPath() + "/xml/tests/testData/intentions/splitTag";
+ }
+}
\ No newline at end of file
diff --git a/xml/tests/src/com/intellij/xml/index/XmlSchemaIndexTest.java b/xml/tests/src/com/intellij/xml/index/XmlSchemaIndexTest.java
new file mode 100644
index 000000000000..abb7f4bdfd57
--- /dev/null
+++ b/xml/tests/src/com/intellij/xml/index/XmlSchemaIndexTest.java
@@ -0,0 +1,91 @@
+package com.intellij.xml.index;
+
+import com.intellij.openapi.project.Project;
+import com.intellij.openapi.vfs.VirtualFile;
+import com.intellij.testFramework.IdeaTestCase;
+import com.intellij.testFramework.fixtures.CodeInsightFixtureTestCase;
+import com.intellij.util.Function;
+import com.intellij.util.containers.ContainerUtil;
+
+import java.io.IOException;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * @author Dmitry Avdeev
+ */
+public class XmlSchemaIndexTest extends CodeInsightFixtureTestCase {
+
+ @SuppressWarnings("JUnitTestCaseWithNonTrivialConstructors")
+ public XmlSchemaIndexTest() {
+ IdeaTestCase.initPlatformPrefix();
+ }
+
+ public void testBuilder() throws IOException {
+
+ VirtualFile file = myFixture.copyFileToProject("spring-beans-2.0.xsd");
+ assert file != null;
+ final Collection tags = XsdTagNameBuilder.computeTagNames(file.getInputStream());
+ assert tags != null;
+ assertEquals(22, tags.size());
+
+ final String ns = XsdNamespaceBuilder.computeNamespace(file.getInputStream());
+ assertEquals("http://www.springframework.org/schema/beans", ns);
+
+ final VirtualFile xsd = myFixture.copyFileToProject("XMLSchema.xsd");
+ assert xsd != null;
+ final String xsns = XsdNamespaceBuilder.computeNamespace(xsd.getInputStream());
+ assertEquals("http://www.w3.org/2001/XMLSchema", xsns);
+
+ final Collection xstags = XsdTagNameBuilder.computeTagNames(xsd.getInputStream());
+ assert xstags != null;
+ assertEquals(69, xstags.size());
+ assertTrue(xstags.contains("schema"));
+ }
+
+ public void testTagNameIndex() {
+
+ myFixture.copyDirectoryToProject("", "");
+
+ final Project project = getProject();
+ final Collection tags = XmlTagNamesIndex.getAllTagNames(project);
+ assertTrue(tags.size() > 26);
+ final Collection files = XmlTagNamesIndex.getFilesByTagName("bean", project);
+ assertEquals(1, files.size());
+
+ final Collection files1 = XmlTagNamesIndex.getFilesByTagName("schema", project);
+ assertEquals(files1.toString(), 2, files1.size());
+
+ Collection names = ContainerUtil.map(files1, new Function() {
+ @Override
+ public String fun(VirtualFile virtualFile) {
+ return virtualFile.getName();
+ }
+ });
+ List expected = Arrays.asList("XMLSchema.xsd", "XMLSchema.xsd");
+ names.removeAll(expected);
+ assertTrue(files1.toString(), names.isEmpty());
+ }
+
+ public void testNamespaceIndex() {
+
+ myFixture.copyDirectoryToProject("", "");
+
+ final List> files =
+ XmlNamespaceIndex.getResourcesByNamespace("http://www.springframework.org/schema/beans",
+ getProject(),
+ myModule);
+ assertEquals(1, files.size());
+ }
+
+ @Override
+ protected String getBasePath() {
+ return "/xml/tests/testData/index";
+ }
+
+ @Override
+ protected boolean isCommunity() {
+ return true;
+ }
+}
diff --git a/xml/tests/testData/commentInjection/broken_syntax.html b/xml/tests/testData/commentInjection/broken_syntax.html
new file mode 100644
index 000000000000..d13549dda5ce
--- /dev/null
+++ b/xml/tests/testData/commentInjection/broken_syntax.html
@@ -0,0 +1,14 @@
+
+
+
+ title
+
+
+
+
+
+
\ No newline at end of file
diff --git a/xml/tests/testData/commentInjection/broken_syntax.xhtml b/xml/tests/testData/commentInjection/broken_syntax.xhtml
new file mode 100644
index 000000000000..f37fe59ae6bb
--- /dev/null
+++ b/xml/tests/testData/commentInjection/broken_syntax.xhtml
@@ -0,0 +1,15 @@
+
+
+
+
+ title
+
+
+
+
+
+
diff --git a/xml/tests/testData/commentInjection/broken_syntax2.html b/xml/tests/testData/commentInjection/broken_syntax2.html
new file mode 100644
index 000000000000..b164bded4475
--- /dev/null
+++ b/xml/tests/testData/commentInjection/broken_syntax2.html
@@ -0,0 +1,14 @@
+
+
+
+ title
+
+
+
+
+
+
\ No newline at end of file
diff --git a/xml/tests/testData/commentInjection/broken_syntax2.xhtml b/xml/tests/testData/commentInjection/broken_syntax2.xhtml
new file mode 100644
index 000000000000..9154f2cd2e62
--- /dev/null
+++ b/xml/tests/testData/commentInjection/broken_syntax2.xhtml
@@ -0,0 +1,15 @@
+
+
+
+
+ title
+
+
+
+
+
+
diff --git a/xml/tests/testData/commentInjection/complete.html b/xml/tests/testData/commentInjection/complete.html
new file mode 100644
index 000000000000..0b7c20cd1947
--- /dev/null
+++ b/xml/tests/testData/commentInjection/complete.html
@@ -0,0 +1,13 @@
+
+
+
+ title
+
+
+
+
+
+
\ No newline at end of file
diff --git a/xml/tests/testData/commentInjection/complete.xhtml b/xml/tests/testData/commentInjection/complete.xhtml
new file mode 100644
index 000000000000..a570e87dbd37
--- /dev/null
+++ b/xml/tests/testData/commentInjection/complete.xhtml
@@ -0,0 +1,15 @@
+
+
+
+
+ title
+
+
+
+
+
+
diff --git a/xml/tests/testData/commentInjection/complete_after.html b/xml/tests/testData/commentInjection/complete_after.html
new file mode 100644
index 000000000000..e8ee0bfcb8bf
--- /dev/null
+++ b/xml/tests/testData/commentInjection/complete_after.html
@@ -0,0 +1,13 @@
+
+
+
+ title
+
+
+
+
+
+
\ No newline at end of file
diff --git a/xml/tests/testData/commentInjection/complete_after.xhtml b/xml/tests/testData/commentInjection/complete_after.xhtml
new file mode 100644
index 000000000000..5577d12d196b
--- /dev/null
+++ b/xml/tests/testData/commentInjection/complete_after.xhtml
@@ -0,0 +1,15 @@
+
+
+
+
+ title
+
+
+
+
+
+
diff --git a/xml/tests/testData/commentInjection/injected1.html b/xml/tests/testData/commentInjection/injected1.html
new file mode 100644
index 000000000000..c7281d9f69ff
--- /dev/null
+++ b/xml/tests/testData/commentInjection/injected1.html
@@ -0,0 +1,14 @@
+
+
+
+ title
+
+
+
+
+
+
\ No newline at end of file
diff --git a/xml/tests/testData/commentInjection/injected1.xhtml b/xml/tests/testData/commentInjection/injected1.xhtml
new file mode 100644
index 000000000000..78748c7ec712
--- /dev/null
+++ b/xml/tests/testData/commentInjection/injected1.xhtml
@@ -0,0 +1,16 @@
+
+
+
+
+ title
+
+
+
+
+
+
diff --git a/xml/tests/testData/commentInjection/injected2.html b/xml/tests/testData/commentInjection/injected2.html
new file mode 100644
index 000000000000..f43a71f11f7d
--- /dev/null
+++ b/xml/tests/testData/commentInjection/injected2.html
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/xml/tests/testData/commentInjectionFormatting/formatting1.html b/xml/tests/testData/commentInjectionFormatting/formatting1.html
new file mode 100644
index 000000000000..ed2850eecec2
--- /dev/null
+++ b/xml/tests/testData/commentInjectionFormatting/formatting1.html
@@ -0,0 +1,18 @@
+
+
+
+title
+
+
+
+
+
\ No newline at end of file
diff --git a/xml/tests/testData/commentInjectionFormatting/formatting1_after.html b/xml/tests/testData/commentInjectionFormatting/formatting1_after.html
new file mode 100644
index 000000000000..53c4a712ae18
--- /dev/null
+++ b/xml/tests/testData/commentInjectionFormatting/formatting1_after.html
@@ -0,0 +1,18 @@
+
+
+
+ title
+
+
+
+
+
\ No newline at end of file
diff --git a/xml/tests/testData/commentInjectionFormatting/formatting2.html b/xml/tests/testData/commentInjectionFormatting/formatting2.html
new file mode 100644
index 000000000000..5487ba9dff53
--- /dev/null
+++ b/xml/tests/testData/commentInjectionFormatting/formatting2.html
@@ -0,0 +1,36 @@
+
+
+
+title
+
+
+
+
+
diff --git a/xml/tests/testData/commentInjectionFormatting/formatting2_after.html b/xml/tests/testData/commentInjectionFormatting/formatting2_after.html
new file mode 100644
index 000000000000..d74a7b1fd0af
--- /dev/null
+++ b/xml/tests/testData/commentInjectionFormatting/formatting2_after.html
@@ -0,0 +1,36 @@
+
+
+
+ title
+
+
+
+
+
diff --git a/xml/tests/testData/commentInjectionFormatting/xhtmlFormatting1.xhtml b/xml/tests/testData/commentInjectionFormatting/xhtmlFormatting1.xhtml
new file mode 100644
index 000000000000..2b8603650a4f
--- /dev/null
+++ b/xml/tests/testData/commentInjectionFormatting/xhtmlFormatting1.xhtml
@@ -0,0 +1,21 @@
+
+
+
+
+title
+
+
+
+
+
+
diff --git a/xml/tests/testData/commentInjectionFormatting/xhtmlFormatting1_after.xhtml b/xml/tests/testData/commentInjectionFormatting/xhtmlFormatting1_after.xhtml
new file mode 100644
index 000000000000..6d961243af5b
--- /dev/null
+++ b/xml/tests/testData/commentInjectionFormatting/xhtmlFormatting1_after.xhtml
@@ -0,0 +1,21 @@
+
+
+
+
+ title
+
+
+
+
+
+
diff --git a/xml/tests/testData/commentInjectionFormatting/xhtmlFormatting2.xhtml b/xml/tests/testData/commentInjectionFormatting/xhtmlFormatting2.xhtml
new file mode 100644
index 000000000000..21b38f34a783
--- /dev/null
+++ b/xml/tests/testData/commentInjectionFormatting/xhtmlFormatting2.xhtml
@@ -0,0 +1,39 @@
+
+
+
+
+title
+
+
+
+
+
+
diff --git a/xml/tests/testData/commentInjectionFormatting/xhtmlFormatting2_after.xhtml b/xml/tests/testData/commentInjectionFormatting/xhtmlFormatting2_after.xhtml
new file mode 100644
index 000000000000..d0d7ecb8e4d7
--- /dev/null
+++ b/xml/tests/testData/commentInjectionFormatting/xhtmlFormatting2_after.xhtml
@@ -0,0 +1,39 @@
+
+
+
+
+ title
+
+
+
+
+
+
diff --git a/xml/tests/testData/constraints/test.xml b/xml/tests/testData/constraints/test.xml
new file mode 100644
index 000000000000..624fb3646d02
--- /dev/null
+++ b/xml/tests/testData/constraints/test.xml
@@ -0,0 +1,3 @@
+
+
+
diff --git a/xml/tests/testData/constraints/test.xsd b/xml/tests/testData/constraints/test.xsd
new file mode 100644
index 000000000000..64a520eb0103
--- /dev/null
+++ b/xml/tests/testData/constraints/test.xsd
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/xml/tests/testData/constraints/testCompletion.xml b/xml/tests/testData/constraints/testCompletion.xml
new file mode 100644
index 000000000000..7345f6a1fc2e
--- /dev/null
+++ b/xml/tests/testData/constraints/testCompletion.xml
@@ -0,0 +1,4 @@
+
+
+ <
+
diff --git a/xml/tests/testData/constraints/testDtd.xml b/xml/tests/testData/constraints/testDtd.xml
new file mode 100644
index 000000000000..4d8c5e68aa7b
--- /dev/null
+++ b/xml/tests/testData/constraints/testDtd.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+ ]>
+
+
+
diff --git a/xml/tests/testData/constraints/testIncomplete.xml b/xml/tests/testData/constraints/testIncomplete.xml
new file mode 100644
index 000000000000..007f560105f9
--- /dev/null
+++ b/xml/tests/testData/constraints/testIncomplete.xml
@@ -0,0 +1,3 @@
+
+ <
+
diff --git a/xml/tests/testData/generateTag/generate.xml b/xml/tests/testData/generateTag/generate.xml
new file mode 100644
index 000000000000..ba0d537e4aeb
--- /dev/null
+++ b/xml/tests/testData/generateTag/generate.xml
@@ -0,0 +1,8 @@
+
+
+
+
\ No newline at end of file
diff --git a/xml/tests/testData/generateTag/generateDTD.xml b/xml/tests/testData/generateTag/generateDTD.xml
new file mode 100644
index 000000000000..d35500a6d389
--- /dev/null
+++ b/xml/tests/testData/generateTag/generateDTD.xml
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+ ]>
+
+
+
+
diff --git a/xml/tests/testData/generateTag/generateDTDComplex.xml b/xml/tests/testData/generateTag/generateDTDComplex.xml
new file mode 100644
index 000000000000..b35503e1f3b4
--- /dev/null
+++ b/xml/tests/testData/generateTag/generateDTDComplex.xml
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+ ]>
+
+
+
diff --git a/xml/tests/testData/generateTag/generateDTDComplex_after.xml b/xml/tests/testData/generateTag/generateDTDComplex_after.xml
new file mode 100644
index 000000000000..2f2db8a9ba4d
--- /dev/null
+++ b/xml/tests/testData/generateTag/generateDTDComplex_after.xml
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
+ ]>
+
+
+
+
+
+
diff --git a/xml/tests/testData/generateTag/generateDTD_after.xml b/xml/tests/testData/generateTag/generateDTD_after.xml
new file mode 100644
index 000000000000..f401f5139e87
--- /dev/null
+++ b/xml/tests/testData/generateTag/generateDTD_after.xml
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+ ]>
+
+
+
+
+
+
+
diff --git a/xml/tests/testData/generateTag/generateEmpty.xml b/xml/tests/testData/generateTag/generateEmpty.xml
new file mode 100644
index 000000000000..ba0d537e4aeb
--- /dev/null
+++ b/xml/tests/testData/generateTag/generateEmpty.xml
@@ -0,0 +1,8 @@
+
+
+
+
\ No newline at end of file
diff --git a/xml/tests/testData/generateTag/generateEmpty_after.xml b/xml/tests/testData/generateTag/generateEmpty_after.xml
new file mode 100644
index 000000000000..707c8d3d8abf
--- /dev/null
+++ b/xml/tests/testData/generateTag/generateEmpty_after.xml
@@ -0,0 +1,8 @@
+
+
+
+
\ No newline at end of file
diff --git a/xml/tests/testData/generateTag/generate_after.xml b/xml/tests/testData/generateTag/generate_after.xml
new file mode 100644
index 000000000000..58b865b3d270
--- /dev/null
+++ b/xml/tests/testData/generateTag/generate_after.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/xml/tests/testData/generateTag/initParam.xml b/xml/tests/testData/generateTag/initParam.xml
new file mode 100644
index 000000000000..ec73f0e4644c
--- /dev/null
+++ b/xml/tests/testData/generateTag/initParam.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/xml/tests/testData/generateTag/initParam_after.xml b/xml/tests/testData/generateTag/initParam_after.xml
new file mode 100644
index 000000000000..c57f8026f498
--- /dev/null
+++ b/xml/tests/testData/generateTag/initParam_after.xml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/xml/tests/testData/generateTag/javaee_5.xsd b/xml/tests/testData/generateTag/javaee_5.xsd
new file mode 100644
index 000000000000..59b6575b2c3c
--- /dev/null
+++ b/xml/tests/testData/generateTag/javaee_5.xsd
@@ -0,0 +1,2117 @@
+
+
+
+
+
+
+
+ @(#)javaee_5.xsds 1.63 06/02/07
+
+
+
+
+
+
+ Copyright 2003-2005 Sun Microsystems, Inc.
+ 4150 Network Circle
+ Santa Clara, California 95054
+ U.S.A
+ All rights reserved.
+
+ Sun Microsystems, Inc. has intellectual property rights
+ relating to technology described in this document. In
+ particular, and without limitation, these intellectual
+ property rights may include one or more of the U.S. patents
+ listed at http://www.sun.com/patents and one or more
+ additional patents or pending patent applications in the
+ U.S. and other countries.
+
+ This document and the technology which it describes are
+ distributed under licenses restricting their use, copying,
+ distribution, and decompilation. No part of this document
+ may be reproduced in any form by any means without prior
+ written authorization of Sun and its licensors, if any.
+
+ Third-party software, including font technology, is
+ copyrighted and licensed from Sun suppliers.
+
+ Sun, Sun Microsystems, the Sun logo, Solaris, Java, J2EE,
+ JavaServer Pages, Enterprise JavaBeans and the Java Coffee
+ Cup logo are trademarks or registered trademarks of Sun
+ Microsystems, Inc. in the U.S. and other countries.
+
+ Federal Acquisitions: Commercial Software - Government Users
+ Subject to Standard License Terms and Conditions.
+
+
+
+
+
+
+
+The following definitions that appear in the common
+shareable schema(s) of J2EE deployment descriptors should be
+interpreted with respect to the context they are included:
+
+Deployment Component may indicate one of the following:
+ j2ee application;
+ application client;
+ web application;
+ enterprise bean;
+ resource adapter;
+
+Deployment File may indicate one of the following:
+ ear file;
+ war file;
+ jar file;
+ rar file;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ This group keeps the usage of the contained description related
+ elements consistent across Java EE deployment descriptors.
+
+ All elements may occur multiple times with different languages,
+ to support localization of the content.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The description type is used by a description element to
+ provide text describing the parent element. The elements
+ that use this type should include any information that the
+ Deployment Component's Deployment File file producer wants
+ to provide to the consumer of the Deployment Component's
+ Deployment File (i.e., to the Deployer). Typically, the
+ tools used by such a Deployment File consumer will display
+ the description when processing the parent element that
+ contains the description.
+
+ The lang attribute defines the language that the
+ description is provided in. The default value is "en" (English).
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ This type defines a dewey decimal that is used
+ to describe versions of documents.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Employee Self Service
+
+
+ The value of the xml:lang attribute is "en" (English) by default.
+
+ ]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ EmployeeRecord
+
+ ../products/product.jar#ProductEJB
+
+ ]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The ejb-local-refType is used by ejb-local-ref elements for
+ the declaration of a reference to an enterprise bean's local
+ home or to the local business interface of a 3.0 bean.
+ The declaration consists of:
+
+ - an optional description
+ - the EJB reference name used in the code of the Deployment
+ Component that's referencing the enterprise bean.
+ - the optional expected type of the referenced enterprise bean
+ - the optional expected local interface of the referenced
+ enterprise bean or the local business interface of the
+ referenced enterprise bean.
+ - the optional expected local home interface of the referenced
+ enterprise bean. Not applicable if this ejb-local-ref refers
+ to the local business interface of a 3.0 bean.
+ - optional ejb-link information, used to specify the
+ referenced enterprise bean
+ - optional elements to define injection of the named enterprise
+ bean into a component field or property.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ejb/Payroll
+
+ ]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The ejb-ref-typeType contains the expected type of the
+ referenced enterprise bean.
+
+ The ejb-ref-type designates a value
+ that must be one of the following:
+
+ Entity
+ Session
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The ejb-refType is used by ejb-ref elements for the
+ declaration of a reference to an enterprise bean's home or
+ to the remote business interface of a 3.0 bean.
+ The declaration consists of:
+
+ - an optional description
+ - the EJB reference name used in the code of
+ the Deployment Component that's referencing the enterprise
+ bean.
+ - the optional expected type of the referenced enterprise bean
+ - the optional remote interface of the referenced enterprise bean
+ or the remote business interface of the referenced enterprise
+ bean
+ - the optional expected home interface of the referenced
+ enterprise bean. Not applicable if this ejb-ref
+ refers to the remote business interface of a 3.0 bean.
+ - optional ejb-link information, used to specify the
+ referenced enterprise bean
+ - optional elements to define injection of the named enterprise
+ bean into a component field or property
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ This type is used to designate an empty
+ element when used.
+
+
+
+
+
+
+
+
+
+
+
+ java.lang.Boolean
+
+ ]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The env-entryType is used to declare an application's
+ environment entry. The declaration consists of an optional
+ description, the name of the environment entry, a type
+ (optional if the value is injected, otherwise required), and
+ an optional value.
+
+ It also includes optional elements to define injection of
+ the named resource into fields or JavaBeans properties.
+
+ If a value is not specified and injection is requested,
+ no injection will occur and no entry of the specified name
+ will be created. This allows an initial value to be
+ specified in the source code without being incorrectly
+ changed when no override has been specified.
+
+ If a value is not specified and no injection is requested,
+ a value must be supplied during deployment.
+
+ This type is used by env-entry elements.
+
+
+
+
+
+
+
+
+
+ minAmount
+
+ ]]>
+
+
+
+
+
+
+
+ java.lang.Integer
+
+ ]]>
+
+
+
+
+
+
+
+ 100.00
+
+ ]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The elements that use this type designate the name of a
+ Java class or interface. The name is in the form of a
+ "binary name", as defined in the JLS. This is the form
+ of name used in Class.forName(). Tools that need the
+ canonical name (the name used in source code) will need
+ to convert this binary name to the canonical name.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ This type defines four different values which can designate
+ boolean values. This includes values yes and no which are
+ not designated by xsd:boolean
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ com.aardvark.payroll.PayrollHome
+
+ ]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The icon type contains small-icon and large-icon elements
+ that specify the file names for small and large GIF, JPEG,
+ or PNG icon images used to represent the parent element in a
+ GUI tool.
+
+ The xml:lang attribute defines the language that the
+ icon file names are provided in. Its value is "en" (English)
+ by default.
+
+
+
+
+
+
+
+
+ employee-service-icon16x16.jpg
+
+ ]]>
+
+
+
+
+
+
+ employee-service-icon32x32.jpg
+
+ ]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ An injection target specifies a class and a name within
+ that class into which a resource should be injected.
+
+ The injection target class specifies the fully qualified
+ class name that is the target of the injection. The
+ Java EE specifications describe which classes can be an
+ injection target.
+
+ The injection target name specifies the target within
+ the specified class. The target is first looked for as a
+ JavaBeans property name. If not found, the target is
+ looked for as a field name.
+
+ The specified resource will be injected into the target
+ during initialization of the class by either calling the
+ set method for the target property or by setting a value
+ into the named field.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The java-identifierType defines a Java identifier.
+ The users of this type should further verify that
+ the content does not contain Java reserved keywords.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ This is a generic type that designates a Java primitive
+ type or a fully qualified name of a Java interface/type,
+ or an array of such types.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The jndi-nameType type designates a JNDI name in the
+ Deployment Component's environment and is relative to the
+ java:comp/env context. A JNDI name must be unique within the
+ Deployment Component.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ This group keeps the usage of the contained JNDI environment
+ reference elements consistent across Java EE deployment descriptors.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The lifecycle-callback type specifies a method on a
+ class to be called when a lifecycle event occurs.
+ Note that each class may have only one lifecycle callback
+ method for any given event and that the method may not
+ be overloaded.
+
+ If the lifefycle-callback-class element is missing then
+ the class defining the callback is assumed to be the
+ component class in scope at the place in the descriptor
+ in which the callback definition appears.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The listenerType indicates the deployment properties for a web
+ application listener bean.
+
+
+
+
+
+
+
+
+
+
+ The listener-class element declares a class in the
+ application must be registered as a web
+ application listener bean. The value is the fully
+ qualified classname of the listener class.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The local-homeType defines the fully-qualified
+ name of an enterprise bean's local home interface.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The localType defines the fully-qualified name of an
+ enterprise bean's local interface.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The message-destination-linkType is used to link a message
+ destination reference or message-driven bean to a message
+ destination.
+
+ The Assembler sets the value to reflect the flow of messages
+ between producers and consumers in the application.
+
+ The value must be the message-destination-name of a message
+ destination in the same Deployment File or in another
+ Deployment File in the same Java EE application unit.
+
+ Alternatively, the value may be composed of a path name
+ specifying a Deployment File containing the referenced
+ message destination with the message-destination-name of the
+ destination appended and separated from the path name by
+ "#". The path name is relative to the Deployment File
+ containing Deployment Component that is referencing the
+ message destination. This allows multiple message
+ destinations with the same name to be uniquely identified.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ jms/StockQueue
+
+ javax.jms.Queue
+
+ Consumes
+
+ CorporateStocks
+
+
+
+ ]]>
+
+
+
+
+
+
+
+
+ The message-destination-ref-name element specifies
+ the name of a message destination reference; its
+ value is the environment entry name used in
+ Deployment Component code. The name is a JNDI name
+ relative to the java:comp/env context and must be
+ unique within an ejb-jar (for enterprise beans) or a
+ Deployment File (for others).
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ javax.jms.Queue
+
+
+ ]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The message-destination-usageType specifies the use of the
+ message destination indicated by the reference. The value
+ indicates whether messages are consumed from the message
+ destination, produced for the destination, or both. The
+ Assembler makes use of this information in linking producers
+ of a destination with its consumers.
+
+ The value of the message-destination-usage element must be
+ one of the following:
+ Consumes
+ Produces
+ ConsumesProduces
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ CorporateStocks
+
+
+
+ ]]>
+
+
+
+
+
+
+
+
+ The message-destination-name element specifies a
+ name for a message destination. This name must be
+ unique among the names of message destinations
+ within the Deployment File.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ This type is a general type that can be used to declare
+ parameter/value lists.
+
+
+
+
+
+
+
+
+
+
+ The param-name element contains the name of a
+ parameter.
+
+
+
+
+
+
+
+
+
+ The param-value element contains the value of a
+ parameter.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The elements that use this type designate either a relative
+ path or an absolute path starting with a "/".
+
+ In elements that specify a pathname to a file within the
+ same Deployment File, relative filenames (i.e., those not
+ starting with "/") are considered relative to the root of
+ the Deployment File's namespace. Absolute filenames (i.e.,
+ those starting with "/") also specify names in the root of
+ the Deployment File's namespace. In general, relative names
+ are preferred. The exception is .war files where absolute
+ names are preferred for consistency with the Servlet API.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ myPersistenceContext
+
+
+
+
+ myPersistenceContext
+
+ PersistenceUnit1
+
+ Extended
+
+
+ ]]>
+
+
+
+
+
+
+
+
+ The persistence-context-ref-name element specifies
+ the name of a persistence context reference; its
+ value is the environment entry name used in
+ Deployment Component code. The name is a JNDI name
+ relative to the java:comp/env context.
+
+
+
+
+
+
+
+
+ The Application Assembler(or BeanProvider) may use the
+ following syntax to avoid the need to rename persistence
+ units to have unique names within a Java EE application.
+
+ The Application Assembler specifies the pathname of the
+ root of the persistence.xml file for the referenced
+ persistence unit and appends the name of the persistence
+ unit separated from the pathname by #. The pathname is
+ relative to the referencing application component jar file.
+ In this manner, multiple persistence units with the same
+ persistence unit name may be uniquely identified when the
+ Application Assembler cannot change persistence unit names.
+
+
+
+
+
+
+
+
+
+
+
+ Used to specify properties for the container or persistence
+ provider. Vendor-specific properties may be included in
+ the set of properties. Properties that are not recognized
+ by a vendor must be ignored. Entries that make use of the
+ namespace javax.persistence and its subnamespaces must not
+ be used for vendor-specific properties. The namespace
+ javax.persistence is reserved for use by the specification.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The persistence-context-typeType specifies the transactional
+ nature of a persistence context reference.
+
+ The value of the persistence-context-type element must be
+ one of the following:
+ Transactional
+ Extended
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ myPersistenceUnit
+
+
+
+
+ myPersistenceUnit
+
+ PersistenceUnit1
+
+
+
+ ]]>
+
+
+
+
+
+
+
+
+ The persistence-unit-ref-name element specifies
+ the name of a persistence unit reference; its
+ value is the environment entry name used in
+ Deployment Component code. The name is a JNDI name
+ relative to the java:comp/env context.
+
+
+
+
+
+
+
+
+ The Application Assembler(or BeanProvider) may use the
+ following syntax to avoid the need to rename persistence
+ units to have unique names within a Java EE application.
+
+ The Application Assembler specifies the pathname of the
+ root of the persistence.xml file for the referenced
+ persistence unit and appends the name of the persistence
+ unit separated from the pathname by #. The pathname is
+ relative to the referencing application component jar file.
+ In this manner, multiple persistence units with the same
+ persistence unit name may be uniquely identified when the
+ Application Assembler cannot change persistence unit names.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Specifies a name/value pair.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ com.wombat.empl.EmployeeService
+
+ ]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The res-authType specifies whether the Deployment Component
+ code signs on programmatically to the resource manager, or
+ whether the Container will sign on to the resource manager
+ on behalf of the Deployment Component. In the latter case,
+ the Container uses information that is supplied by the
+ Deployer.
+
+ The value must be one of the two following:
+
+ Application
+ Container
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The res-sharing-scope type specifies whether connections
+ obtained through the given resource manager connection
+ factory reference can be shared. The value, if specified,
+ must be one of the two following:
+
+ Shareable
+ Unshareable
+
+ The default value is Shareable.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ jms/StockQueue
+
+ javax.jms.Queue
+
+
+
+ ]]>
+
+
+
+
+
+
+
+
+
+ The resource-env-ref-name element specifies the name
+ of a resource environment reference; its value is
+ the environment entry name used in
+ the Deployment Component code. The name is a JNDI
+ name relative to the java:comp/env context and must
+ be unique within a Deployment Component.
+
+
+
+
+
+
+
+
+
+ The resource-env-ref-type element specifies the type
+ of a resource environment reference. It is the
+ fully qualified name of a Java language class or
+ interface.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ jdbc/EmployeeAppDB
+ javax.sql.DataSource
+ Container
+ Shareable
+
+
+ ]]>
+
+
+
+
+
+
+
+
+
+ The res-ref-name element specifies the name of a
+ resource manager connection factory reference.
+ The name is a JNDI name relative to the
+ java:comp/env context.
+ The name must be unique within a Deployment File.
+
+
+
+
+
+
+
+
+
+ The res-type element specifies the type of the data
+ source. The type is specified by the fully qualified
+ Java language class or interface
+ expected to be implemented by the data source.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ This group collects elements that are common to all the
+ JNDI resource elements.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The role-nameType designates the name of a security role.
+
+ The name must conform to the lexical rules for a token.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The run-asType specifies the run-as identity to be
+ used for the execution of a component. It contains an
+ optional description, and the name of a security role.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The security-role-refType contains the declaration of a
+ security role reference in a component's or a
+ Deployment Component's code. The declaration consists of an
+ optional description, the security role name used in the
+ code, and an optional link to a security role. If the
+ security role is not specified, the Deployer must choose an
+ appropriate security role.
+
+
+
+
+
+
+
+
+
+
+ The value of the role-name element must be the String used
+ as the parameter to the
+ EJBContext.isCallerInRole(String roleName) method or the
+ HttpServletRequest.isUserInRole(String role) method.
+
+
+
+
+
+
+
+
+
+ The role-link element is a reference to a defined
+ security role. The role-link element must contain
+ the name of one of the security roles defined in the
+ security-role elements.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ This role includes all employees who are authorized
+ to access the employee service application.
+
+ employee
+
+
+ ]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ This is a special string datatype that is defined by Java EE as
+ a base type for defining collapsed strings. When schemas
+ require trailing/leading space elimination as well as
+ collapsing the existing whitespace, this base type may be
+ used.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ This simple type designates a boolean with only two
+ permissible values
+
+ - true
+ - false
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The url-patternType contains the url pattern of the mapping.
+ It must follow the rules specified in Section 11.2 of the
+ Servlet API Specification. This pattern is assumed to be in
+ URL-decoded form and must not contain CR(#xD) or LF(#xA).
+ If it contains those characters, the container must inform
+ the developer with a descriptive error message.
+ The container must preserve all characters including whitespaces.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ This type adds an "id" attribute to xsd:anyURI.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ This type adds an "id" attribute to xsd:boolean.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ This type adds an "id" attribute to xsd:integer.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ This type adds an "id" attribute to xsd:NMTOKEN.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ This type adds an "id" attribute to xsd:nonNegativeInteger.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ This type adds an "id" attribute to xsd:positiveInteger.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ This type adds an "id" attribute to xsd:QName.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ This type adds an "id" attribute to xsd:string.
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/xml/tests/testData/generateTag/spring-beans_3.0.xsd b/xml/tests/testData/generateTag/spring-beans_3.0.xsd
new file mode 100644
index 000000000000..0d6b8483de2b
--- /dev/null
+++ b/xml/tests/testData/generateTag/spring-beans_3.0.xsd
@@ -0,0 +1,1162 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ /' element.
+ ]]>
+
+
+
+
+
+
+
+
+
+ /' element.
+ ]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ /' element.
+ ]]>
+
+
+
+
+
+
+
+
+
+
+
+
+ ' element for the semantic details of autowire candidate beans.
+ ]]>
+
+
+
+
+ /' element.
+ ]]>
+
+
+
+
+ /' element.
+ ]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ element (or "ref"
+ attribute). We recommend this in most cases as it makes documentation
+ more explicit.
+
+ 2. "byName"
+ Autowiring by property name. If a bean of class Cat exposes a dog
+ property, Spring will try to set this to the value of the bean "dog"
+ in the current container. If there is no matching bean by name, nothing
+ special happens; use dependency-check="objects" to raise an error in
+ that case.
+
+ 3. "byType"
+ Autowiring if there is exactly one bean of the property type in the
+ container. If there is more than one, a fatal error is raised, and
+ you cannot use byType autowiring for that bean. If there is none,
+ nothing special happens; use dependency-check="objects" to raise an
+ error in that case.
+
+ 4. "constructor"
+ Analogous to "byType" for constructor arguments. If there is not exactly
+ one bean of the constructor argument type in the bean factory, a fatal
+ error is raised.
+
+ 5. "autodetect"
+ Chooses "constructor" or "byType" through introspection of the bean
+ class. If a default constructor is found, "byType" gets applied.
+
+ Note that explicit dependencies, i.e. "property" and "constructor-arg"
+ elements, always override autowiring. Autowire behavior can be combined
+ with dependency checking, which will be performed after all autowiring
+ has been completed.
+
+ Note: This attribute will not be inherited by child bean definitions.
+ Hence, it needs to be specified per concrete bean definition.
+ ]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ " element.
+ ]]>
+
+
+
+
+ ... " element.
+ ]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ".
+ ]]>
+
+
+
+
+ ..." element.
+ ]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ".
+ ]]>
+
+
+
+
+ ..."
+ element.
+ ]]>
+
+
+
+
+ ".
+ ]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/xml/tests/testData/generateTag/spring.xml b/xml/tests/testData/generateTag/spring.xml
new file mode 100644
index 000000000000..d1de923b46c3
--- /dev/null
+++ b/xml/tests/testData/generateTag/spring.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/xml/tests/testData/generateTag/springAfterBean.xml b/xml/tests/testData/generateTag/springAfterBean.xml
new file mode 100644
index 000000000000..060afedb5f53
--- /dev/null
+++ b/xml/tests/testData/generateTag/springAfterBean.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/xml/tests/testData/generateTag/springAfterBean_after.xml b/xml/tests/testData/generateTag/springAfterBean_after.xml
new file mode 100644
index 000000000000..34f3dd701250
--- /dev/null
+++ b/xml/tests/testData/generateTag/springAfterBean_after.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/xml/tests/testData/generateTag/springAlias.xml b/xml/tests/testData/generateTag/springAlias.xml
new file mode 100644
index 000000000000..d1de923b46c3
--- /dev/null
+++ b/xml/tests/testData/generateTag/springAlias.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/xml/tests/testData/generateTag/springAlias_after.xml b/xml/tests/testData/generateTag/springAlias_after.xml
new file mode 100644
index 000000000000..43b11320d9a0
--- /dev/null
+++ b/xml/tests/testData/generateTag/springAlias_after.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/xml/tests/testData/generateTag/springAtCaret.xml b/xml/tests/testData/generateTag/springAtCaret.xml
new file mode 100644
index 000000000000..694aec7797af
--- /dev/null
+++ b/xml/tests/testData/generateTag/springAtCaret.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/xml/tests/testData/generateTag/springAtCaret_after.xml b/xml/tests/testData/generateTag/springAtCaret_after.xml
new file mode 100644
index 000000000000..35a9c23a2264
--- /dev/null
+++ b/xml/tests/testData/generateTag/springAtCaret_after.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/xml/tests/testData/generateTag/spring_after.xml b/xml/tests/testData/generateTag/spring_after.xml
new file mode 100644
index 000000000000..9de096a1a2dc
--- /dev/null
+++ b/xml/tests/testData/generateTag/spring_after.xml
@@ -0,0 +1,8 @@
+
+
+
+
\ No newline at end of file
diff --git a/xml/tests/testData/generateTag/web-app_2_3.dtd b/xml/tests/testData/generateTag/web-app_2_3.dtd
new file mode 100644
index 000000000000..5e3ab01c0fe8
--- /dev/null
+++ b/xml/tests/testData/generateTag/web-app_2_3.dtd
@@ -0,0 +1,1063 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/xml/tests/testData/generateTag/web-app_2_5.xsd b/xml/tests/testData/generateTag/web-app_2_5.xsd
new file mode 100644
index 000000000000..28e956fd8ccf
--- /dev/null
+++ b/xml/tests/testData/generateTag/web-app_2_5.xsd
@@ -0,0 +1,1290 @@
+
+
+
+
+
+
+
+ @(#)web-app_2_5.xsds 1.62 05/08/06
+
+
+
+
+
+
+ Copyright 2003-2005 Sun Microsystems, Inc.
+ 4150 Network Circle
+ Santa Clara, California 95054
+ U.S.A
+ All rights reserved.
+
+ Sun Microsystems, Inc. has intellectual property rights
+ relating to technology described in this document. In
+ particular, and without limitation, these intellectual
+ property rights may include one or more of the U.S. patents
+ listed at http://www.sun.com/patents and one or more
+ additional patents or pending patent applications in the
+ U.S. and other countries.
+
+ This document and the technology which it describes are
+ distributed under licenses restricting their use, copying,
+ distribution, and decompilation. No part of this document
+ may be reproduced in any form by any means without prior
+ written authorization of Sun and its licensors, if any.
+
+ Third-party software, including font technology, is
+ copyrighted and licensed from Sun suppliers.
+
+ Sun, Sun Microsystems, the Sun logo, Solaris, Java, J2EE,
+ JavaServer Pages, Enterprise JavaBeans and the Java Coffee
+ Cup logo are trademarks or registered trademarks of Sun
+ Microsystems, Inc. in the U.S. and other countries.
+
+ Federal Acquisitions: Commercial Software - Government Users
+ Subject to Standard License Terms and Conditions.
+
+
+
+
+
+
+
+ ...
+
+
+ The instance documents may indicate the published version of
+ the schema using the xsi:schemaLocation attribute for Java EE
+ namespace with the following location:
+
+ http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd
+
+ ]]>
+
+
+
+
+
+
+ The following conventions apply to all Java EE
+ deployment descriptor elements unless indicated otherwise.
+
+ - In elements that specify a pathname to a file within the
+ same JAR file, relative filenames (i.e., those not
+ starting with "/") are considered relative to the root of
+ the JAR file's namespace. Absolute filenames (i.e., those
+ starting with "/") also specify names in the root of the
+ JAR file's namespace. In general, relative names are
+ preferred. The exception is .war files where absolute
+ names are preferred for consistency with the Servlet API.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The web-app element is the root of the deployment
+ descriptor for a web application. Note that the sub-elements
+ of this element can be in the arbitrary order. Because of
+ that, the multiplicity of the elements of distributable,
+ session-config, welcome-file-list, jsp-config, login-config,
+ and locale-encoding-mapping-list was changed from "?" to "*"
+ in this schema. However, the deployment descriptor instance
+ file must not contain multiple elements of session-config,
+ jsp-config, and login-config. When there are multiple elements of
+ welcome-file-list or locale-encoding-mapping-list, the container
+ must concatenate the element contents. The multiple occurence
+ of the element distributable is redundant and the container
+ treats that case exactly in the same way when there is only
+ one distributable.
+
+
+
+
+
+
+
+
+ The servlet element contains the name of a servlet.
+ The name must be unique within the web application.
+
+
+
+
+
+
+
+
+
+
+
+ The filter element contains the name of a filter.
+ The name must be unique within the web application.
+
+
+
+
+
+
+
+
+
+
+
+ The ejb-local-ref-name element contains the name of an EJB
+ reference. The EJB reference is an entry in the web
+ application's environment and is relative to the
+ java:comp/env context. The name must be unique within
+ the web application.
+
+ It is recommended that name is prefixed with "ejb/".
+
+
+
+
+
+
+
+
+
+
+
+ The ejb-ref-name element contains the name of an EJB
+ reference. The EJB reference is an entry in the web
+ application's environment and is relative to the
+ java:comp/env context. The name must be unique within
+ the web application.
+
+ It is recommended that name is prefixed with "ejb/".
+
+
+
+
+
+
+
+
+
+
+
+ The resource-env-ref-name element specifies the name of
+ a resource environment reference; its value is the
+ environment entry name used in the web application code.
+ The name is a JNDI name relative to the java:comp/env
+ context and must be unique within a web application.
+
+
+
+
+
+
+
+
+
+
+
+ The message-destination-ref-name element specifies the name of
+ a message destination reference; its value is the
+ environment entry name used in the web application code.
+ The name is a JNDI name relative to the java:comp/env
+ context and must be unique within a web application.
+
+
+
+
+
+
+
+
+
+
+
+ The res-ref-name element specifies the name of a
+ resource manager connection factory reference. The name
+ is a JNDI name relative to the java:comp/env context.
+ The name must be unique within a web application.
+
+
+
+
+
+
+
+
+
+
+
+ The env-entry-name element contains the name of a web
+ application's environment entry. The name is a JNDI
+ name relative to the java:comp/env context. The name
+ must be unique within a web application.
+
+
+
+
+
+
+
+
+
+
+
+
+ A role-name-key is specified to allow the references
+ from the security-role-refs.
+
+
+
+
+
+
+
+
+
+
+
+ The keyref indicates the references from
+ security-role-ref to a specified role-name.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The auth-constraintType indicates the user roles that
+ should be permitted access to this resource
+ collection. The role-name used here must either correspond
+ to the role-name of one of the security-role elements
+ defined for this web application, or be the specially
+ reserved role-name "*" that is a compact syntax for
+ indicating all roles in the web application. If both "*"
+ and rolenames appear, the container interprets this as all
+ roles. If no roles are defined, no user is allowed access
+ to the portion of the web application described by the
+ containing security-constraint. The container matches
+ role names case sensitively when determining access.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The auth-methodType is used to configure the authentication
+ mechanism for the web application. As a prerequisite to
+ gaining access to any web resources which are protected by
+ an authorization constraint, a user must have authenticated
+ using the configured mechanism. Legal values are "BASIC",
+ "DIGEST", "FORM", "CLIENT-CERT", or a vendor-specific
+ authentication scheme.
+
+ Used in: login-config
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The dispatcher has four legal values: FORWARD, REQUEST, INCLUDE,
+ and ERROR. A value of FORWARD means the Filter will be applied
+ under RequestDispatcher.forward() calls. A value of REQUEST
+ means the Filter will be applied under ordinary client calls to
+ the path or servlet. A value of INCLUDE means the Filter will be
+ applied under RequestDispatcher.include() calls. A value of
+ ERROR means the Filter will be applied under the error page
+ mechanism. The absence of any dispatcher elements in a
+ filter-mapping indicates a default of applying filters only under
+ ordinary client calls to the path or servlet.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The encodingType defines IANA character sets.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The error-code contains an HTTP error code, ex: 404
+
+ Used in: error-page
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The error-pageType contains a mapping between an error code
+ or exception type to the path of a resource in the web
+ application.
+
+ Used in: web-app
+
+
+
+
+
+
+
+
+
+
+
+
+ The exception-type contains a fully qualified class
+ name of a Java exception type.
+
+
+
+
+
+
+
+
+
+
+ The location element contains the location of the
+ resource in the web application relative to the root of
+ the web application. The value of the location must have
+ a leading `/'.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Declaration of the filter mappings in this web
+ application is done by using filter-mappingType.
+ The container uses the filter-mapping
+ declarations to decide which filters to apply to a request,
+ and in what order. The container matches the request URI to
+ a Servlet in the normal way. To determine which filters to
+ apply it matches filter-mapping declarations either on
+ servlet-name, or on url-pattern for each filter-mapping
+ element, depending on which style is used. The order in
+ which filters are invoked is the order in which
+ filter-mapping declarations that match a request URI for a
+ servlet appear in the list of filter-mapping elements.The
+ filter-name value must be the value of the filter-name
+ sub-elements of one of the filter declarations in the
+ deployment descriptor.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The logical name of the filter is declare
+ by using filter-nameType. This name is used to map the
+ filter. Each filter name is unique within the web
+ application.
+
+ Used in: filter, filter-mapping
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The filterType is used to declare a filter in the web
+ application. The filter is mapped to either a servlet or a
+ URL pattern in the filter-mapping element, using the
+ filter-name value to reference. Filters can access the
+ initialization parameters declared in the deployment
+ descriptor at runtime via the FilterConfig interface.
+
+ Used in: web-app
+
+
+
+
+
+
+
+
+
+
+
+ The fully qualified classname of the filter.
+
+
+
+
+
+
+
+
+
+ The init-param element contains a name/value pair as
+ an initialization param of a servlet filter
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The form-login-configType specifies the login and error
+ pages that should be used in form based login. If form based
+ authentication is not used, these elements are ignored.
+
+ Used in: login-config
+
+
+
+
+
+
+
+
+
+
+ The form-login-page element defines the location in the web
+ app where the page that can be used for login can be
+ found. The path begins with a leading / and is interpreted
+ relative to the root of the WAR.
+
+
+
+
+
+
+
+
+
+ The form-error-page element defines the location in
+ the web app where the error page that is displayed
+ when login is not successful can be found.
+ The path begins with a leading / and is interpreted
+ relative to the root of the WAR.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A HTTP method type as defined in HTTP 1.1 section 2.2.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The locale-encoding-mapping-list contains one or more
+ locale-encoding-mapping(s).
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The locale-encoding-mapping contains locale name and
+ encoding name. The locale name must be either "Language-code",
+ such as "ja", defined by ISO-639 or "Language-code_Country-code",
+ such as "ja_JP". "Country code" is defined by ISO-3166.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The localeType defines valid locale defined by ISO-639-1
+ and ISO-3166.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The login-configType is used to configure the authentication
+ method that should be used, the realm name that should be
+ used for this application, and the attributes that are
+ needed by the form login mechanism.
+
+ Used in: web-app
+
+
+
+
+
+
+
+
+
+
+ The realm name element specifies the realm name to
+ use in HTTP Basic authorization.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The mime-mappingType defines a mapping between an extension
+ and a mime type.
+
+ Used in: web-app
+
+
+
+
+
+
+
+
+ The extension element contains a string describing an
+ extension. example: "txt"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The mime-typeType is used to indicate a defined mime type.
+
+ Example:
+ "text/plain"
+
+ Used in: mime-mapping
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ This type defines a string which contains at least one
+ character.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The security-constraintType is used to associate
+ security constraints with one or more web resource
+ collections
+
+ Used in: web-app
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The servlet-mappingType defines a mapping between a
+ servlet and a url pattern.
+
+ Used in: web-app
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The servlet-name element contains the canonical name of the
+ servlet. Each servlet name is unique within the web
+ application.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The servletType is used to declare a servlet.
+ It contains the declarative data of a
+ servlet. If a jsp-file is specified and the load-on-startup
+ element is present, then the JSP should be precompiled and
+ loaded.
+
+ Used in: web-app
+
+
+
+
+
+
+
+
+
+
+
+
+ The servlet-class element contains the fully
+ qualified class name of the servlet.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The load-on-startup element indicates that this
+ servlet should be loaded (instantiated and have
+ its init() called) on the startup of the web
+ application. The optional contents of these
+ element must be an integer indicating the order in
+ which the servlet should be loaded. If the value
+ is a negative integer, or the element is not
+ present, the container is free to load the servlet
+ whenever it chooses. If the value is a positive
+ integer or 0, the container must load and
+ initialize the servlet as the application is
+ deployed. The container must guarantee that
+ servlets marked with lower integers are loaded
+ before servlets marked with higher integers. The
+ container may choose the order of loading of
+ servlets with the same load-on-start-up value.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The session-configType defines the session parameters
+ for this web application.
+
+ Used in: web-app
+
+
+
+
+
+
+
+
+
+ The session-timeout element defines the default
+ session timeout interval for all sessions created
+ in this web application. The specified timeout
+ must be expressed in a whole number of minutes.
+ If the timeout is 0 or less, the container ensures
+ the default behaviour of sessions is never to time
+ out. If this element is not specified, the container
+ must set its default timeout period.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The transport-guaranteeType specifies that the communication
+ between client and server should be NONE, INTEGRAL, or
+ CONFIDENTIAL. NONE means that the application does not
+ require any transport guarantees. A value of INTEGRAL means
+ that the application requires that the data sent between the
+ client and server be sent in such a way that it can't be
+ changed in transit. CONFIDENTIAL means that the application
+ requires that the data be transmitted in a fashion that
+ prevents other entities from observing the contents of the
+ transmission. In most cases, the presence of the INTEGRAL or
+ CONFIDENTIAL flag will indicate that the use of SSL is
+ required.
+
+ Used in: user-data-constraint
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The user-data-constraintType is used to indicate how
+ data communicated between the client and container should be
+ protected.
+
+ Used in: security-constraint
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The elements that use this type designate a path starting
+ with a "/" and interpreted relative to the root of a WAR
+ file.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ This type contains the recognized versions of
+ web-application supported. It is used to designate the
+ version of the web application.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The context-param element contains the declaration
+ of a web application's servlet context
+ initialization parameters.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The metadata-complete attribute defines whether this
+ deployment descriptor and other related deployment
+ descriptors for this module (e.g., web service
+ descriptors) are complete, or whether the class
+ files available to this module and packaged with
+ this application should be examined for annotations
+ that specify deployment information.
+
+ If metadata-complete is set to "true", the deployment
+ tool must ignore any annotations that specify deployment
+ information, which might be present in the class files
+ of the application.
+
+ If metadata-complete is not specified or is set to
+ "false", the deployment tool must examine the class
+ files of the application for annotations, as
+ specified by the specifications.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The web-resource-collectionType is used to identify a subset
+ of the resources and HTTP methods on those resources within
+ a web application to which a security constraint applies. If
+ no HTTP methods are specified, then the security constraint
+ applies to all HTTP methods.
+
+ Used in: security-constraint
+
+
+
+
+
+
+
+
+
+ The web-resource-name contains the name of this web
+ resource collection.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The welcome-file-list contains an ordered list of welcome
+ files elements.
+
+ Used in: web-app
+
+
+
+
+
+
+
+
+
+ The welcome-file element contains file name to use
+ as a default welcome file, such as index.html
+
+
+
+
+
+
+
+
+
+
diff --git a/xml/tests/testData/generateactions/addColumn/after1.html b/xml/tests/testData/generateactions/addColumn/after1.html
new file mode 100644
index 000000000000..d10a2a3e569e
--- /dev/null
+++ b/xml/tests/testData/generateactions/addColumn/after1.html
@@ -0,0 +1,43 @@
+
+
+
+
+
+fdgsd
+
+
+dsfgsdgfdg
+
+
+ 1
+ 2
+ 3
+ 3
+ 3
+ 3
+ 3
+ .
+ 3
+ 3
+ 3
+ 3
+
+ 4
+ 1
+
+
+ 1
+ 2
+ 1
+
+
+ 1
+ 2
+
+ 3
+ 1
+
+
+
+
\ No newline at end of file
diff --git a/xml/tests/testData/generateactions/addColumn/after2.xhtml b/xml/tests/testData/generateactions/addColumn/after2.xhtml
new file mode 100644
index 000000000000..41226bfed0bc
--- /dev/null
+++ b/xml/tests/testData/generateactions/addColumn/after2.xhtml
@@ -0,0 +1,41 @@
+
+
+
+
+
+fdgsd
+
+
+dsfgsdgfdg
+
+
+ 1
+ 2
+ 3
+ 3
+ 3
+ 3
+ 3
+ .
+ 3
+ 3
+ 3
+ 3
+ 4
+ 1
+
+
+ 1
+ 2
+ 1
+
+
+ 1
+ 2
+ 3
+ 1
+
+
+
+
\ No newline at end of file
diff --git a/xml/tests/testData/generateactions/addColumn/after3.jsp b/xml/tests/testData/generateactions/addColumn/after3.jsp
new file mode 100644
index 000000000000..31cfd399289d
--- /dev/null
+++ b/xml/tests/testData/generateactions/addColumn/after3.jsp
@@ -0,0 +1,74 @@
+
+
+
+
+ fdgsd
+
+
+dsfgsdgfdg
+
+
+
+
+
+
+ 1
+ 2
+
+
+ 1
+ 2
+
+ 5
+ 2'
+ 3
+
+
+ 1
+ 2
+
+
+ 1
+ 2
+
+ 3
+ 3
+
+
+ 1
+
+ 4
+
+
+ 1
+ 2
+ 5
+
+
+ 1
+ 2
+ 3
+
+
+
+ 1
+
+
+ 2
+ 3
+
+ 2
+ 4
+
+
+ 1
+ 2
+
+ 7
+ 3
+ 4
+ 5
+
+
+
+
\ No newline at end of file
diff --git a/xml/tests/testData/generateactions/addColumn/after4.jspx b/xml/tests/testData/generateactions/addColumn/after4.jspx
new file mode 100644
index 000000000000..f491cb9ec5c8
--- /dev/null
+++ b/xml/tests/testData/generateactions/addColumn/after4.jspx
@@ -0,0 +1,74 @@
+
+
+
+
+ fdgsd
+
+
+dsfgsdgfdg
+
+
+
+
+
+
+ 1
+ 2
+
+
+ 1
+ 2
+ 5
+
+ 2'
+ 3
+
+
+ 1
+ 2
+
+
+ 1
+ 2
+ 3
+
+ 3
+
+
+ 1
+ 4
+
+
+
+ 1
+ 2
+ 5
+
+
+ 1
+ 2
+ 3
+
+
+
+ 1
+
+
+ 2
+ 3
+ 2
+
+ 4
+
+
+ 1
+ 2
+ 7
+
+ 3
+ 4
+ 5
+
+
+
+
\ No newline at end of file
diff --git a/xml/tests/testData/generateactions/addColumn/after5.html b/xml/tests/testData/generateactions/addColumn/after5.html
new file mode 100644
index 000000000000..4f6644ba3152
--- /dev/null
+++ b/xml/tests/testData/generateactions/addColumn/after5.html
@@ -0,0 +1,79 @@
+
+
+
+
+ fdgsd
+
+
+dsfgsdgfdg
+
+
+
+
+
+
+
+ 1
+ 2
+
+
+
+ 1
+ 2
+ 5
+ 2'
+ 3
+
+
+
+ 1
+ 2
+
+
+
+ 1
+ 2
+ 3
+ 3
+
+
+
+ 1
+ 4
+
+
+
+ 1
+ 2
+ 5
+
+
+
+ 1
+ 2
+ 3
+
+
+
+
+ 1
+
+
+
+ 2
+ 3
+ 2
+ 4
+
+
+
+ 1
+ 2
+ 7
+ 3
+ 4
+ 5
+
+
+
+
\ No newline at end of file
diff --git a/xml/tests/testData/generateactions/addColumn/after6.html b/xml/tests/testData/generateactions/addColumn/after6.html
new file mode 100644
index 000000000000..1be42492521f
--- /dev/null
+++ b/xml/tests/testData/generateactions/addColumn/after6.html
@@ -0,0 +1,11 @@
+
+
+ 1 2
+
+ 1 2
+
+
+ 1 2
+
+
+
\ No newline at end of file
diff --git a/xml/tests/testData/generateactions/addColumn/after7.html b/xml/tests/testData/generateactions/addColumn/after7.html
new file mode 100644
index 000000000000..9e19d63ff403
--- /dev/null
+++ b/xml/tests/testData/generateactions/addColumn/after7.html
@@ -0,0 +1,966 @@
+
+
+Name Values Initial value Applies to (Default: all) Inherited? Percentages (Default: N/A)
+
+Media groups
+
+'azimuth'
+<angle> | [[ left-side | far-left | left | center-left | center | center-right | right | far-right | right-side ] || behind ] | leftwards | rightwards | inherit
+center
+
+ yes
+
+
+aural
+
+'background-attachment'
+scroll | fixed | inherit
+
+ scroll
+
+ no
+
+
+visual
+
+'background-color'
+<color> | transparent | inherit
+transparent
+
+ no
+
+
+
+visual
+
+'background-image'
+<uri> | none | inherit
+none
+
+ no
+
+
+visual
+
+'background-position'
+[ [ <percentage> | <length> | left | center | right ] [ <percentage> | <length> | top | center | bottom ]? ] | [ [ left | center | right ] || [ top | center | bottom ] ] | inherit
+
+ 0% 0%
+
+ no
+ refer to the size of the box itself
+
+visual
+
+'background-repeat'
+repeat | repeat-x | repeat-y | no-repeat | inherit
+ repeat
+
+ no
+
+
+visual
+
+'background'
+['background-color' || 'background-image' || 'background-repeat' || 'background-attachment' || 'background-position' ] | inherit
+
+ see individual properties
+
+ no
+ allowed on 'background-position'
+
+visual
+
+'border-collapse'
+collapse | separate | inherit
+ separate
+ 'table' and 'inline-table' elements
+ yes
+
+
+visual
+
+'border-color'
+[ <color> | transparent ]{1,4} | inherit
+ see individual properties
+
+ no
+
+
+visual
+
+'border-spacing'
+
+<length> <length> ? | inherit
+0
+ 'table' and 'inline-table' elements
+ yes
+
+
+visual
+
+'border-style'
+<border-style> {1,4} | inherit
+
+see individual properties
+
+ no
+
+
+visual
+
+'border-top'
+'border-right'
+'border-bottom'
+'border-left'
+[ <border-width> || <border-style> || 'border-top-color' ] | inherit
+
+ see individual properties
+
+ no
+
+
+visual
+
+'border-top-color'
+'border-right-color'
+'border-bottom-color'
+'border-left-color'
+<color> | transparent | inherit
+
+the value of the 'color' property
+
+ no
+
+
+visual
+
+'border-top-style'
+'border-right-style'
+'border-bottom-style'
+'border-left-style'
+<border-style> | inherit
+
+none
+
+ no
+
+
+visual
+
+'border-top-width'
+'border-right-width'
+'border-bottom-width'
+'border-left-width'
+<border-width> | inherit
+
+medium
+
+ no
+
+
+visual
+
+'border-width'
+<border-width> {1,4} | inherit
+see individual properties
+
+ no
+
+
+
+visual
+
+'border'
+[ <border-width> || <border-style> || 'border-top-color' ] | inherit
+
+ see individual properties
+
+ no
+
+
+visual
+
+'bottom'
+<length> | <percentage> | auto | inherit
+
+auto
+ positioned elements
+ no
+ refer to height of containing block
+
+visual
+
+'caption-side'
+top | bottom | inherit
+ top
+ 'table-caption' elements
+ yes
+
+
+visual
+
+'clear'
+none | left | right | both | inherit
+ none
+ block-level elements
+ no
+
+
+visual
+
+'clip'
+<shape> | auto | inherit
+
+auto
+ absolutely positioned elements
+ no
+
+
+visual
+
+'color'
+<color> | inherit
+depends on user agent
+
+ yes
+
+
+
+visual
+
+'content'
+normal | none | [ <string> | <uri> | <counter> | attr(<identifier> ) | open-quote | close-quote | no-open-quote | no-close-quote ]+ | inherit
+
+ normal
+ :before and :after pseudo-elements
+ no
+
+
+all
+
+'counter-increment'
+[ <identifier> <integer> ? ]+ | none | inherit
+ none
+
+
+ no
+
+
+all
+
+'counter-reset'
+[ <identifier> <integer> ? ]+ | none | inherit
+ none
+
+
+ no
+
+
+all
+
+'cue-after'
+<uri> | none | inherit
+none
+
+ no
+
+
+aural
+
+'cue-before'
+<uri> | none | inherit
+none
+
+ no
+
+
+aural
+
+'cue'
+
+[ 'cue-before' || 'cue-after' ] | inherit
+ see individual properties
+
+ no
+
+
+aural
+
+'cursor'
+
+[ [<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 | progress ] ] | inherit
+ auto
+
+ yes
+
+
+visual , interactive
+
+'direction'
+
+ltr | rtl | inherit
+ ltr
+ all elements, but see prose
+ yes
+
+
+visual
+
+'display'
+inline | block | list-item | run-in | inline-block | table | inline-table | table-row-group | table-header-group | table-footer-group | table-row | table-column-group | table-column | table-cell | table-caption | none | inherit
+ inline
+
+
+ no
+
+
+all
+
+'elevation'
+<angle> | below | level | above | higher | lower | inherit
+level
+
+ yes
+
+
+aural
+
+'empty-cells'
+show | hide | inherit
+ show
+ 'table-cell' elements
+ yes
+
+
+visual
+
+'float'
+left | right | none | inherit
+
+ none
+ all, but see 9.7
+ no
+
+
+visual
+
+'font-family'
+[[ <family-name> | <generic-family> ] [, <family-name> | <generic-family> ]* ] | inherit
+
+ depends on user agent
+
+ yes
+
+
+visual
+
+'font-size'
+<absolute-size> | <relative-size> | <length> | <percentage> | inherit
+
+medium
+
+ yes
+ refer to parent element's font size
+
+visual
+
+'font-style'
+normal | italic | oblique | inherit
+ normal
+
+ yes
+
+
+visual
+
+'font-variant'
+normal | small-caps | inherit
+ normal
+
+ yes
+
+
+visual
+
+'font-weight'
+normal | bold | bolder | lighter | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900 | inherit
+
+ normal
+
+ yes
+
+
+visual
+
+'font'
+[ [ 'font-style' || 'font-variant' || 'font-weight' ]? 'font-size' [ / 'line-height' ]? 'font-family' ] | caption | icon | menu | message-box | small-caption | status-bar | inherit
+
+ see individual properties
+
+ yes
+ see individual properties
+
+visual
+
+'height'
+<length> | <percentage> | auto | inherit
+
+auto
+ all elements but non-replaced inline elements, table columns, and column groups
+ no
+ see prose
+
+visual
+
+'left'
+<length> | <percentage> | auto | inherit
+
+auto
+ positioned elements
+ no
+ refer to width of containing block
+
+visual
+
+'letter-spacing'
+normal | <length> | inherit
+ normal
+
+
+ yes
+
+
+visual
+
+'line-height'
+normal | <number> | <length> | <percentage> | inherit
+
+ normal
+
+ yes
+ refer to the font size of the element itself
+
+visual
+
+'list-style-image'
+<uri> | none | inherit
+none
+ elements with 'display: list-item'
+ yes
+
+
+
+visual
+
+'list-style-position'
+inside | outside | inherit
+ outside
+ elements with 'display: list-item'
+ yes
+
+
+visual
+
+'list-style-type'
+
+disc | circle | square | decimal | decimal-leading-zero | lower-roman | upper-roman | lower-greek | lower-latin | upper-latin | armenian | georgian | lower-alpha | upper-alpha | none | inherit
+ disc
+ elements with 'display: list-item'
+ yes
+
+
+visual
+
+'list-style'
+[ 'list-style-type' || 'list-style-position' || 'list-style-image' ] | inherit
+
+ see individual properties
+ elements with 'display: list-item'
+ yes
+
+
+visual
+
+'margin-right'
+'margin-left'
+<margin-width> | inherit
+0
+
+ all elements except elements with table display types other than table-caption, table and inline-table
+ no
+ refer to width of containing block
+
+visual
+
+'margin-top'
+'margin-bottom'
+<margin-width> | inherit
+0
+ all elements except elements with table display types other than table-caption, table and inline-table
+
+ no
+ refer to width of containing block
+
+visual
+
+'margin'
+<margin-width> {1,4} | inherit
+see individual properties
+ all elements except elements with table display types other than table-caption, table and inline-table
+ no
+ refer to width of containing block
+
+visual
+
+'max-height'
+<length> | <percentage> | none | inherit
+none
+ all elements but non-replaced inline elements, table columns, and column groups
+ no
+ see prose
+
+visual
+
+'max-width'
+<length> | <percentage> | none | inherit
+none
+ all elements but non-replaced inline elements, table rows, and row groups
+ no
+ refer to width of containing block
+
+visual
+
+'min-height'
+<length> | <percentage> | inherit
+0
+ all elements but non-replaced inline elements, table columns, and column groups
+ no
+ see prose
+
+visual
+
+'min-width'
+<length> | <percentage> | inherit
+0
+ all elements but non-replaced inline elements, table rows, and row groups
+ no
+ refer to width of containing block
+
+visual
+
+'orphans'
+<integer> | inherit
+2
+ block-level elements
+ yes
+
+
+visual , paged
+
+'outline-color'
+<color> | invert | inherit
+invert
+
+ no
+
+
+visual , interactive
+
+'outline-style'
+
+<border-style> | inherit
+none
+
+ no
+
+
+visual , interactive
+
+'outline-width'
+<border-width> | inherit
+
+medium
+
+ no
+
+
+visual , interactive
+
+'outline'
+[ 'outline-color' || 'outline-style' || 'outline-width' ] | inherit
+
+ see individual properties
+
+ no
+
+
+visual , interactive
+
+'overflow'
+visible | hidden | scroll | auto | inherit
+ visible
+ non-replaced block-level elements, table cells, and inline-block elements
+ no
+
+
+
+visual
+
+'padding-top'
+'padding-right'
+'padding-bottom'
+'padding-left'
+<padding-width> | inherit
+
+0
+ all elements except table-row-group, table-header-group, table-footer-group, table-row, table-column-group and table-column
+ no
+ refer to width of containing block
+
+visual
+
+'padding'
+<padding-width> {1,4} | inherit
+see individual properties
+ all elements except table-row-group, table-header-group, table-footer-group, table-row, table-column-group and table-column
+ no
+ refer to width of containing block
+
+
+visual
+
+'page-break-after'
+auto | always | avoid | left | right | inherit
+ auto
+ block-level elements
+ no
+
+
+visual , paged
+
+'page-break-before'
+auto | always | avoid | left | right | inherit
+ auto
+ block-level elements
+ no
+
+
+visual , paged
+
+'page-break-inside'
+avoid | auto | inherit
+
+ auto
+ block-level elements
+ yes
+
+
+visual , paged
+
+'pause-after'
+<time> | <percentage> | inherit
+
+0
+
+ no
+ see prose
+
+aural
+
+'pause-before'
+<time> | <percentage> | inherit
+
+0
+
+ no
+ see prose
+
+aural
+
+'pause'
+[ [<time> | <percentage> ]{1,2} ] | inherit
+
+ see individual properties
+
+ no
+ see descriptions of 'pause-before' and 'pause-after'
+
+aural
+
+'pitch-range'
+<number> | inherit
+50
+
+ yes
+
+
+
+aural
+
+'pitch'
+<frequency> | x-low | low | medium | high | x-high | inherit
+medium
+
+ yes
+
+
+aural
+
+'play-during'
+<uri> [ mix || repeat ]? | auto | none | inherit
+auto
+
+ no
+
+
+aural
+
+'position'
+
+static | relative | absolute | fixed | inherit
+ static
+
+ no
+
+
+visual
+
+'quotes'
+[<string> <string> ]+ | none | inherit
+
+ depends on user agent
+
+ yes
+
+
+visual
+
+'richness'
+<number> | inherit
+50
+
+ yes
+
+
+
+ aural
+
+'right'
+<length> | <percentage> | auto | inherit
+auto
+ positioned elements
+ no
+
+ refer to width of containing block
+
+ visual
+
+
+once | always | inherit
+ once
+ elements that have table header information
+ yes
+
+
+ aural
+
+'speak-numeral'
+
+digits | continuous | inherit
+ continuous
+
+ yes
+
+
+ aural
+
+'speak-punctuation'
+code | none | inherit
+ none
+
+
+ yes
+
+
+ aural
+
+'speak'
+normal | none | spell-out | inherit
+ normal
+
+ yes
+
+
+ aural
+
+'speech-rate'
+<number> | x-slow | slow | medium | fast | x-fast | faster | slower | inherit
+medium
+
+ yes
+
+
+ aural
+
+'stress'
+<number> | inherit
+
+50
+
+ yes
+
+
+ aural
+
+'table-layout'
+auto | fixed | inherit
+ auto
+ 'table' and 'inline-table' elements
+ no
+
+
+ visual
+
+'text-align'
+left | right | center | justify | inherit
+ a nameless value that acts as 'left' if 'direction' is 'ltr', 'right' if 'direction' is 'rtl'
+ block-level elements, table cells and inline blocks
+ yes
+
+
+ visual
+
+'text-decoration'
+none | [ underline || overline || line-through || blink ] | inherit
+
+ none
+
+ no (see prose)
+
+
+ visual
+
+'text-indent'
+<length> | <percentage> | inherit
+
+0
+ block-level elements, table cells and inline blocks
+ yes
+ refer to width of containing block
+
+ visual
+
+'text-transform'
+capitalize | uppercase | lowercase | none | inherit
+ none
+
+ yes
+
+
+ visual
+
+'top'
+<length> | <percentage> | auto | inherit
+auto
+ positioned elements
+ no
+ refer to height of containing block
+
+ visual
+
+'unicode-bidi'
+normal | embed | bidi-override | inherit
+ normal
+ all elements, but see prose
+ no
+
+
+ visual
+
+'vertical-align'
+baseline | sub | super | top | text-top | middle | bottom | text-bottom | <percentage> | <length> | inherit
+
+ baseline
+ inline-level and 'table-cell' elements
+ no
+ refer to the 'line-height' of the element itself
+
+ visual
+
+'visibility'
+visible | hidden | collapse | inherit
+ visible
+
+ yes
+
+
+ visual
+
+'voice-family'
+[[<specific-voice> | <generic-voice> ],]* [<specific-voice> | <generic-voice> ] | inherit
+
+ depends on user agent
+
+ yes
+
+
+ aural
+
+'volume'
+<number> | <percentage> | silent | x-soft | soft | medium | loud | x-loud | inherit
+
+medium
+
+ yes
+ refer to inherited value
+
+ aural
+
+'white-space'
+normal | pre | nowrap | pre-wrap | pre-line | inherit
+ normal
+
+ yes
+
+
+ visual
+
+'widows'
+<integer> | inherit
+2
+ block-level elements
+ yes
+
+
+ visual , paged
+
+'width'
+<length> | <percentage> | auto | inherit
+auto
+ all elements but non-replaced inline elements, table rows, and row groups
+ no
+ refer to width of containing block
+
+ visual
+
+'word-spacing'
+normal | <length> | inherit
+ normal
+
+ yes
+
+
+ visual
+
+'z-index'
+
+auto | <integer> | inherit
+ auto
+ positioned elements
+ no
+
+
+ visual
+
+
diff --git a/xml/tests/testData/generateactions/addColumn/after8.xml b/xml/tests/testData/generateactions/addColumn/after8.xml
new file mode 100644
index 000000000000..1b4b1a7d970c
--- /dev/null
+++ b/xml/tests/testData/generateactions/addColumn/after8.xml
@@ -0,0 +1,41 @@
+
+
+
+
+
+fdgsd
+
+
+dsfgsdgfdg
+
+
+ 1
+ 2
+ 3
+ 3
+ 3
+ 3
+ 3
+ .
+ 3
+ 3
+ 3
+ d>3
+ 4
+ 1
+
+
+ 1
+ 2
+ 1
+
+
+ 1
+ 2
+ 3
+ 1
+
+
+
+
\ No newline at end of file
diff --git a/xml/tests/testData/generateactions/addColumn/before1.html b/xml/tests/testData/generateactions/addColumn/before1.html
new file mode 100644
index 000000000000..1b4b1a7d970c
--- /dev/null
+++ b/xml/tests/testData/generateactions/addColumn/before1.html
@@ -0,0 +1,41 @@
+
+
+
+
+
+fdgsd
+
+
+dsfgsdgfdg
+
+
+ 1
+ 2
+ 3
+ 3
+ 3
+ 3
+ 3
+ .
+ 3
+ 3
+ 3
+ d>3
+ 4
+ 1
+
+
+ 1
+ 2
+ 1
+
+
+ 1
+ 2
+ 3
+ 1
+
+
+
+
\ No newline at end of file
diff --git a/xml/tests/testData/generateactions/addColumn/before2.xhtml b/xml/tests/testData/generateactions/addColumn/before2.xhtml
new file mode 100644
index 000000000000..c2545b19f3d0
--- /dev/null
+++ b/xml/tests/testData/generateactions/addColumn/before2.xhtml
@@ -0,0 +1,41 @@
+
+
+
+
+
+fdgsd
+
+
+dsfgsdgfdg
+
+
+ 1
+ 2
+ 3
+ 3
+ 3
+ 3
+ 3
+ .
+ 3
+ 3
+ 3
+ 3
+ 4
+ 1
+
+
+ 1
+ 2
+ 1
+
+
+ 1
+ 2
+ 3
+ d colspan="11">1
+
+
+
+
\ No newline at end of file
diff --git a/xml/tests/testData/generateactions/addColumn/before3.jsp b/xml/tests/testData/generateactions/addColumn/before3.jsp
new file mode 100644
index 000000000000..f4e9cd48e072
--- /dev/null
+++ b/xml/tests/testData/generateactions/addColumn/before3.jsp
@@ -0,0 +1,69 @@
+
+
+
+
+ fdgsd
+
+
+dsfgsdgfdg
+
+
+
+
+
+
+ 1
+ 2
+
+
+ 1
+ 2
+ 5
+ 2'
+ 3
+
+
+ 1
+ 2
+
+
+ 1
+ 2
+ 3
+ 3
+
+
+ 1
+ 4
+
+
+ 1
+ 2
+ 5
+
+
+ 1
+ 2
+ 3
+
+
+
+ 1
+
+
+ 2
+ 3
+ 2
+ 4
+
+
+ 1
+ 2
+ 7
+ 3
+ 4
+ 5
+
+
+
+
\ No newline at end of file
diff --git a/xml/tests/testData/generateactions/addColumn/before4.jspx b/xml/tests/testData/generateactions/addColumn/before4.jspx
new file mode 100644
index 000000000000..d5d6fe721c0a
--- /dev/null
+++ b/xml/tests/testData/generateactions/addColumn/before4.jspx
@@ -0,0 +1,69 @@
+
+
+
+
+ fdgsd
+
+
+dsfgsdgfdg
+
+
+
+
+
+
+ 1
+ 2
+
+
+ 1
+ 2
+ 5
+ 2'
+ 3
+
+
+ 1
+ 2
+
+
+ 1
+ 2
+ 3
+ 3
+
+
+ 1
+ 4
+
+
+ 1
+ 2
+ 5
+
+
+ d colspan="3" rowspan="3">1
+ 2
+ 3
+
+
+
+ 1
+
+
+ 2
+ 3
+ 2
+ 4
+
+
+ 1
+ 2
+ 7
+ 3
+ 4
+ 5
+
+
+
+
\ No newline at end of file
diff --git a/xml/tests/testData/generateactions/addColumn/before5.html b/xml/tests/testData/generateactions/addColumn/before5.html
new file mode 100644
index 000000000000..02024f534af6
--- /dev/null
+++ b/xml/tests/testData/generateactions/addColumn/before5.html
@@ -0,0 +1,69 @@
+
+
+
+
+ fdgsd
+
+
+dsfgsdgfdg
+
+
+
+
+
+
+ 1
+ 2
+
+
+ 1
+ 2
+ 5
+ 2'
+ 3
+
+
+ 1
+ 2
+
+
+ 1
+ 2
+ 3
+ 3
+
+
+ 1
+ 4
+
+
+ 1
+ 2
+ 5
+
+
+ 1
+ 2
+ 3
+
+
+
+ 1
+
+
+ 2
+ 3
+ 2
+ 4
+
+
+ d>1
+ 2
+ 7
+ 3
+ 4
+ 5
+
+
+
+
\ No newline at end of file
diff --git a/xml/tests/testData/generateactions/addColumn/before6.html b/xml/tests/testData/generateactions/addColumn/before6.html
new file mode 100644
index 000000000000..f1826d6ae995
--- /dev/null
+++ b/xml/tests/testData/generateactions/addColumn/before6.html
@@ -0,0 +1,6 @@
+
+
\ No newline at end of file
diff --git a/xml/tests/testData/generateactions/addColumn/before7.html b/xml/tests/testData/generateactions/addColumn/before7.html
new file mode 100644
index 000000000000..77015e0eb175
--- /dev/null
+++ b/xml/tests/testData/generateactions/addColumn/before7.html
@@ -0,0 +1,866 @@
+
+
+Name Values Initial value Applies to (Default: all) Inherited? Percentages (Default: N/A) Media groups
+
+'azimuth'
+<angle> | [[ left-side | far-left | left | center-left | center | center-right | right | far-right | right-side ] || behind ] | leftwards | rightwards | inherit
+center
+
+ yes
+
+ aural
+
+'background-attachment'
+scroll | fixed | inherit
+
+ scroll
+
+ no
+d>
+visual
+
+'background-color'
+<color> | transparent | inherit
+transparent
+
+ no
+
+
+ visual
+
+'background-image'
+<uri> | none | inherit
+none
+
+ no
+
+ visual
+
+'background-position'
+[ [ <percentage> | <length> | left | center | right ] [ <percentage> | <length> | top | center | bottom ]? ] | [ [ left | center | right ] || [ top | center | bottom ] ] | inherit
+
+ 0% 0%
+
+ no
+ refer to the size of the box itself
+ visual
+
+'background-repeat'
+repeat | repeat-x | repeat-y | no-repeat | inherit
+ repeat
+
+ no
+
+ visual
+
+'background'
+['background-color' || 'background-image' || 'background-repeat' || 'background-attachment' || 'background-position' ] | inherit
+
+ see individual properties
+
+ no
+ allowed on 'background-position'
+ visual
+
+'border-collapse'
+collapse | separate | inherit
+ separate
+ 'table' and 'inline-table' elements
+ yes
+
+ visual
+
+'border-color'
+[ <color> | transparent ]{1,4} | inherit
+ see individual properties
+
+ no
+
+ visual
+
+'border-spacing'
+
+<length> <length> ? | inherit
+0
+ 'table' and 'inline-table' elements
+ yes
+
+ visual
+
+'border-style'
+<border-style> {1,4} | inherit
+
+see individual properties
+
+ no
+
+ visual
+
+'border-top'
+'border-right'
+'border-bottom'
+'border-left'
+[ <border-width> || <border-style> || 'border-top-color' ] | inherit
+
+ see individual properties
+
+ no
+
+ visual
+
+'border-top-color'
+'border-right-color'
+'border-bottom-color'
+'border-left-color'
+<color> | transparent | inherit
+
+the value of the 'color' property
+
+ no
+
+ visual
+
+'border-top-style'
+'border-right-style'
+'border-bottom-style'
+'border-left-style'
+<border-style> | inherit
+
+none
+
+ no
+
+ visual
+
+'border-top-width'
+'border-right-width'
+'border-bottom-width'
+'border-left-width'
+<border-width> | inherit
+
+medium
+
+ no
+
+ visual
+
+'border-width'
+<border-width> {1,4} | inherit
+see individual properties
+
+ no
+
+
+ visual
+
+'border'
+[ <border-width> || <border-style> || 'border-top-color' ] | inherit
+
+ see individual properties
+
+ no
+
+ visual
+
+'bottom'
+<length> | <percentage> | auto | inherit
+
+auto
+ positioned elements
+ no
+ refer to height of containing block
+ visual
+
+'caption-side'
+top | bottom | inherit
+ top
+ 'table-caption' elements
+ yes
+
+ visual
+
+'clear'
+none | left | right | both | inherit
+ none
+ block-level elements
+ no
+
+ visual
+
+'clip'
+<shape> | auto | inherit
+
+auto
+ absolutely positioned elements
+ no
+
+ visual
+
+'color'
+<color> | inherit
+depends on user agent
+
+ yes
+
+
+ visual
+
+'content'
+normal | none | [ <string> | <uri> | <counter> | attr(<identifier> ) | open-quote | close-quote | no-open-quote | no-close-quote ]+ | inherit
+
+ normal
+ :before and :after pseudo-elements
+ no
+
+ all
+
+'counter-increment'
+[ <identifier> <integer> ? ]+ | none | inherit
+ none
+
+
+ no
+
+ all
+
+'counter-reset'
+[ <identifier> <integer> ? ]+ | none | inherit
+ none
+
+
+ no
+
+ all
+
+'cue-after'
+<uri> | none | inherit
+none
+
+ no
+
+ aural
+
+'cue-before'
+<uri> | none | inherit
+none
+
+ no
+
+ aural
+
+'cue'
+
+[ 'cue-before' || 'cue-after' ] | inherit
+ see individual properties
+
+ no
+
+ aural
+
+'cursor'
+
+[ [<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 | progress ] ] | inherit
+ auto
+
+ yes
+
+ visual , interactive
+
+'direction'
+
+ltr | rtl | inherit
+ ltr
+ all elements, but see prose
+ yes
+
+ visual
+
+'display'
+inline | block | list-item | run-in | inline-block | table | inline-table | table-row-group | table-header-group | table-footer-group | table-row | table-column-group | table-column | table-cell | table-caption | none | inherit
+ inline
+
+
+ no
+
+ all
+
+'elevation'
+<angle> | below | level | above | higher | lower | inherit
+level
+
+ yes
+
+ aural
+
+'empty-cells'
+show | hide | inherit
+ show
+ 'table-cell' elements
+ yes
+
+ visual
+
+'float'
+left | right | none | inherit
+
+ none
+ all, but see 9.7
+ no
+
+ visual
+
+'font-family'
+[[ <family-name> | <generic-family> ] [, <family-name> | <generic-family> ]* ] | inherit
+
+ depends on user agent
+
+ yes
+
+ visual
+
+'font-size'
+<absolute-size> | <relative-size> | <length> | <percentage> | inherit
+
+medium
+
+ yes
+ refer to parent element's font size
+ visual
+
+'font-style'
+normal | italic | oblique | inherit
+ normal
+
+ yes
+
+ visual
+
+'font-variant'
+normal | small-caps | inherit
+ normal
+
+ yes
+
+ visual
+
+'font-weight'
+normal | bold | bolder | lighter | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900 | inherit
+
+ normal
+
+ yes
+
+ visual
+
+'font'
+[ [ 'font-style' || 'font-variant' || 'font-weight' ]? 'font-size' [ / 'line-height' ]? 'font-family' ] | caption | icon | menu | message-box | small-caption | status-bar | inherit
+
+ see individual properties
+
+ yes
+ see individual properties
+ visual
+
+'height'
+<length> | <percentage> | auto | inherit
+
+auto
+ all elements but non-replaced inline elements, table columns, and column groups
+ no
+ see prose
+ visual
+
+'left'
+<length> | <percentage> | auto | inherit
+
+auto
+ positioned elements
+ no
+ refer to width of containing block
+ visual
+
+'letter-spacing'
+normal | <length> | inherit
+ normal
+
+
+ yes
+
+ visual
+
+'line-height'
+normal | <number> | <length> | <percentage> | inherit
+
+ normal
+
+ yes
+ refer to the font size of the element itself
+ visual
+
+'list-style-image'
+<uri> | none | inherit
+none
+ elements with 'display: list-item'
+ yes
+
+
+ visual
+
+'list-style-position'
+inside | outside | inherit
+ outside
+ elements with 'display: list-item'
+ yes
+
+ visual
+
+'list-style-type'
+
+disc | circle | square | decimal | decimal-leading-zero | lower-roman | upper-roman | lower-greek | lower-latin | upper-latin | armenian | georgian | lower-alpha | upper-alpha | none | inherit
+ disc
+ elements with 'display: list-item'
+ yes
+
+ visual
+
+'list-style'
+[ 'list-style-type' || 'list-style-position' || 'list-style-image' ] | inherit
+
+ see individual properties
+ elements with 'display: list-item'
+ yes
+
+ visual
+
+'margin-right'
+'margin-left'
+<margin-width> | inherit
+0
+
+ all elements except elements with table display types other than table-caption, table and inline-table
+ no
+ refer to width of containing block
+ visual
+
+'margin-top'
+'margin-bottom'
+<margin-width> | inherit
+0
+ all elements except elements with table display types other than table-caption, table and inline-table
+
+ no
+ refer to width of containing block
+ visual
+
+'margin'
+<margin-width> {1,4} | inherit
+see individual properties
+ all elements except elements with table display types other than table-caption, table and inline-table
+ no
+ refer to width of containing block
+ visual
+
+'max-height'
+<length> | <percentage> | none | inherit
+none
+ all elements but non-replaced inline elements, table columns, and column groups
+ no
+ see prose
+ visual
+
+'max-width'
+<length> | <percentage> | none | inherit
+none
+ all elements but non-replaced inline elements, table rows, and row groups
+ no
+ refer to width of containing block
+ visual
+
+'min-height'
+<length> | <percentage> | inherit
+0
+ all elements but non-replaced inline elements, table columns, and column groups
+ no
+ see prose
+ visual
+
+'min-width'
+<length> | <percentage> | inherit
+0
+ all elements but non-replaced inline elements, table rows, and row groups
+ no
+ refer to width of containing block
+ visual
+
+'orphans'
+<integer> | inherit
+2
+ block-level elements
+ yes
+
+ visual , paged
+
+'outline-color'
+<color> | invert | inherit
+invert
+
+ no
+
+ visual , interactive
+
+'outline-style'
+
+<border-style> | inherit
+none
+
+ no
+
+ visual , interactive
+
+'outline-width'
+<border-width> | inherit
+
+medium
+
+ no
+
+ visual , interactive
+
+'outline'
+[ 'outline-color' || 'outline-style' || 'outline-width' ] | inherit
+
+ see individual properties
+
+ no
+
+ visual , interactive
+
+'overflow'
+visible | hidden | scroll | auto | inherit
+ visible
+ non-replaced block-level elements, table cells, and inline-block elements
+ no
+
+
+ visual
+
+'padding-top'
+'padding-right'
+'padding-bottom'
+'padding-left'
+<padding-width> | inherit
+
+0
+ all elements except table-row-group, table-header-group, table-footer-group, table-row, table-column-group and table-column
+ no
+ refer to width of containing block
+ visual
+
+'padding'
+<padding-width> {1,4} | inherit
+see individual properties
+ all elements except table-row-group, table-header-group, table-footer-group, table-row, table-column-group and table-column
+ no
+ refer to width of containing block
+
+ visual
+
+'page-break-after'
+auto | always | avoid | left | right | inherit
+ auto
+ block-level elements
+ no
+
+ visual , paged
+
+'page-break-before'
+auto | always | avoid | left | right | inherit
+ auto
+ block-level elements
+ no
+
+ visual , paged
+
+'page-break-inside'
+avoid | auto | inherit
+
+ auto
+ block-level elements
+ yes
+
+ visual , paged
+
+'pause-after'
+<time> | <percentage> | inherit
+
+0
+
+ no
+ see prose
+ aural
+
+'pause-before'
+<time> | <percentage> | inherit
+
+0
+
+ no
+ see prose
+ aural
+
+'pause'
+[ [<time> | <percentage> ]{1,2} ] | inherit
+
+ see individual properties
+
+ no
+ see descriptions of 'pause-before' and 'pause-after'
+ aural
+
+'pitch-range'
+<number> | inherit
+50
+
+ yes
+
+
+ aural
+
+'pitch'
+<frequency> | x-low | low | medium | high | x-high | inherit
+medium
+
+ yes
+
+ aural
+
+'play-during'
+<uri> [ mix || repeat ]? | auto | none | inherit
+auto
+
+ no
+
+ aural
+
+'position'
+
+static | relative | absolute | fixed | inherit
+ static
+
+ no
+
+ visual
+
+'quotes'
+[<string> <string> ]+ | none | inherit
+
+ depends on user agent
+
+ yes
+
+ visual
+
+'richness'
+<number> | inherit
+50
+
+ yes
+
+
+ aural
+
+'right'
+<length> | <percentage> | auto | inherit
+auto
+ positioned elements
+ no
+
+ refer to width of containing block
+ visual
+
+
+once | always | inherit
+ once
+ elements that have table header information
+ yes
+
+ aural
+
+'speak-numeral'
+
+digits | continuous | inherit
+ continuous
+
+ yes
+
+ aural
+
+'speak-punctuation'
+code | none | inherit
+ none
+
+
+ yes
+
+ aural
+
+'speak'
+normal | none | spell-out | inherit
+ normal
+
+ yes
+
+ aural
+
+'speech-rate'
+<number> | x-slow | slow | medium | fast | x-fast | faster | slower | inherit
+medium
+
+ yes
+
+ aural
+
+'stress'
+<number> | inherit
+
+50
+
+ yes
+
+ aural
+
+'table-layout'
+auto | fixed | inherit
+ auto
+ 'table' and 'inline-table' elements
+ no
+
+ visual
+
+'text-align'
+left | right | center | justify | inherit
+ a nameless value that acts as 'left' if 'direction' is 'ltr', 'right' if 'direction' is 'rtl'
+ block-level elements, table cells and inline blocks
+ yes
+
+ visual
+
+'text-decoration'
+none | [ underline || overline || line-through || blink ] | inherit
+
+ none
+
+ no (see prose)
+
+ visual
+
+'text-indent'
+<length> | <percentage> | inherit
+
+0
+ block-level elements, table cells and inline blocks
+ yes
+ refer to width of containing block
+ visual
+
+'text-transform'
+capitalize | uppercase | lowercase | none | inherit
+ none
+
+ yes
+
+ visual
+
+'top'
+<length> | <percentage> | auto | inherit
+auto
+ positioned elements
+ no
+ refer to height of containing block
+ visual
+
+'unicode-bidi'
+normal | embed | bidi-override | inherit
+ normal
+ all elements, but see prose
+ no
+
+ visual
+
+'vertical-align'
+baseline | sub | super | top | text-top | middle | bottom | text-bottom | <percentage> | <length> | inherit
+
+ baseline
+ inline-level and 'table-cell' elements
+ no
+ refer to the 'line-height' of the element itself
+ visual
+
+'visibility'
+visible | hidden | collapse | inherit
+ visible
+
+ yes
+
+ visual
+
+'voice-family'
+[[<specific-voice> | <generic-voice> ],]* [<specific-voice> | <generic-voice> ] | inherit
+
+ depends on user agent
+
+ yes
+
+ aural
+
+'volume'
+<number> | <percentage> | silent | x-soft | soft | medium | loud | x-loud | inherit
+
+medium
+
+ yes
+ refer to inherited value
+ aural
+
+'white-space'
+normal | pre | nowrap | pre-wrap | pre-line | inherit
+ normal
+
+ yes
+
+ visual
+
+'widows'
+<integer> | inherit
+2
+ block-level elements
+ yes
+
+ visual , paged
+
+'width'
+<length> | <percentage> | auto | inherit
+auto
+ all elements but non-replaced inline elements, table rows, and row groups
+ no
+ refer to width of containing block
+ visual
+
+'word-spacing'
+normal | <length> | inherit
+ normal
+
+ yes
+
+ visual
+
+'z-index'
+
+auto | <integer> | inherit
+ auto
+ positioned elements
+ no
+
+ visual
+
+
diff --git a/xml/tests/testData/generateactions/addColumn/before8.xml b/xml/tests/testData/generateactions/addColumn/before8.xml
new file mode 100644
index 000000000000..1b4b1a7d970c
--- /dev/null
+++ b/xml/tests/testData/generateactions/addColumn/before8.xml
@@ -0,0 +1,41 @@
+
+
+
+
+
+fdgsd
+
+
+dsfgsdgfdg
+
+
+ 1
+ 2
+ 3
+ 3
+ 3
+ 3
+ 3
+ .
+ 3
+ 3
+ 3
+ d>3
+ 4
+ 1
+
+
+ 1
+ 2
+ 1
+
+
+ 1
+ 2
+ 3
+ 1
+
+
+
+
\ No newline at end of file
diff --git a/xml/tests/testData/index/XMLSchema.xsd b/xml/tests/testData/index/XMLSchema.xsd
new file mode 100644
index 000000000000..07e8e428b369
--- /dev/null
+++ b/xml/tests/testData/index/XMLSchema.xsd
@@ -0,0 +1,2468 @@
+
+
+
+
+ Part 1 version: Id: structures.xsd,v 1.2 2004/01/15 11:34:25 ht Exp
+ Part 2 version: Id: datatypes.xsd,v 1.3 2004/01/23 18:11:13 ht Exp
+
+
+
+
+
+ The schema corresponding to this document is normative,
+ with respect to the syntactic constraints it expresses in the
+ XML Schema language. The documentation (within <documentation> elements)
+ below, is not normative, but rather highlights important aspects of
+ the W3C Recommendation of which this is a part
+
+
+
+
+ The simpleType element and all of its members are defined
+ towards the end of this schema document
+
+
+
+
+
+ Get access to the xml: attribute groups for xml:lang
+ as declared on 'schema' and 'documentation' below
+
+
+
+
+
+
+
+ This type is extended by almost all schema types
+ to allow attributes from other namespaces to be
+ added to user schemas.
+
+
+
+
+
+
+
+
+
+
+
+
+ This type is extended by all types which allow annotation
+ other than <schema> itself
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ This group is for the
+ elements which occur freely at the top level of schemas.
+ All of their types are based on the "annotated" type by extension.
+
+
+
+
+
+
+
+
+
+
+
+
+ This group is for the
+ elements which can self-redefine (see <redefine> below).
+
+
+
+
+
+
+
+
+
+
+
+
+ A utility type, not for public use
+
+
+
+
+
+
+
+
+
+
+ A utility type, not for public use
+
+
+
+
+
+
+
+
+
+
+ A utility type, not for public use
+
+ #all or (possibly empty) subset of {extension, restriction}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A utility type, not for public use
+
+
+
+
+
+
+
+
+
+
+
+
+ A utility type, not for public use
+
+ #all or (possibly empty) subset of {extension, restriction, list, union}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ for maxOccurs
+
+
+
+
+
+
+
+
+
+
+
+ for all particles
+
+
+
+
+
+
+ for element, group and attributeGroup,
+ which both define and reference
+
+
+
+
+
+
+
+ 'complexType' uses this
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ This branch is short for
+ <complexContent>
+ <restriction base="xs:anyType">
+ ...
+ </restriction>
+ </complexContent>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Will be restricted to required or forbidden
+
+
+
+
+
+ Not allowed if simpleContent child is chosen.
+ May be overriden by setting on complexContent child.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ This choice is added simply to
+ make this a valid restriction per the REC
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Overrides any setting on complexType parent.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ This choice is added simply to
+ make this a valid restriction per the REC
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ No typeDefParticle group reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A utility type, not for public use
+
+ #all or (possibly empty) subset of {substitution, extension,
+ restriction}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The element element can be used either
+ at the top level to define an element-type binding globally,
+ or within a content model to either reference a globally-defined
+ element or type or declare an element-type binding locally.
+ The ref form is not allowed at the top level.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ group type for explicit groups, named top-level groups and
+ group references
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ group type for the three kinds of group
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ This choice with min/max is here to
+ avoid a pblm with the Elt:All/Choice/Seq
+ Particle derivation constraint
+
+
+
+
+
+
+
+
+
+ restricted max/min
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Only elements allowed inside
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ simple type for the value of the 'namespace' attr of
+ 'any' and 'anyAttribute'
+
+
+
+ Value is
+ ##any - - any non-conflicting WFXML/attribute at all
+
+ ##other - - any non-conflicting WFXML/attribute from
+ namespace other than targetNS
+
+ ##local - - any unqualified non-conflicting WFXML/attribute
+
+ one or - - any non-conflicting WFXML/attribute from
+ more URI the listed namespaces
+ references
+ (space separated)
+
+ ##targetNamespace or ##local may appear in the above list, to
+ refer to the targetNamespace of the enclosing
+ schema or an absent targetNamespace respectively
+
+
+
+
+
+ A utility type, not for public use
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A subset of XPath expressions for use
+in selectors
+ A utility type, not for public
+use
+
+
+
+ The following pattern is intended to allow XPath
+ expressions per the following EBNF:
+ Selector ::= Path ( '|' Path )*
+ Path ::= ('.//')? Step ( '/' Step )*
+ Step ::= '.' | NameTest
+ NameTest ::= QName | '*' | NCName ':' '*'
+ child:: is also allowed
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A subset of XPath expressions for use
+in fields
+ A utility type, not for public
+use
+
+
+
+ The following pattern is intended to allow XPath
+ expressions per the same EBNF as for selector,
+ with the following change:
+ Path ::= ('.//')? ( Step '/' )* ( Step | '@' NameTest )
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The three kinds of identity constraints, all with
+ type of or derived from 'keybase'.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A utility type, not for public use
+
+ A public identifier, per ISO 8879
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ notations for use within XML Schema schemas
+
+
+
+
+
+
+
+
+ Not the real urType, but as close an approximation as we can
+ get in the XML representation
+
+
+
+
+
+
+
+
+
+ First the built-in primitive datatypes. These definitions are for
+ information only, the real built-in definitions are magic.
+
+
+
+ For each built-in datatype in this schema (both primitive and
+ derived) can be uniquely addressed via a URI constructed
+ as follows:
+ 1) the base URI is the URI of the XML Schema namespace
+ 2) the fragment identifier is the name of the datatype
+
+ For example, to address the int datatype, the URI is:
+
+ http://www.w3.org/2001/XMLSchema#int
+
+ Additionally, each facet definition element can be uniquely
+ addressed via a URI constructed as follows:
+ 1) the base URI is the URI of the XML Schema namespace
+ 2) the fragment identifier is the name of the facet
+
+ For example, to address the maxInclusive facet, the URI is:
+
+ http://www.w3.org/2001/XMLSchema#maxInclusive
+
+ Additionally, each facet usage in a built-in datatype definition
+ can be uniquely addressed via a URI constructed as follows:
+ 1) the base URI is the URI of the XML Schema namespace
+ 2) the fragment identifier is the name of the datatype, followed
+ by a period (".") followed by the name of the facet
+
+ For example, to address the usage of the maxInclusive facet in
+ the definition of int, the URI is:
+
+ http://www.w3.org/2001/XMLSchema#int.maxInclusive
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ NOTATION cannot be used directly in a schema; rather a type
+ must be derived from it by specifying at least one enumeration
+ facet whose value is the name of a NOTATION declared in the
+ schema.
+
+
+
+
+
+
+
+
+
+ Now the derived primitive types
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ pattern specifies the content of section 2.12 of XML 1.0e2
+ and RFC 3066 (Revised version of RFC 1766).
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ pattern matches production 7 from the XML spec
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ pattern matches production 5 from the XML spec
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ pattern matches production 4 from the Namespaces in XML spec
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A utility type, not for public use
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ #all or (possibly empty) subset of {restriction, union, list}
+
+
+ A utility type, not for public use
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Can be restricted to required or forbidden
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Required at the top level
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Forbidden when nested
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ We should use a substitution group for facets, but
+ that's ruled out because it would allow users to
+ add their own, which we're not ready for yet.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ base attribute and simpleType child are mutually
+ exclusive, but one or other is required
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ itemType attribute and simpleType child are mutually
+ exclusive, but one or other is required
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ memberTypes attribute must be non-empty or there must be
+ at least one simpleType child
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/xml/tests/testData/index/spring-beans-2.0.xsd b/xml/tests/testData/index/spring-beans-2.0.xsd
new file mode 100644
index 000000000000..6825d93187b9
--- /dev/null
+++ b/xml/tests/testData/index/spring-beans-2.0.xsd
@@ -0,0 +1,1076 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ /' element.
+ ]]>
+
+
+
+
+
+
+
+
+
+ /' element.
+ ]]>
+
+
+
+
+
+
+
+
+
+
+
+
+ /' element.
+ ]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ /' element.
+ ]]>
+
+
+
+
+ /' element.
+ ]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ element (or "ref"
+ attribute). We recommend this in most cases as it makes documentation
+ more explicit.
+
+ 2. "byName"
+ Autowiring by property name. If a bean of class Cat exposes a dog
+ property, Spring will try to set this to the value of the bean "dog"
+ in the current container. If there is no matching bean by name, nothing
+ special happens; use dependency-check="objects" to raise an error in
+ that case.
+
+ 3. "byType"
+ Autowiring if there is exactly one bean of the property type in the
+ container. If there is more than one, a fatal error is raised, and
+ you cannot use byType autowiring for that bean. If there is none,
+ nothing special happens; use dependency-check="objects" to raise an
+ error in that case.
+
+ 4. "constructor"
+ Analogous to "byType" for constructor arguments. If there is not exactly
+ one bean of the constructor argument type in the bean factory, a fatal
+ error is raised.
+
+ 5. "autodetect"
+ Chooses "constructor" or "byType" through introspection of the bean
+ class. If a default constructor is found, "byType" gets applied.
+
+ Note that explicit dependencies, i.e. "property" and "constructor-arg"
+ elements, always override autowiring. Autowire behavior can be combined
+ with dependency checking, which will be performed after all autowiring
+ has been completed.
+
+ Note: This attribute will not be inherited by child bean definitions.
+ Hence, it needs to be specified per concrete bean definition.
+ ]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ " element.
+ ]]>
+
+
+
+
+ ... "
+ element.
+ ]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ".
+ ]]>
+
+
+
+
+ ..."
+ element.
+ ]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ".
+ ]]>
+
+
+
+
+ ..."
+ element.
+ ]]>
+
+
+
+
+ ".
+ ]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/xml/tests/testData/index/spring-tool-2.0.xsd b/xml/tests/testData/index/spring-tool-2.0.xsd
new file mode 100644
index 000000000000..3d278bf64466
--- /dev/null
+++ b/xml/tests/testData/index/spring-tool-2.0.xsd
@@ -0,0 +1,62 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Indicates that an annotated type exports an application visible component.
+
+
+
+
+
+ The type of the exported component. May be null if the type is not known until runtime.
+
+
+
+
+
+
+ Defines an XPath query that can be executed against the node annotated with this
+ type to determine the identifier of any exported component.
+
+
+
+
+
+
diff --git a/xml/tests/testData/inspections/deprecatedTag/SwitchToHtml5QuickFix.html b/xml/tests/testData/inspections/deprecatedTag/SwitchToHtml5QuickFix.html
new file mode 100644
index 000000000000..2e0b258453c3
--- /dev/null
+++ b/xml/tests/testData/inspections/deprecatedTag/SwitchToHtml5QuickFix.html
@@ -0,0 +1,8 @@
+
+
+
+
+
+u>
+
+
\ No newline at end of file
diff --git a/xml/tests/testData/inspections/deprecatedTag/SwitchToHtml5QuickFix1.html b/xml/tests/testData/inspections/deprecatedTag/SwitchToHtml5QuickFix1.html
new file mode 100644
index 000000000000..53e33d7c45af
--- /dev/null
+++ b/xml/tests/testData/inspections/deprecatedTag/SwitchToHtml5QuickFix1.html
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+nu>
+
+
\ No newline at end of file
diff --git a/xml/tests/testData/inspections/deprecatedTag/actions/after0.html b/xml/tests/testData/inspections/deprecatedTag/actions/after0.html
new file mode 100644
index 000000000000..defb3b1e92e7
--- /dev/null
+++ b/xml/tests/testData/inspections/deprecatedTag/actions/after0.html
@@ -0,0 +1,12 @@
+
+
+
+
+ 1
+
+
+
+
+
+
\ No newline at end of file
diff --git a/xml/tests/testData/inspections/deprecatedTag/actions/after1.html b/xml/tests/testData/inspections/deprecatedTag/actions/after1.html
new file mode 100644
index 000000000000..d15db0d63370
--- /dev/null
+++ b/xml/tests/testData/inspections/deprecatedTag/actions/after1.html
@@ -0,0 +1,12 @@
+
+
+
+
+ 1
+
+
+a
+fdfsdfsd
+
+
\ No newline at end of file
diff --git a/xml/tests/testData/inspections/deprecatedTag/actions/after2.jspx b/xml/tests/testData/inspections/deprecatedTag/actions/after2.jspx
new file mode 100644
index 000000000000..8ff510623bdf
--- /dev/null
+++ b/xml/tests/testData/inspections/deprecatedTag/actions/after2.jspx
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+ a
+
+
+
\ No newline at end of file
diff --git a/xml/tests/testData/inspections/deprecatedTag/actions/after3.jsp b/xml/tests/testData/inspections/deprecatedTag/actions/after3.jsp
new file mode 100644
index 000000000000..b7c96f21c199
--- /dev/null
+++ b/xml/tests/testData/inspections/deprecatedTag/actions/after3.jsp
@@ -0,0 +1,33 @@
+<%-- "Replace applet tag with object tag" "true" --%>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/xml/tests/testData/inspections/deprecatedTag/actions/before0.html b/xml/tests/testData/inspections/deprecatedTag/actions/before0.html
new file mode 100644
index 000000000000..53b4398905de
--- /dev/null
+++ b/xml/tests/testData/inspections/deprecatedTag/actions/before0.html
@@ -0,0 +1,12 @@
+
+
+
+
+ 1
+
+
+<s>
+
+
+
\ No newline at end of file
diff --git a/xml/tests/testData/inspections/deprecatedTag/actions/before1.html b/xml/tests/testData/inspections/deprecatedTag/actions/before1.html
new file mode 100644
index 000000000000..cf938ebc91c0
--- /dev/null
+++ b/xml/tests/testData/inspections/deprecatedTag/actions/before1.html
@@ -0,0 +1,12 @@
+
+
+
+
+ 1
+
+
+>a
+fdfsdfsd
+
+
\ No newline at end of file
diff --git a/xml/tests/testData/inspections/deprecatedTag/actions/before2.jspx b/xml/tests/testData/inspections/deprecatedTag/actions/before2.jspx
new file mode 100644
index 000000000000..97d8fa3cb089
--- /dev/null
+++ b/xml/tests/testData/inspections/deprecatedTag/actions/before2.jspx
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+ face="arial" size="+2" color="red">a
+
+
+
\ No newline at end of file
diff --git a/xml/tests/testData/inspections/deprecatedTag/actions/before3.jsp b/xml/tests/testData/inspections/deprecatedTag/actions/before3.jsp
new file mode 100644
index 000000000000..07025457537c
--- /dev/null
+++ b/xml/tests/testData/inspections/deprecatedTag/actions/before3.jsp
@@ -0,0 +1,2 @@
+<%-- "Replace applet tag with object tag" "true" --%>
+ code="TDMessage.class" align="baseline" width="550" height="150" id="3D Message">
\ No newline at end of file
diff --git a/xml/tests/testData/inspections/deprecatedTag/html_deptag5.xhtml b/xml/tests/testData/inspections/deprecatedTag/html_deptag5.xhtml
new file mode 100644
index 000000000000..cd5efad49e1d
--- /dev/null
+++ b/xml/tests/testData/inspections/deprecatedTag/html_deptag5.xhtml
@@ -0,0 +1,4 @@
+
+
+:menu/>
+
\ No newline at end of file
diff --git a/xml/tests/testData/inspections/deprecatedTag/html_deptag5.xml b/xml/tests/testData/inspections/deprecatedTag/html_deptag5.xml
new file mode 100644
index 000000000000..c70e99b6150e
--- /dev/null
+++ b/xml/tests/testData/inspections/deprecatedTag/html_deptag5.xml
@@ -0,0 +1,9 @@
+
+
+
+ size="+666"/>
+
+ bla-bla
+
+
+
\ No newline at end of file
diff --git a/xml/tests/testData/inspections/formInputWithoutLabel/actions/after1.html b/xml/tests/testData/inspections/formInputWithoutLabel/actions/after1.html
new file mode 100644
index 000000000000..f1724178b915
--- /dev/null
+++ b/xml/tests/testData/inspections/formInputWithoutLabel/actions/after1.html
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/xml/tests/testData/inspections/formInputWithoutLabel/actions/after2.xhtml b/xml/tests/testData/inspections/formInputWithoutLabel/actions/after2.xhtml
new file mode 100644
index 000000000000..0afb1c1d3ae0
--- /dev/null
+++ b/xml/tests/testData/inspections/formInputWithoutLabel/actions/after2.xhtml
@@ -0,0 +1,15 @@
+
+
+
+
+
+ oppa
+
+
+ blabla1
+
+
+ blabla2
+
+
+
\ No newline at end of file
diff --git a/xml/tests/testData/inspections/formInputWithoutLabel/actions/after3.jsp b/xml/tests/testData/inspections/formInputWithoutLabel/actions/after3.jsp
new file mode 100644
index 000000000000..7c52117e7f77
--- /dev/null
+++ b/xml/tests/testData/inspections/formInputWithoutLabel/actions/after3.jsp
@@ -0,0 +1,11 @@
+<%-- "Create a new label from the text after textarea element" "true" --%>
+
+
+ oppa
+
+ blabla1
+
+
+ blabla2
+
+
diff --git a/xml/tests/testData/inspections/formInputWithoutLabel/actions/after4.jspx b/xml/tests/testData/inspections/formInputWithoutLabel/actions/after4.jspx
new file mode 100644
index 000000000000..a6096ed8dcbb
--- /dev/null
+++ b/xml/tests/testData/inspections/formInputWithoutLabel/actions/after4.jspx
@@ -0,0 +1,15 @@
+
+
+
+
+
+ oppa
+
+
+ blabla1
+
+
+ blabla2
+
+
+
\ No newline at end of file
diff --git a/xml/tests/testData/inspections/formInputWithoutLabel/actions/after5.html b/xml/tests/testData/inspections/formInputWithoutLabel/actions/after5.html
new file mode 100644
index 000000000000..b3f7ec702d50
--- /dev/null
+++ b/xml/tests/testData/inspections/formInputWithoutLabel/actions/after5.html
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/xml/tests/testData/inspections/formInputWithoutLabel/actions/after6.xhtml b/xml/tests/testData/inspections/formInputWithoutLabel/actions/after6.xhtml
new file mode 100644
index 000000000000..e3855349296a
--- /dev/null
+++ b/xml/tests/testData/inspections/formInputWithoutLabel/actions/after6.xhtml
@@ -0,0 +1,12 @@
+
+
+
+
+
+ oppa
+
+ blabla1
+ blabla2
+
+
+
\ No newline at end of file
diff --git a/xml/tests/testData/inspections/formInputWithoutLabel/actions/after7.jsp b/xml/tests/testData/inspections/formInputWithoutLabel/actions/after7.jsp
new file mode 100644
index 000000000000..43d7b132f708
--- /dev/null
+++ b/xml/tests/testData/inspections/formInputWithoutLabel/actions/after7.jsp
@@ -0,0 +1,8 @@
+<%-- "Create a new label from the text after textarea element" "true" --%>
+
+
+ oppa
+
+ blabla1
+ blabla2
+
diff --git a/xml/tests/testData/inspections/formInputWithoutLabel/actions/before1.html b/xml/tests/testData/inspections/formInputWithoutLabel/actions/before1.html
new file mode 100644
index 000000000000..d8830f66f3bb
--- /dev/null
+++ b/xml/tests/testData/inspections/formInputWithoutLabel/actions/before1.html
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+ put type="checkbox">
+
+
\ No newline at end of file
diff --git a/xml/tests/testData/inspections/formInputWithoutLabel/actions/before2.xhtml b/xml/tests/testData/inspections/formInputWithoutLabel/actions/before2.xhtml
new file mode 100644
index 000000000000..c92d27ebbc21
--- /dev/null
+++ b/xml/tests/testData/inspections/formInputWithoutLabel/actions/before2.xhtml
@@ -0,0 +1,13 @@
+
+
+
+
+
+ oppa
+
+ blabla1
+ put type="checkbox"/>
+ blabla2
+
+
+
\ No newline at end of file
diff --git a/xml/tests/testData/inspections/formInputWithoutLabel/actions/before3.jsp b/xml/tests/testData/inspections/formInputWithoutLabel/actions/before3.jsp
new file mode 100644
index 000000000000..2cd1904c67ac
--- /dev/null
+++ b/xml/tests/testData/inspections/formInputWithoutLabel/actions/before3.jsp
@@ -0,0 +1,9 @@
+<%-- "Create a new label from the text after textarea element" "true" --%>
+
+
+ oppa
+
+ blabla1
+ area type="checkbox"/>
+ blabla2
+
diff --git a/xml/tests/testData/inspections/formInputWithoutLabel/actions/before4.jspx b/xml/tests/testData/inspections/formInputWithoutLabel/actions/before4.jspx
new file mode 100644
index 000000000000..bbd1248ed341
--- /dev/null
+++ b/xml/tests/testData/inspections/formInputWithoutLabel/actions/before4.jspx
@@ -0,0 +1,13 @@
+
+
+
+
+
+ oppa
+
+ blabla1
+ lect type="checkbox"/>
+ blabla2
+
+
+
\ No newline at end of file
diff --git a/xml/tests/testData/inspections/formInputWithoutLabel/actions/before5.html b/xml/tests/testData/inspections/formInputWithoutLabel/actions/before5.html
new file mode 100644
index 000000000000..6e9f06ba5d24
--- /dev/null
+++ b/xml/tests/testData/inspections/formInputWithoutLabel/actions/before5.html
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+put id="myInput" type="checkbox">
+
+
\ No newline at end of file
diff --git a/xml/tests/testData/inspections/formInputWithoutLabel/actions/before6.xhtml b/xml/tests/testData/inspections/formInputWithoutLabel/actions/before6.xhtml
new file mode 100644
index 000000000000..1d22e119bae1
--- /dev/null
+++ b/xml/tests/testData/inspections/formInputWithoutLabel/actions/before6.xhtml
@@ -0,0 +1,13 @@
+
+
+
+
+
+ oppa
+
+ blabla1
+ put id="myInput" type="checkbox"/>
+ blabla2
+
+
+
\ No newline at end of file
diff --git a/xml/tests/testData/inspections/formInputWithoutLabel/actions/before7.jsp b/xml/tests/testData/inspections/formInputWithoutLabel/actions/before7.jsp
new file mode 100644
index 000000000000..ee69cd20793f
--- /dev/null
+++ b/xml/tests/testData/inspections/formInputWithoutLabel/actions/before7.jsp
@@ -0,0 +1,9 @@
+<%-- "Create a new label from the text after textarea element" "true" --%>
+
+
+ oppa
+
+ blabla1
+ area Id="myText" type="checkbox"/>
+ blabla2
+
diff --git a/xml/tests/testData/inspections/formInputWithoutLabel/nowarnings.html b/xml/tests/testData/inspections/formInputWithoutLabel/nowarnings.html
new file mode 100644
index 000000000000..6ff7a893c657
--- /dev/null
+++ b/xml/tests/testData/inspections/formInputWithoutLabel/nowarnings.html
@@ -0,0 +1,31 @@
+
+
+fd
+
+
+
+ blabla
+
+
+
+
+
+ aprar
+
+
+
+ one more
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/xml/tests/testData/inspections/formInputWithoutLabel/nowarnings.xml b/xml/tests/testData/inspections/formInputWithoutLabel/nowarnings.xml
new file mode 100644
index 000000000000..99c4f4fe015a
--- /dev/null
+++ b/xml/tests/testData/inspections/formInputWithoutLabel/nowarnings.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+ put type="checkbox">
+ fdsfs
+
+
+
\ No newline at end of file
diff --git a/xml/tests/testData/inspections/presentationalTag/after0.jspx b/xml/tests/testData/inspections/presentationalTag/after0.jspx
new file mode 100644
index 000000000000..e23e3b37dc50
--- /dev/null
+++ b/xml/tests/testData/inspections/presentationalTag/after0.jspx
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+ a
+
+
+
\ No newline at end of file
diff --git a/xml/tests/testData/inspections/presentationalTag/before0.jspx b/xml/tests/testData/inspections/presentationalTag/before0.jspx
new file mode 100644
index 000000000000..74bfbcd1d9c0
--- /dev/null
+++ b/xml/tests/testData/inspections/presentationalTag/before0.jspx
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+ >a
+
+
+
\ No newline at end of file
diff --git a/xml/tests/testData/inspections/wrongClosingTagName/after0.xhtml b/xml/tests/testData/inspections/wrongClosingTagName/after0.xhtml
new file mode 100644
index 000000000000..c2d6c3f3a78e
--- /dev/null
+++ b/xml/tests/testData/inspections/wrongClosingTagName/after0.xhtml
@@ -0,0 +1,10 @@
+
+
+
+
+
+ testh3>
+
+
\ No newline at end of file
diff --git a/xml/tests/testData/inspections/wrongClosingTagName/after1.xhtml b/xml/tests/testData/inspections/wrongClosingTagName/after1.xhtml
new file mode 100644
index 000000000000..426510a66fba
--- /dev/null
+++ b/xml/tests/testData/inspections/wrongClosingTagName/after1.xhtml
@@ -0,0 +1,10 @@
+
+
+
+
+
+ >test
+
+
\ No newline at end of file
diff --git a/xml/tests/testData/inspections/wrongClosingTagName/after2.xhtml b/xml/tests/testData/inspections/wrongClosingTagName/after2.xhtml
new file mode 100644
index 000000000000..a30224b98127
--- /dev/null
+++ b/xml/tests/testData/inspections/wrongClosingTagName/after2.xhtml
@@ -0,0 +1,10 @@
+
+
+
+
+
+ test
>
+
+
\ No newline at end of file
diff --git a/xml/tests/testData/inspections/wrongClosingTagName/after3.xml b/xml/tests/testData/inspections/wrongClosingTagName/after3.xml
new file mode 100644
index 000000000000..8a521d5a3907
--- /dev/null
+++ b/xml/tests/testData/inspections/wrongClosingTagName/after3.xml
@@ -0,0 +1,3 @@
+
+ lang="en">
+
\ No newline at end of file
diff --git a/xml/tests/testData/inspections/wrongClosingTagName/before0.xhtml b/xml/tests/testData/inspections/wrongClosingTagName/before0.xhtml
new file mode 100644
index 000000000000..82e1f61b1524
--- /dev/null
+++ b/xml/tests/testData/inspections/wrongClosingTagName/before0.xhtml
@@ -0,0 +1,10 @@
+
+
+
+
+
+ test
h3>
+
+
\ No newline at end of file
diff --git a/xml/tests/testData/inspections/wrongClosingTagName/before1.xhtml b/xml/tests/testData/inspections/wrongClosingTagName/before1.xhtml
new file mode 100644
index 000000000000..45d671f116ff
--- /dev/null
+++ b/xml/tests/testData/inspections/wrongClosingTagName/before1.xhtml
@@ -0,0 +1,10 @@
+
+
+
+
+
+ >test
+
+
\ No newline at end of file
diff --git a/xml/tests/testData/inspections/wrongClosingTagName/before2.xhtml b/xml/tests/testData/inspections/wrongClosingTagName/before2.xhtml
new file mode 100644
index 000000000000..affc7c667194
--- /dev/null
+++ b/xml/tests/testData/inspections/wrongClosingTagName/before2.xhtml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
test>
+
+
\ No newline at end of file
diff --git a/xml/tests/testData/inspections/wrongClosingTagName/before3.xml b/xml/tests/testData/inspections/wrongClosingTagName/before3.xml
new file mode 100644
index 000000000000..64c250d96420
--- /dev/null
+++ b/xml/tests/testData/inspections/wrongClosingTagName/before3.xml
@@ -0,0 +1,3 @@
+
+ lang="en">
+
\ No newline at end of file
diff --git a/xml/tests/testData/intentions/splitTag/after1.html b/xml/tests/testData/intentions/splitTag/after1.html
new file mode 100644
index 000000000000..5729be063f0f
--- /dev/null
+++ b/xml/tests/testData/intentions/splitTag/after1.html
@@ -0,0 +1,13 @@
+
+
+
+
+
a
+
+
+
this is a
+
+
test
+
+
\ No newline at end of file
diff --git a/xml/tests/testData/intentions/splitTag/after3.html b/xml/tests/testData/intentions/splitTag/after3.html
new file mode 100644
index 000000000000..63d397218c7f
--- /dev/null
+++ b/xml/tests/testData/intentions/splitTag/after3.html
@@ -0,0 +1,13 @@
+
+
+
+
+
a
+
+
+
this is a
+
+
test text
+
+
\ No newline at end of file
diff --git a/xml/tests/testData/intentions/splitTag/after4.html b/xml/tests/testData/intentions/splitTag/after4.html
new file mode 100644
index 000000000000..238506ca02aa
--- /dev/null
+++ b/xml/tests/testData/intentions/splitTag/after4.html
@@ -0,0 +1,2 @@
+
+
Integer hac elit tortor lacus nisi odio sit?
Amet lectus, scelerisque
\ No newline at end of file
diff --git a/xml/tests/testData/intentions/splitTag/before0.html b/xml/tests/testData/intentions/splitTag/before0.html
new file mode 100644
index 000000000000..74584b1fceb3
--- /dev/null
+++ b/xml/tests/testData/intentions/splitTag/before0.html
@@ -0,0 +1,13 @@
+
+
+
+
+
a
+
+
+this is a
+
+test
+
+
\ No newline at end of file
diff --git a/xml/tests/testData/intentions/splitTag/before1.html b/xml/tests/testData/intentions/splitTag/before1.html
new file mode 100644
index 000000000000..d98ad1d0396a
--- /dev/null
+++ b/xml/tests/testData/intentions/splitTag/before1.html
@@ -0,0 +1,11 @@
+
+
+
+
+ a
+
+
+this is a test
+
+
\ No newline at end of file
diff --git a/xml/tests/testData/intentions/splitTag/before2.html b/xml/tests/testData/intentions/splitTag/before2.html
new file mode 100644
index 000000000000..7901523b5327
--- /dev/null
+++ b/xml/tests/testData/intentions/splitTag/before2.html
@@ -0,0 +1,11 @@
+
+
+
+
+ this is a test
+
+
+
+
+
\ No newline at end of file
diff --git a/xml/tests/testData/intentions/splitTag/before3.html b/xml/tests/testData/intentions/splitTag/before3.html
new file mode 100644
index 000000000000..2382251be548
--- /dev/null
+++ b/xml/tests/testData/intentions/splitTag/before3.html
@@ -0,0 +1,11 @@
+
+
+
+
+ a
+
+
+this is a test text
+
+
\ No newline at end of file
diff --git a/xml/tests/testData/intentions/splitTag/before4.html b/xml/tests/testData/intentions/splitTag/before4.html
new file mode 100644
index 000000000000..b35bf0a007a2
--- /dev/null
+++ b/xml/tests/testData/intentions/splitTag/before4.html
@@ -0,0 +1,2 @@
+
+Integer hac elit tortor lacus nisi odio sit? Amet lectus, scelerisque
\ No newline at end of file
diff --git a/xml/tests/testData/mover/1.html b/xml/tests/testData/mover/1.html
new file mode 100644
index 000000000000..c41da40fb8f9
--- /dev/null
+++ b/xml/tests/testData/mover/1.html
@@ -0,0 +1,9 @@
+
+
+
+name a
+name b
+name c
+
+
+
\ No newline at end of file
diff --git a/xml/tests/testData/mover/1_afterDown.html b/xml/tests/testData/mover/1_afterDown.html
new file mode 100644
index 000000000000..4e3682d13ae1
--- /dev/null
+++ b/xml/tests/testData/mover/1_afterDown.html
@@ -0,0 +1,9 @@
+
+
+
+name a
+name c
+name b
+
+
+
\ No newline at end of file
diff --git a/xml/tests/testData/mover/1_afterUp.html b/xml/tests/testData/mover/1_afterUp.html
new file mode 100644
index 000000000000..9eb9e6d66f10
--- /dev/null
+++ b/xml/tests/testData/mover/1_afterUp.html
@@ -0,0 +1,9 @@
+
+
+
+name b
+name a
+name c
+
+
+
\ No newline at end of file
diff --git a/xml/tests/testData/mover/tag.xml b/xml/tests/testData/mover/tag.xml
new file mode 100644
index 000000000000..1eabe399dfa6
--- /dev/null
+++ b/xml/tests/testData/mover/tag.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/xml/tests/testData/mover/tag10.xml b/xml/tests/testData/mover/tag10.xml
new file mode 100644
index 000000000000..146f36326b8b
--- /dev/null
+++ b/xml/tests/testData/mover/tag10.xml
@@ -0,0 +1,3 @@
+xmlns:core="http://jboss.com/products/seam/core"
+/>
\ No newline at end of file
diff --git a/xml/tests/testData/mover/tag11.xml b/xml/tests/testData/mover/tag11.xml
new file mode 100644
index 000000000000..fa8c00a5ae56
--- /dev/null
+++ b/xml/tests/testData/mover/tag11.xml
@@ -0,0 +1,6 @@
+
+
+
+ />
+
+
\ No newline at end of file
diff --git a/xml/tests/testData/mover/tag11_afterDown.xml b/xml/tests/testData/mover/tag11_afterDown.xml
new file mode 100644
index 000000000000..517df8a6ddb9
--- /dev/null
+++ b/xml/tests/testData/mover/tag11_afterDown.xml
@@ -0,0 +1,6 @@
+
+
+
+
+ />
+
\ No newline at end of file
diff --git a/xml/tests/testData/mover/tag11_afterUp.xml b/xml/tests/testData/mover/tag11_afterUp.xml
new file mode 100644
index 000000000000..3ad838c7ba20
--- /dev/null
+++ b/xml/tests/testData/mover/tag11_afterUp.xml
@@ -0,0 +1,6 @@
+
+
+ />
+
+
+
\ No newline at end of file
diff --git a/xml/tests/testData/mover/tag2.xml b/xml/tests/testData/mover/tag2.xml
new file mode 100644
index 000000000000..538018085a9e
--- /dev/null
+++ b/xml/tests/testData/mover/tag2.xml
@@ -0,0 +1,5 @@
+
+
+ <a/ >
+
+
\ No newline at end of file
diff --git a/xml/tests/testData/mover/tag2_afterDown.xml b/xml/tests/testData/mover/tag2_afterDown.xml
new file mode 100644
index 000000000000..4cc2ce7d27b0
--- /dev/null
+++ b/xml/tests/testData/mover/tag2_afterDown.xml
@@ -0,0 +1,5 @@
+
+
+
+ <a/ >
+
\ No newline at end of file
diff --git a/xml/tests/testData/mover/tag2_afterUp.xml b/xml/tests/testData/mover/tag2_afterUp.xml
new file mode 100644
index 000000000000..f5127734b3c0
--- /dev/null
+++ b/xml/tests/testData/mover/tag2_afterUp.xml
@@ -0,0 +1,5 @@
+
+ <a/ >
+
+
+
\ No newline at end of file
diff --git a/xml/tests/testData/mover/tag3.xml b/xml/tests/testData/mover/tag3.xml
new file mode 100644
index 000000000000..637405713ac9
--- /dev/null
+++ b/xml/tests/testData/mover/tag3.xml
@@ -0,0 +1,10 @@
+
+
+ <a/ >
+
+
+
+
\ No newline at end of file
diff --git a/xml/tests/testData/mover/tag3_afterDown.xml b/xml/tests/testData/mover/tag3_afterDown.xml
new file mode 100644
index 000000000000..4ae16ef154d1
--- /dev/null
+++ b/xml/tests/testData/mover/tag3_afterDown.xml
@@ -0,0 +1,10 @@
+
+
+
+ <a/ >
+
+
+
\ No newline at end of file
diff --git a/xml/tests/testData/mover/tag3_afterUp.xml b/xml/tests/testData/mover/tag3_afterUp.xml
new file mode 100644
index 000000000000..1e2a81029f0a
--- /dev/null
+++ b/xml/tests/testData/mover/tag3_afterUp.xml
@@ -0,0 +1,10 @@
+
+ <a/ >
+
+
+
+
+
\ No newline at end of file
diff --git a/xml/tests/testData/mover/tag4.xml b/xml/tests/testData/mover/tag4.xml
new file mode 100644
index 000000000000..7ae0ebce2519
--- /dev/null
+++ b/xml/tests/testData/mover/tag4.xml
@@ -0,0 +1,7 @@
+
+
+
+
+<a/ >
\ No newline at end of file
diff --git a/xml/tests/testData/mover/tag4_afterUp.xml b/xml/tests/testData/mover/tag4_afterUp.xml
new file mode 100644
index 000000000000..0971db0b6aac
--- /dev/null
+++ b/xml/tests/testData/mover/tag4_afterUp.xml
@@ -0,0 +1,7 @@
+
+
+
+ <a/ >
+
diff --git a/xml/tests/testData/mover/tag5.xml b/xml/tests/testData/mover/tag5.xml
new file mode 100644
index 000000000000..9b768c73b6fa
--- /dev/null
+++ b/xml/tests/testData/mover/tag5.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/xml/tests/testData/mover/tag5_afterUp.xml b/xml/tests/testData/mover/tag5_afterUp.xml
new file mode 100644
index 000000000000..174ea7a18f19
--- /dev/null
+++ b/xml/tests/testData/mover/tag5_afterUp.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/xml/tests/testData/mover/tag6.xml b/xml/tests/testData/mover/tag6.xml
new file mode 100644
index 000000000000..969059b14eb2
--- /dev/null
+++ b/xml/tests/testData/mover/tag6.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+ r1="N3"
+ attr2="some"/>
+
+
\ No newline at end of file
diff --git a/xml/tests/testData/mover/tag6_afterDown.xml b/xml/tests/testData/mover/tag6_afterDown.xml
new file mode 100644
index 000000000000..679162e5ca79
--- /dev/null
+++ b/xml/tests/testData/mover/tag6_afterDown.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+ r1="N3"
+ attr2="some"/>
+
\ No newline at end of file
diff --git a/xml/tests/testData/mover/tag6_afterUp.xml b/xml/tests/testData/mover/tag6_afterUp.xml
new file mode 100644
index 000000000000..76719edd826a
--- /dev/null
+++ b/xml/tests/testData/mover/tag6_afterUp.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+ r1="N3"
+ attr2="some"/>
+
+
+
\ No newline at end of file
diff --git a/xml/tests/testData/mover/tag7.xml b/xml/tests/testData/mover/tag7.xml
new file mode 100644
index 000000000000..f899c30813b8
--- /dev/null
+++ b/xml/tests/testData/mover/tag7.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+ attr2="some"/>
+
+
\ No newline at end of file
diff --git a/xml/tests/testData/mover/tag7_afterDown.xml b/xml/tests/testData/mover/tag7_afterDown.xml
new file mode 100644
index 000000000000..2d68b6d0343c
--- /dev/null
+++ b/xml/tests/testData/mover/tag7_afterDown.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+ attr2="some"/>
+
\ No newline at end of file
diff --git a/xml/tests/testData/mover/tag7_afterUp.xml b/xml/tests/testData/mover/tag7_afterUp.xml
new file mode 100644
index 000000000000..a6f3cf270a00
--- /dev/null
+++ b/xml/tests/testData/mover/tag7_afterUp.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+ attr2="some"/>
+
+
+
\ No newline at end of file
diff --git a/xml/tests/testData/mover/tag8.xml b/xml/tests/testData/mover/tag8.xml
new file mode 100644
index 000000000000..c44cfb31b75d
--- /dev/null
+++ b/xml/tests/testData/mover/tag8.xml
@@ -0,0 +1,16 @@
+xmlns:async="http://jboss.com/products/seam/async"
+xsi:schemaLocation=
+ "http://jboss.com/products/seam/core http://jboss.com/products/seam/core-2.0.xsd
+ http://jboss.com/products/seam/framework http://jboss.com/products/seam/framework-2.0.xsd
+ http://jboss.com/products/seam/persistence http://jboss.com/products/seam/persistence-2.0.xsd
+ http://jboss.com/products/seam/async http://jboss.com/products/seam/async-2.0.xsd
+http://jboss.com/products/seam/web http://jboss.com/products/seam/web-2.0.xsd"
+/>
\ No newline at end of file
diff --git a/xml/tests/testData/mover/tag8_afterDown.xml b/xml/tests/testData/mover/tag8_afterDown.xml
new file mode 100644
index 000000000000..d5ba11297737
--- /dev/null
+++ b/xml/tests/testData/mover/tag8_afterDown.xml
@@ -0,0 +1,16 @@
+xmlns:async="http://jboss.com/products/seam/async"
+ />
\ No newline at end of file
diff --git a/xml/tests/testData/mover/tag8_afterUp.xml b/xml/tests/testData/mover/tag8_afterUp.xml
new file mode 100644
index 000000000000..69f05250864f
--- /dev/null
+++ b/xml/tests/testData/mover/tag8_afterUp.xml
@@ -0,0 +1,16 @@
+xmlns:async="http://jboss.com/products/seam/async"
+xmlns:xsi
+ ="http://www.w3.org/2001/XMLSchema-instance"
+xsi:schemaLocation=
+ "http://jboss.com/products/seam/core http://jboss.com/products/seam/core-2.0.xsd
+ http://jboss.com/products/seam/framework http://jboss.com/products/seam/framework-2.0.xsd
+ http://jboss.com/products/seam/persistence http://jboss.com/products/seam/persistence-2.0.xsd
+ http://jboss.com/products/seam/async http://jboss.com/products/seam/async-2.0.xsd
+http://jboss.com/products/seam/web http://jboss.com/products/seam/web-2.0.xsd"
+/>
\ No newline at end of file
diff --git a/xml/tests/testData/mover/tag9.xml b/xml/tests/testData/mover/tag9.xml
new file mode 100644
index 000000000000..00b9e54f96c5
--- /dev/null
+++ b/xml/tests/testData/mover/tag9.xml
@@ -0,0 +1,15 @@
+xsi:schemaLocation=
+ "http://jboss.com/products/seam/core http://jboss.com/products/seam/core-2.0.xsd
+ http://jboss.com/products/seam/framework http://jboss.com/products/seam/framework-2.0.xsd
+ http://jboss.com/products/seam/persistence http://jboss.com/products/seam/persistence-2.0.xsd
+ http://jboss.com/products/seam/async http://jboss.com/products/seam/async-2.0.xsd
+http://jboss.com/products/seam/web http://jboss.com/products/seam/web-2.0.xsd"
+xmlns:async="http://jboss.com/products/seam/async"
+/>
\ No newline at end of file
diff --git a/xml/tests/testData/mover/tag9_afterDown.xml b/xml/tests/testData/mover/tag9_afterDown.xml
new file mode 100644
index 000000000000..706403205e66
--- /dev/null
+++ b/xml/tests/testData/mover/tag9_afterDown.xml
@@ -0,0 +1,15 @@
+xsi:schemaLocation=
+ "http://jboss.com/products/seam/core http://jboss.com/products/seam/core-2.0.xsd
+ http://jboss.com/products/seam/framework http://jboss.com/products/seam/framework-2.0.xsd
+ http://jboss.com/products/seam/persistence http://jboss.com/products/seam/persistence-2.0.xsd
+ http://jboss.com/products/seam/async http://jboss.com/products/seam/async-2.0.xsd
+http://jboss.com/products/seam/web http://jboss.com/products/seam/web-2.0.xsd"
+ />
\ No newline at end of file
diff --git a/xml/tests/testData/mover/tag9_afterUp.xml b/xml/tests/testData/mover/tag9_afterUp.xml
new file mode 100644
index 000000000000..0cca26139769
--- /dev/null
+++ b/xml/tests/testData/mover/tag9_afterUp.xml
@@ -0,0 +1,15 @@
+xsi:schemaLocation=
+ "http://jboss.com/products/seam/core http://jboss.com/products/seam/core-2.0.xsd
+ http://jboss.com/products/seam/framework http://jboss.com/products/seam/framework-2.0.xsd
+ http://jboss.com/products/seam/persistence http://jboss.com/products/seam/persistence-2.0.xsd
+ http://jboss.com/products/seam/async http://jboss.com/products/seam/async-2.0.xsd
+http://jboss.com/products/seam/web http://jboss.com/products/seam/web-2.0.xsd"
+xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+xmlns:async="http://jboss.com/products/seam/async"
+/>
\ No newline at end of file
diff --git a/xml/tests/testData/mover/tag_afterDown.xml b/xml/tests/testData/mover/tag_afterDown.xml
new file mode 100644
index 000000000000..7a947dd31472
--- /dev/null
+++ b/xml/tests/testData/mover/tag_afterDown.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/xml/tests/testData/mover/tag_afterUp.xml b/xml/tests/testData/mover/tag_afterUp.xml
new file mode 100644
index 000000000000..dc240075a460
--- /dev/null
+++ b/xml/tests/testData/mover/tag_afterUp.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/xml/tests/testData/navigateactions/after1.html b/xml/tests/testData/navigateactions/after1.html
new file mode 100644
index 000000000000..4612f98f4949
--- /dev/null
+++ b/xml/tests/testData/navigateactions/after1.html
@@ -0,0 +1,41 @@
+
+
+
+
+
+fdgsd
+
+
+dsfgsdgfdg
+
+
+ 1
+ 2
+ 3
+ 3
+ 3
+ 3
+ 3
+ .
+ 3
+ 3
+ 3
+ 3
+ 4
+ 1
+
+
+ 1
+ 2
+ 1
+
+
+ 1
+ 2
+ 3
+ 1
+
+
+
+
\ No newline at end of file
diff --git a/xml/tests/testData/navigateactions/after2.xhtml b/xml/tests/testData/navigateactions/after2.xhtml
new file mode 100644
index 000000000000..6f8d2ed0937e
--- /dev/null
+++ b/xml/tests/testData/navigateactions/after2.xhtml
@@ -0,0 +1,41 @@
+
+
+
+
+
+fdgsd
+
+
+dsfgsdgfdg
+
+
+ 1
+ 2
+ 3
+ 3
+ 3
+ 3
+ 3
+ .
+ 3
+ 3
+ 3
+ 3
+ 4
+ 1
+
+
+ 1
+ 2
+ 1
+
+
+ 1
+ 2
+ 3
+ 1
+
+
+
+
\ No newline at end of file
diff --git a/xml/tests/testData/navigateactions/after3.jsp b/xml/tests/testData/navigateactions/after3.jsp
new file mode 100644
index 000000000000..b97ee9e2eb88
--- /dev/null
+++ b/xml/tests/testData/navigateactions/after3.jsp
@@ -0,0 +1,69 @@
+
+
+
+
+ fdgsd
+
+
+dsfgsdgfdg
+
+
+
+
+
+
+ 1
+ 2
+
+
+ 1
+ 2
+ 5
+ 2'
+ 3
+
+
+ 1
+ 2
+
+
+ 1
+ 2
+ 3
+ 3
+
+
+ 1
+ 4
+
+
+ 1
+ 2
+ 5
+
+
+ 1
+ 2
+ 3
+
+
+
+ 1
+
+
+ 2
+ 3
+ 2
+ 4
+
+
+ 1
+ 2
+ 7
+ 3
+ 4
+ 5
+
+
+
+
\ No newline at end of file
diff --git a/xml/tests/testData/navigateactions/after4.jspx b/xml/tests/testData/navigateactions/after4.jspx
new file mode 100644
index 000000000000..482c81f25f2c
--- /dev/null
+++ b/xml/tests/testData/navigateactions/after4.jspx
@@ -0,0 +1,69 @@
+
+
+
+
+ fdgsd
+
+
+dsfgsdgfdg
+
+
+
+
+
+
+ 1
+ 2
+
+
+ 1
+ 2
+ 5
+ 2'
+ 3
+
+
+ 1
+ 2
+
+
+ 1
+ 2
+ 3
+ 3
+
+
+ 1
+ 4
+
+
+ 1
+ 2
+ 5
+
+
+ 1
+ 2
+ 3
+
+
+
+ 1
+
+
+ 2
+ 3
+ 2
+ 4
+
+
+ 1
+ 2
+ 7
+ 3
+ 4
+ 5
+
+
+
+
\ No newline at end of file
diff --git a/xml/tests/testData/navigateactions/before1.html b/xml/tests/testData/navigateactions/before1.html
new file mode 100644
index 000000000000..1b4b1a7d970c
--- /dev/null
+++ b/xml/tests/testData/navigateactions/before1.html
@@ -0,0 +1,41 @@
+
+
+
+
+
+fdgsd
+
+
+dsfgsdgfdg
+
+
+ 1
+ 2
+ 3
+ 3
+ 3
+ 3
+ 3
+ .
+ 3
+ 3
+ 3
+ d>3
+ 4
+ 1
+
+
+ 1
+ 2
+ 1
+
+
+ 1
+ 2
+ 3
+ 1
+
+
+
+
\ No newline at end of file
diff --git a/xml/tests/testData/navigateactions/before2.xhtml b/xml/tests/testData/navigateactions/before2.xhtml
new file mode 100644
index 000000000000..898bdf600227
--- /dev/null
+++ b/xml/tests/testData/navigateactions/before2.xhtml
@@ -0,0 +1,41 @@
+
+
+
+
+
+fdgsd
+
+
+dsfgsdgfdg
+
+
+ 1
+ 2
+ 3
+ 3
+ 3
+ 3
+ 3
+ .
+ 3
+ 3
+ 3
+ 3
+ 4
+ 1
+
+
+ 1
+ 2
+ 1
+
+
+ 1
+ 2
+ d>3
+ 1
+
+
+
+
\ No newline at end of file
diff --git a/xml/tests/testData/navigateactions/before3.jsp b/xml/tests/testData/navigateactions/before3.jsp
new file mode 100644
index 000000000000..3a6da5b9d3ec
--- /dev/null
+++ b/xml/tests/testData/navigateactions/before3.jsp
@@ -0,0 +1,69 @@
+
+
+
+
+ fdgsd
+
+
+dsfgsdgfdg
+
+
+
+
+
+
+ 1
+ 2
+
+
+ 1
+ 2
+ 5
+ 2'
+ 3
+
+
+ 1
+ 2
+
+
+ 1
+ 2
+ 3
+ 3
+
+
+ 1
+ 4
+
+
+ 1
+ 2
+ 5
+
+
+ 1
+ 2
+ 3
+
+
+
+ 1
+
+
+ 2
+ 3
+ 2
+ 4
+
+
+ 1
+ 2
+ 7
+ 3
+ 4
+ 5
+
+
+
+
\ No newline at end of file
diff --git a/xml/tests/testData/navigateactions/before4.jspx b/xml/tests/testData/navigateactions/before4.jspx
new file mode 100644
index 000000000000..b97ee9e2eb88
--- /dev/null
+++ b/xml/tests/testData/navigateactions/before4.jspx
@@ -0,0 +1,69 @@
+
+
+
+
+ fdgsd
+
+
+dsfgsdgfdg
+
+
+
+
+
+
+ 1
+ 2
+
+
+ 1
+ 2
+ 5
+ 2'
+ 3
+
+
+ 1
+ 2
+
+
+ 1
+ 2
+ 3
+ 3
+
+
+ 1
+ 4
+
+
+ 1
+ 2
+ 5
+
+
+ 1
+ 2
+ 3
+
+
+
+ 1
+
+
+ 2
+ 3
+ 2
+ 4
+
+
+ 1
+ 2
+ 7
+ 3
+ 4
+ 5
+
+
+
+
\ No newline at end of file
diff --git a/xml/tests/testData/navigateactions/before8.xml b/xml/tests/testData/navigateactions/before8.xml
new file mode 100644
index 000000000000..1b4b1a7d970c
--- /dev/null
+++ b/xml/tests/testData/navigateactions/before8.xml
@@ -0,0 +1,41 @@
+
+
+
+
+
+fdgsd
+
+
+dsfgsdgfdg
+
+
+ 1
+ 2
+ 3
+ 3
+ 3
+ 3
+ 3
+ .
+ 3
+ 3
+ 3
+ d>3
+ 4
+ 1
+
+
+ 1
+ 2
+ 1
+
+
+ 1
+ 2
+ 3
+ 1
+
+
+
+
\ No newline at end of file
diff --git a/xml/tests/testData/performance/IndentUnindent.xml b/xml/tests/testData/performance/IndentUnindent.xml
new file mode 100644
index 000000000000..43d183aa3e65
--- /dev/null
+++ b/xml/tests/testData/performance/IndentUnindent.xml
@@ -0,0 +1,3361 @@
+
+
+
+ a.st.stein@gmx.net
+ aaalso
+ abbaust
+ abbekommst
+ abbekommt
+ abbr?_ch
+ abbuchung
+ abdeckungen
+ abdriften
+ abe^hitzl
+ abenteu
+ abenteuerlichen
+ abholari
+ abholpaket
+ abholt
+ abh?�ngt
+ abh?ren
+ abkleben
+ abk?_rzungen
+ ablassen
+ abner
+ abraham
+ abrechnungstakt
+ abrechnungszeitraum
+ abred
+ abrei?_endem
+ abroad
+ abruf
+ abschl?�gig
+ abschrecken
+ absendet
+ absichtlich
+ absoluten
+ abspecken
+ abspielf?�hig
+ absterben
+ abstrahlen
+ abstrus
+ abstuerzt
+ absturzsicherheit
+ abtun
+ abundzu
+ abwechselnd
+ abwinken
+ abw?�g
+ abzahlst
+ abzeichnen
+ abzock
+ abzutun
+ accessoir
+ accessori
+ achim
+ achtet
+ acknowledg
+ acm
+ actionspielen
+ actual
+ adac
+ adam
+ addin
+ adult
+ advanx
+ advic
+ aehm
+ aein
+ aem
+ aesch
+ afairc
+ agilemobil
+ aknowledge
+ albernheit
+ albrecht
+ aldo
+ alfr
+ alleinstehenden
+ allenfals
+ aloha
+ altbekannten
+ altersbedingt
+ alterung
+ amper
+ andersen
+ anderw?�rtig
+ andre
+ andr?c
+ anerkannten
+ anerkennen
+ anfeinden
+ anfeindung
+ angeberhandi
+ angedeutet
+ angela
+ angeleiert
+ angemacht
+ angemailt
+ angrinst
+ ankam
+ anklingl
+ ankopiert
+ ankopplung
+ anmeldest
+ anmerken
+ ansosnsten
+ ansonsten
+ ansteuerbar
+ anst?pseln
+ anybodi
+ anzapfen
+ anzustinken
+ armselig
+ assemblierung
+ astrein
+ augenkrebs
+ augenweide
+ autsch
+ auweia
+ awk
+ babi
+ bartsch
+ beidem
+ beider
+ beiderseitig
+ beizeiten
+ beizubehalten
+ bejaen
+ benelux
+ bern
+ ber?_hmt
+ beschaltet
+ bescheuert
+ beschleicht
+ bewaldet
+ bewandert
+ beweglich
+ bezueglich
+ bezugm?glichkeiten
+ be?tigt
+ binder
+ bird
+ bischl
+ bisserl
+ bissig
+ bon
+ bonk
+ bordel
+ borg
+ bormann
+ branch
+ braunarsch
+ braun?�rschen
+ brit
+ brite
+ bum
+ californian
+ cannstadt
+ cannst?�dter
+ castro
+ cheap
+ cheaper
+ checkt
+ chrisi
+ dachtest
+ dahingehend
+ dahinrafft
+ dankend
+ dankt
+ daruaf
+ darauf
+ dazugeh?renden
+ dazugeh?rig
+ dazugeh?rigen
+ dazustellen
+ dazwischenfunkt
+ dazwischenliegen
+ deaktivierbar
+ des?fteren
+ detlef
+ deutet
+ deutschalnd
+ dildo
+ draufgespielt
+ draufgestossen
+ draufkopiert
+ drauflosschreibst
+ draufmachen
+ draufpacken
+ drauftun
+ draufzulegen
+ draufzuspielen
+ dreist
+ dreister
+ drinhatt
+ drinsteckt
+ dr?_ben
+ dunkelheit
+ dunkelt
+ durchforstet
+ durchgehalten
+ duschen
+ d?_mmer
+ d?_mmlich
+ d?_mmsten
+ d?_nnste
+ d?_rft
+ d?_rftest
+ eckert
+ ehem
+ ehhh
+ einsenden
+ einstein
+ elektrischen
+ elektromagnetisch
+ elmar
+ ensprechend
+ ergonomischst
+ erhaeltlich
+ erhardt
+ eventuellen
+ fahrend
+ fahrerei
+ faltbar
+ fanden
+ fangen
+ feinen
+ feinheit
+ feinheiten
+ festgehalten
+ festgelegten
+ festgezurrt
+ fidel
+ firebird
+ firefox
+ frahlmann
+ freebsd
+ fritsch
+ frodo
+ frueh
+ fuck
+ fuji
+ fuktion
+ fummelig
+ fummlig
+ funkend
+ f?rmlich
+ f?_hle
+ f?_nfer
+ f?_nffach
+ f?_nfte
+ f?_nfthandi
+ gedr?_ckhalten
+ gehansel
+ gehauen
+ geisler
+ genua
+ gequirlt
+ gequirlten
+ gesaugten
+ geschaut
+ gew?hnlichen
+ glatt
+ gleichartig
+ glock
+ grell
+ grellen
+ grottenschlecht
+ gr?_n
+ guckt
+ hanisch
+ happahappa
+ hartmann
+ hauaha
+ hee
+ heidenreich
+ heinrich
+ herbert
+ herrmann
+ hilbert
+ hinauszuschauen
+ hinauszuschreiben
+ hineinbekommen
+ hineininterpretiert
+ hineinschreiben
+ hin?_ber
+ hipp
+ hire
+ hk
+ hoden
+ hodensack
+ hoerensagen
+ homo
+ h?�ndisch
+ h?flicherweise
+ igitt
+ internem
+ irendwo
+ irgendwann
+ irgendein
+ italian
+ jack
+ jaensch
+ jakob
+ jan
+ jefferson
+ jens
+ jetzt
+ jetzigen
+ joachim
+ jochen
+ joerg
+ joga
+ john
+ judith
+ juni
+ karlheinz
+ karpowitz
+ karsten
+ kg
+ knackt
+ knips
+ kn?_ller
+ kontra
+ kurzum
+ kyrillischen
+ k?nnte
+ k?rpereigen
+ k?rperseiten
+ k?_ndigt
+ k?_nftig
+ k?_rze
+ laenger
+ la?_t
+ leergezogen
+ lehel
+ leiern
+ leisem
+ leo
+ letzlich
+ lincoln
+ lisa
+ macaroni
+ martin
+ mark
+ max
+ mcdonald
+ merkel
+ mirco
+ mobi
+ mobile2dai
+ mobilemast
+ mobilewindoof
+ mobilfunkanbiet
+ mobilfunkbetreib
+ mobilfunkspezialisten
+ mobilfunktelefon
+ mobilfunkunternehmen
+ mobilfunkvertrag
+ mobilnetz
+ mobiltel
+ mobtec
+ modellierung
+ modemsymbol
+ modemtreibern
+ modemtyp
+ modemverbindung
+ moderiert
+ modern
+ modernst
+ modicapagov
+ modifik
+ modu
+ modulen
+ moechten
+ moechtest
+ moeglichst
+ mohbeil
+ moher
+
+ mord
+ moremsg
+ motorla
+ motto
+ mount
+ movabl
+ mqt23ft3mnguifqzjyaqzworj7uqqkkmlgszjn2puelfs8ms2aue2t2oluyqtzxspi4pwkhj
+ msg
+ msiexec
+ mtc
+ mtv
+ muenster
+ mulder
+ mulitmediacard
+ multibankf?�hig
+ multimediaanwendungen
+ multimediaplay
+ musikdateien
+ musikh?ren
+ musktitel
+ muster
+ mute
+ mu?_e
+ mv@pdv-systeme.d
+ mvp0ihtyyr6uk2jaotjuxgt70r7rozmfkqk3ycbnj1ohqjma14vtnp2whvkktoaqdupsb61x
+ mysteri?s
+ m?_uesst
+ m?_?glichst
+ m?_???_?_test
+ m?�nnerstimm
+ m?�rkte
+ m?�rz
+ m?�use
+ m?cht
+ m?chtetst
+ m?glichkeinen
+ m?hre
+ m?_helo
+ m?_sst
+ m?_?_test
+ n'abend
+ n3330
+ n6210
+ n910
+ n917
+ n9cia1lvd1vd9ntqjulo29rf8fmn2c06rq@4ax.com
+ nachbauprodukt
+ nacheinand
+ nacherf?_llungsschuldn
+ nachgebessert
+ nachgeholt
+ nachgekauft
+ nachgekauften
+ nachgelesen
+ nachgeliefert
+ nachgeruestet
+ nachgetragen
+ nachinstallieren
+ nachkonfigurieren
+ nachnahm
+ nachpr?_fen
+ nachregeln
+ nachrichteneingang
+ nachrichtenmagazin
+ nachrichtent?n
+ nachr?_startikel
+ nachschlagewerk
+ nachst?bern
+ nachtdienst
+ nachtisch
+ nachtmodu
+ nachtrsigmglich
+ nachudenken
+ nachwei
+ nachwievor
+ nachwuchsprodukt
+ nachzahlen
+ nachzulesen
+ nachzumachen
+ nachzur?_sten
+ nachzuschauen
+ nachzusehen
+ nachzuvollziehen
+ nachzuw?�hlen
+ nackt
+ nafol
+ nafop
+ nagel
+ nahaufnahmen
+ nahegelegt
+ naheliegendst
+ nahem
+ naher
+ nahtlo
+ nahu
+ naiv
+ name=patches_
+ namenslist
+ namespac
+ nanana
+ nanu
+ nasen
+ nass
+ natasigan
+ natimeripi
+ navdvf8a1p5x8dmabzfmkp8amazzhu3noo5u57d2rwzpiazizcfkaicjskwtq86yqelpj71l
+ navigationsger?�t
+ navigationsprogamm
+ navigationssystemen
+ na?_
+ nbertragen
+ nde
+ ndwann
+ nearli
+ nebel
+ nebelbomben
+ nebenan
+ nebenbemerkungen
+ nebenwirkungen
+ nef
+ neidisch
+ nemerix
+ nenen
+ nenenswert
+ nennspannung
+ nero
+ nervenfutt
+ nervton
+ nervt?tenden
+ nerv?
+ netcom
+ netikett
+ netiquett
+ netphon
+ nettigkeiten
+ netzbetreibern
+ netzeinstellungen
+ netzfunkt
+ netzintern
+ netzlock
+ netzseitigen
+ netzstandard
+ netztbetreib
+ netzzugang
+ neuauflag
+ neubauer
+ neubaustreck
+ neubooten
+ neueinbuchungen
+ neuentwicklung
+ neuesm
+ neuester
+ neugestarteten
+ neugierig
+ neustartoptionen
+ neusten
+ neuteil
+ neuwagen
+ neuwertig
+ neuwertigen
+ news06-05@herr-der-mails.de
+ news@tofu.us
+ newsgroup@rlaue.de
+ newsgruppen
+ newsreader@unterderbruecke.de
+ newstick
+ ng_umleitung@spamfence.net
+ ngig
+ nhar
+ nicht_
+ nichtanzeig
+ nichtfl?_chtigen
+ nichtfunktionierendem
+ nichtfunktionierenden
+ nichtoriginalen
+ nichtsaussagenden
+ nichtssagend
+ nicht?_bereinstimmung
+ nid
+ niedergelegt
+ niederl?_??ndisch
+ niederl?�ndisch
+ niederl?�ndischen
+ niedrigen
+ nietzsch
+ nil
+ nintendo
+ nn
+ nnqrkxuvsg7tobrdt0dzpvutrorgp7lyonkjkh8ipgnc5hfav0ehhdaldtixvimc12lwnp71
+ no_email_@gmx.net
+ nocturne@doomnet.d
+ nodec
+ nofal
+ nofop
+ nokiaartig
+ nokiaerfahrenen
+ nokiah?�ndl
+ nokiastor
+ noll
+ nomorespam@onlinehome.de
+ none@home
+ nonplusultra
+ norb
+ nordenham
+ normalewrweis
+ normalfal
+ normalprofil
+ normalus
+ nosaxilom
+ nospam@christian-althoff.de
+ nospam@nospam.com
+ nospam_at_news@kaffeeschluerfer.com
+ nossil
+ notapothek
+ notarzt
+ notaufnahmepatienten
+ notbehelf
+ notieren
+ notiz
+ notizzettel
+ novemb
+ ns
+ nsfs6z47vpjf9lis8gt8u9pdimutrjxy3r6r2ijukpbjlbt23v4dqpqkzbyc8j0rc31w5azo
+ nste
+ nt
+ nu0oir6u7ecippeaehjznvswpqg80d70pwibh50kirezwyegstxsx5bincbhvssf25bnzmnc
+ nuhec
+ nullen
+ num=20&hl=de&q=remote+p900+download&btng=suche&meta=lr%3dlang_d
+ numerischen
+ nummerierung
+ nummernwechsel
+ nummmer
+ nunmehr
+ nurmehr
+ nutcrack
+ nutzanwendern
+ nutzern
+ nutzerprofil
+ nutzerwechsel
+ nutzungen
+ nutzungsabh?�ngigen
+ nutzungsgewohnheiten
+ nutzungsverhalten
+ nutzwert
+ nvkrvi83i6vl8yyjecm5kkyce1tnxp20l5rnwjesblgds9j7xuv0mmdugqei0xyy9zjtmhta
+ nvsym9xe0siaceipdakacfwmtajlnyxeczswikdcd3nkbmyagmb7e9ayogece5aoovjzgqbo
+ nx7000
+ nyxclock
+ n|b|r|f
+ n?_?tig
+ n?_??chste
+ n?�chstem
+ n?�chstgelegen
+ n?�hmlich
+ n?ig
+ n?_rnberger
+ n?_tzlichem
+ n?_x
+ o'keeff
+ o2?-estim
+ o5oipac0s96l6yrexg1jitihsqfejr5nfarrc0bzxedicnihnjnnamiffgd9qikaurmgay1d
+ obendrein
+ oberwellen
+ obgleich
+ objekten
+ obligatorischen
+ obskur
+ oeffentlich
+ oefter
+ oem
+ offenhat
+ offtop
+ og
+ oginalen
+ ohnedi
+ okt
+ oktob
+ olaf@criseis.ruhr.de
+ oled-au?_?_endisplai
+ olt
+ olympu
+ omi
+ omin?s
+ onetoucheasi
+ ongo
+ onkel
+ ontop
+ ooop
+ openoffic
+ openvm
+ opera
+ operieren
+ opma
+ optimistisch
+ optimum
+ option=com_content&task=view&id=485
+ option=com_content&task=view&id=511
+ optional
+ optoinen
+ oral
+ ordentliceh
+ ordin?�r
+ ordnern
+ ordnerpositionen
+ ordnerstruktur
+ ordnungsgem?�?_
+ organismu
+ orginalkabel
+ orientierung
+ orientierungshilf
+ original
+ originalakkublock
+ originaldatei
+ originalgr??_
+ originaltasch
+ originalvers
+ orten
+ orth
+ ortmann
+ ortsbezeichnung
+ osteurop?�ischen
+ osthoff
+ ott
+ ottxvi2fi5soby7ufrtbuziqsuiu0yfk2joohkpyguymcrg7pm06uhsqmuguourm95p0nubu
+ oudtoor
+ oukxgukfcsyfchqrgbqoukxgukfcsyfchqrgbqoukxgukfcsyfchqrgbqoukxgukfcsyfchq
+ outback
+ outbank
+ outdoor
+ outllok
+ overlap
+ overs
+ ovipesmuahhpiplane80sidqixec1gncvuciersjxx7uygimtxrcqkvsahm8rmoigfsopvim
+ oxygenephonemanag
+ oxygensoftwar
+ o|
+ o|o|
+ o?_-brand
+ o?�
+ p.wiemann@t-online.de
+ p7389
+ paaren
+ packet
+ packung?ffnen
+ paduck
+ paferi
+ pagal
+ pai
+ paint
+ palmdesktop
+ palmon
+ pampig
+ pan.2005.07.14.14.30.14.794496@arcor.d
+ panel
+ panikmach
+ pap
+ papiertaschentuch
+ pappen
+ parachut
+ paradox
+ paranoia
+ parkuhr
+ partout
+ passendend
+ passiern
+ passworteingab
+ pasta
+ pattern
+ paul.dorn@bnv-bamberg.de
+ pausen
+ payment
+ pcsync
+ pda??
+ pdid=hz514&catid=4013&rate=5&vid=913
+ pdp
+ pdu
+ pedahepanu
+ pedda@balthaus.net
+ peiffer
+ penefor
+ penetrant
+ peon
+ percal
+ perfect
+ performanceproblem
+ perl
+ perplex
+ persoenlich
+ perspekt
+ perversl
+ peter.koerberno_spam@freesurf.ch
+ peter.loos@web.de
+ petir
+ peuss
+ pev
+ pevapagol
+ pfabigan
+ pferd
+ pfingsten@netcologne.de
+ pflege
+ pflegen
+ pflegeresourcen
+ pflichten
+ pflock
+ pforzheim
+ pfuschig
+ pf?rtner
+ pgp-schl???_ssel
+ ph
+ philosoph
+ philosophi
+ phne
+ phoneid=328&countryid=13&bearerid=5&contractid=191&sitelanguageid=124&captchaenabled=true&step=netwo
+ photo
+ phun
+ physic
+ physiologisch
+ pickel
+ pictbridg
+ piepser
+ piepton
+ pik@amigo.ping.d
+ pillen
+ pinior
+ pintan
+ pipelin
+ pitumateho
+ pivep
+ pjsacvli3feypkiklqzzxukpiiofm55puqojfztmuqthseakm3e0wwd6kkdirisyhnmapha
+ plackerei
+ plan
+ planki
+ plantron
+ planungen
+ plastikbeutel
+ plastikk?�fig
+ platinfish@gmx.ch
+ platzgr?_nden
+ platzmangel
+ plauzi
+ plauzi@gmx.d
+ playlisten
+ pleitewel
+ plenkt
+ pluspunkt
+ pluto1025@gmx.de
+ pl?tzlichen
+ po
+ pocekesot
+ pocketword
+ pogorzelski
+ pointer
+ pointiert
+ polchi
+ polemik
+ pool
+ poppen
+ popper
+ poppt
+ popup
+ por
+ portabl
+ porti
+ portugisisch
+ post@michael-dahmen.d
+ postadressen
+ poster
+ postid=149729#post149729
+ postit
+ potenti
+ potentiel
+ potenz
+ potenziel
+ potxdmniezrke9z86v8ar13iqrzwb1jlnjdyebgsamu97kkpbjrm1fdruodu5yn86vatmccu
+ powerbook
+ powerleucht
+ poxenuhod
+ pp
+ ppc2002
+ praechtig
+ praep@freenet.de
+ praesentieren
+ praktikabel
+ praktischerweis
+ praxisfremd
+ praxistauglich
+ praxistest
+ preced
+ preinstal
+ preisgef?_g
+ preisg?_nstiger
+ preisobergrenz
+ preisskala
+ preisverd?�chtig
+ preiszugeben
+ preller
+ prepaidkarten
+ prepaidpacks_
+ presst
+ pretoria
+ prevent
+ previous
+ prg
+ prgcxc125873_eu_1_a
+ price
+ prickelnd
+ primatenabteilung
+ prinzp
+ prite
+ privatbereich
+ privatdaten
+ privatisierung
+ privilegien
+ probem
+ products_id=1854
+ produktgenerationen
+ produktionsdatum
+ produktionsfehl
+ produktionsseri
+ produktmanag
+ produktseit
+ produktsuch
+ professionellen
+ proffesionel
+ profilanweisung
+ profilverwaltung
+ profil?�nderungen
+ profitabel
+ profitorientiert
+ programmanbiet
+ programmdownload
+ programmierkenntniss
+ programmiersprach
+ programmmen?_punkt
+ prominent
+ promis
+ prommer
+ proper
+ properit?_??r
+ properti
+ proport
+ propos
+ proprietaer
+ propriet?�r
+ propriet?�rem
+ protect
+ protocolstack
+ protokolldatei
+ protokollieren
+ protokolllierungsoptionen
+ providerabh?�ngig
+ provisioniert
+ provoziert
+ prozesskostenrechnung
+ prozessoren
+ prozessorlast
+ prozessorleistung
+ pr?�sent
+ pr?�sentiert
+ pr?�zise
+ pr?_fling
+ pr?_fsumm
+ psy
+ ptt
+ puffer
+ puh
+ pull
+ pulsung
+ punkten
+ punktet
+ pure
+ purer
+ putzen
+ pw
+ pxa
+ python
+ p|e|c|m|s|o|d|a|u|v
+ q=29+euro+group%3ade.comm.geraete.mobil.siemens&qt_s=such
+ qd
+ qdgt9kupbxbqrqucpideepnmlhgfemu0ui6di1iiokpwgfksrqznkehhpnilyyp1flbxtsf
+ qkjk3lyb0pfezf2hoqejdztuglz9485ofau0fsm6uepeeksownywxxnsciuqfts072pfwqv8
+ qrifcn0ovrihirdrcij7cciaiwcgtzwthfqyaile5egixmszjon24on7clokyzrho5prkxaw
+ qrwz2yaahemacacdcpq0wdne0on27vnqzotjaemujqpqadnvnpwspuyyplxkeadnfbay0n9j
+ qtech
+ quadantenn
+ qualiti
+ qualit?_??t
+ qualit?�tsstufen
+ qualit?�tsverlust
+ quarter
+ quengeln
+ quergelesen
+ quickbutton
+ quickoffic
+ quicksync
+ quittiet
+ quittung
+ quittungst?n
+ quizfrag
+ quoten
+ qu?�kig
+ qyrsypbnjm8xokdmakqvaskugnspnrxuabpsicak2yq6gnip7t3dzuiwoqaqtij0odikz2qi
+ r.tietje@gmx.net
+ r1j002
+ r2ai
+ r2ay004
+ r310
+ r520
+ ra
+ ra0iakyimlidjnadkgzohftshvbfsodnaaje0yyekuvbheh1rx8goakgkpjikmlwfzpqxix
+ racoons@gmx.net
+ rad
+ radik
+ radiofrequenzen
+ radion
+ radiostream
+ radiu
+ raimon
+ rainerklingenberg@hotmail.com
+ rais
+ rajah
+ ral
+ ralav
+ ralli
+ ralo
+ rambo
+ randbemerkung
+ randomli
+ rane
+ rang
+ rapememet
+ rapid
+ rare
+ rasend
+ raskin
+ rassistischen
+ rateb
+ ratschlaeg
+ ratten
+ raufbringen
+ rausbekommt
+ rausbringt
+ rauscht
+ rausgeholt
+ rausgekomen
+ rausgesucht
+ rauslesen
+ rausreissen
+ rauszufinden
+ rautetast
+ rd
+ rde
+ rden
+ reaktivierung
+ realem
+ realisierbar
+ realit?�ten
+ realplay
+ rebootfunkt
+ recheckschwingungungen
+ rechenzentren
+ recherch
+ rechnenexempel
+ rechnern
+ rechtm?�?_igen
+ rechtsanwalt
+ rechtschreibfehl
+ rechtswidrigen
+ rechtzeititg
+ recipi
+ recognit
+ redirect
+ redmond
+ redund
+ referenz
+ reflect
+ reflexartig
+ refus
+ regalen
+ regardless
+ regelmaessig
+ regelrecht
+ regelst
+ regelt
+ regelungen
+ regen
+ region
+ registr
+ registriercod
+ regulierung
+ regul?�ren
+ reiehenfolg
+ reifen
+ reindeer
+ reinfal
+ reingefallen
+ reingesteckt
+ reingetaucht
+ reinigung
+ reinimplementiert
+ reinkam
+ reinkommen
+ reinkommt
+ reinkriegen
+ reinlauf
+ reinmachen
+ reinmachst
+ reinrufen
+ reinstecken
+ reinst?pseln
+ reintun
+ reinzuf?�llig
+ reis
+ reiser
+ reissen
+ reiter
+ reizt
+ reject
+ reklamationen
+ rel
+ relat
+ relevant
+ reliabl
+ reluct
+ rememb
+ removeaempir
+ removethi
+ renesa
+ rennt
+ renommierten
+ reparaturdienst
+ reparaturkennung
+ reparaturoptionen
+ reparaturvertrag
+ reparier
+ repertoir
+ replizieren
+ replyto
+ reppenhagen
+ request
+ reserveger?�t
+ reservierung
+ respond
+ respons
+ ressourcen
+ restlaufzeit
+ restriktiv
+ result
+ resultat
+ resum
+ retten
+ reuss
+ reveal
+ revolution?�r
+ rewind
+ rfs@mail.org
+ rg7qdwnttslvvpjqd1bgv6xrcnaqkfhycoainu7f3dkhrhebuy12yk1hzottkxsppteq7wgu
+ rgbt9ghocrhippcfyeiam275kccafslk2imnw7efzainowx5eaqccpslju30d0a7radnaksz
+ rhode
+ ric
+ richt
+ richtigem
+ richtigzustellen
+ riesenaufwand
+ riexing
+ rigaweg
+ rio
+ riskieren
+ rkb@directbox.com
+ rn
+ rnfeind
+ ro
+ roamingbedingungen
+ robin
+ rofidacima
+ rogramm
+ rohotanimir
+ rollbar
+ rollt
+ rolo
+ roof
+ ropamumetol
+ rose
+ rosig
+ rosina
+ rotflbtc
+ rotflol
+ roth
+ rotwein
+ routenberechnung
+ routenplan
+ routinem?�?_ig
+ routiniert
+ rovehifa
+ rpfqrmgoiq41wnqs28a9kgznukq9rayxdaj0rpi7r4nqftiwisbx704i5jtokbkkh3iliymt
+ rs232
+ rsap
+ ru1
+ ruckizucki
+ ruebergekommen
+ rueckfrag
+ rueckmeldungen
+ rueckrufen
+ rufannahmeverz?gerung
+ ruflist
+ rufnummernuebermittlung
+ rufnummernunterdr?_ckung
+ rufst
+ ruftonlautst?�rk
+ ruft?_?n
+ ruh
+ ruhigen
+ ruhotinemar
+ ruinieren
+ ruin?s
+ rule
+ rumdr?_cken
+ rumfliegen
+ rumfliegt
+ rumforschen
+ rumgefummelt
+ rumgelaufen
+ rumlaufen
+ rumprobieren
+ rumq?�ken
+ rumspazieren
+ rumspielst
+ rumstehen
+ rumzuspinnen
+ rumzu?�rgern
+ runderneurten
+ rundfunkbereich
+ runterf?�llt
+ runtergerittenen
+ runtergesicherten
+ runterlad
+ runterspuelen
+ russichen
+ rut
+ rv
+ rxwkmegdupeqwwpdoi2jiijnhpqt7vhnaj0pgwpisvlaiqdfkxmanvmgbe0regpbfjbwflsm
+ r?_??tsel
+ r?�nder
+ r?�uberpistolen
+ r?�umt
+ r?delt
+ r?ntgenstrahlung
+ r?_ckdeckel
+ r?_cken
+ r?_ckgelieferten
+ r?_ckg?�nfig
+ r?_ckg?�ngig
+ r?_ckl?�ufer
+ r?_ckruf
+ r?_cksendung
+ r?_ckspielen
+ r?_cktritt
+ r?_sten
+ s&e-pack
+ s.hz.tg@arcor.de
+ s.mitch@gmx.d
+ s200
+ s25@nce
+ s288
+ s65er
+ s65v
+ s80
+ s9z06dhu5iew.dlg@newsfqdn.net.dhis.org
+ s=&threadid=134246&pagenumber=4
+ s=&threadid=166047&highlight=pushtotalk
+ s=&threadid=167413
+ sa
+ sabin
+ sachdienlich
+ sachlichen
+ sachm?_??ngelhaftung
+ sachm?�ngelhaftung
+ sadasacowot
+ sadismu
+ saemtlich
+ saetzen
+ safarigr?_n
+ safe
+ sahen
+ sahra
+ sakura
+ sal
+ saldenabfrag
+ saldo
+ salopp
+ salv
+ samenzellen
+ samimogemun
+ sampl
+ samt
+ sanddisk
+ sandisc
+ sanduhr
+ sanfter
+ sank
+ sarati
+ sarek
+ sash
+ sasirolavo
+ satelliten
+ sattler2000@gmx.de
+ sattsam
+ sauberen
+ sauerei
+ sauerkraut
+ saufen
+ saugnapf
+ savvi
+ scene
+ schablon
+ schaefer@bioinf.uni-sb.d
+ schaltelektronik
+ schand
+ scharfstellen
+ schatten
+ schatz
+ schatzamt
+ scheib
+ scheif
+ scheitern
+ schema
+ scheme
+ schichten
+ schichtplan
+ schieben
+ schiebeschalt
+ schien
+ schiessen
+ schiesst
+ schie?_en
+ schildert
+ schili
+ schimpft
+ schlaf
+ schlage
+ schlagen
+ schlagwaff
+ schleifen
+ schleifpapi
+ schlichtus
+ schltet
+ schlug
+ schlu?_
+ schl?�ge
+ schl?_sse
+ schmalbr?_stig
+ schmalhof
+ schmecken
+ schmetterling
+ schmunzeln
+ schmutzig
+ schnap
+ schnappsch?_ss
+ schneckenhaft
+ schneiden
+ schnellen
+ schnellst
+ schnickschnackspielzeug
+ schnipp
+ schnittstellenbeschaffenheit
+ schnitzer
+ schnupp
+ schnurlosen
+ schnurlostelefon
+ schn?selig
+ schn?selniveau
+ schob
+ schoben
+ schomal
+ schonbez?_g
+ schonn
+ schooeeeen
+ schraubenzieh
+ schraubst
+ schreckt
+ schrei
+ schreibend
+ schreibrecht
+ schreibtisch
+ schreibtischlad
+ schreibvorgang
+ schrein
+ schreitet
+ schriftarten
+ schriftbild
+ schriftlich
+ schriftstueck
+ schriftverkehr
+ schriftz?_gen
+ schrill
+ schrottig
+ schr?_?der
+ schr?�nkt
+ schuenemann
+ schuf
+ schultern
+ schultz
+ schutzklausel
+ schutzsoftwar
+ schwachpunkt
+ schwachsinnigen
+ schwaecher
+ schwandtner@uni-mainz.de
+ schwankend
+ schwarzem
+ schwarzfunken
+ schwarzkamp
+ schwedisch
+ schweif
+ schweigend
+ schwerwiegend
+ schwerwiegendem
+ schwiegervat
+ schwierigeren
+ schw?�cher
+ schw?�rmen
+ schw?ren
+ sch?_?n
+ sch?_?ne
+ sch?�digt
+ sch?�digung
+ sch?�dlich
+ sch?�rfe
+ sch?neren
+ sch?nreden
+ sch?_tze
+ sch?_tzt
+ scientif
+ scnr???_
+ scotland
+ screw
+ scripten
+ scriptfehl
+ sculli
+ sdc_p=po1026937fcl0s5mnu&
+ sdp
+ sechst
+ sed
+ segeln
+ segen
+ sehnend
+ sehnsucht
+ seinerzeit
+ seither
+ seitlch
+ seitlich
+ sekundengenau
+ sekund?�r
+ selbigen
+ selbsternannten
+ selbstklebend
+ selbstleuchtend
+ selbstst?�ndig
+ selbsttest
+ selbstverst?�ndlichkeiten
+ selektieren
+ selfdestruct
+ seltenen
+ seltsamsten
+ semaf
+ semamago
+ semiotik
+ semk
+ sendeeinheit
+ sendefrequenz
+ sendend
+ sendenden
+ sendest
+ sendest?�rk
+ sendeversuch
+ senior
+ sensor
+ sent
+ sequenc
+ serienger?�t
+ serienm?�?_ig
+ serva
+ serversynchronis
+ service@khelm.de
+ setemoi
+ sexualit?�t
+ sgxujhrs2ytyaqcggekyywyuqiiauehskbajixtgia5owzwgsoojhlgc96ikhvijmeudirj6
+ shield
+ ship
+ shoppen
+ showtopic=9263&hl=
+ shutdown
+ si
+ sic
+ sicherer
+ sicherheitseinstellungen
+ sicherheitskopien
+ sicherheitskritisch
+ sicherheitsvorkehrungen
+ sicherungsadatei
+ sicherungsdatei
+ sicherungsdefinitionen
+ sicherungsfunkt
+ sicherungskopien
+ sicherungsvorgang
+ sichtbaren
+ sichtverbindung
+ sichtweis
+ sid
+ sidimecer
+ sidiseba
+ siedl
+ siegel
+ siem
+ siemensger?_??t
+ siemensmodel
+ siemensseit
+ siemensusb
+ siemesn
+ signalisierungsprofil
+ sihc
+ silli
+ silosoc
+ simbian
+ simple_
+ simplifi
+ simplyfi
+ simulieren
+ simuliert
+ simultan
+ sinnentleerung
+ sinnfrei
+ sinnfreiheit
+ sinnlosen
+ sinuswellen
+ sinvol
+ sip
+ sir
+ sirabimecix
+ sirenent?nen
+ siteribego
+ sitten
+ sitzung
+ sitzungen
+ sk
+ skepsi
+ skeptisch
+ skin
+ skopas@tiscali.de
+ skript
+ skurril
+ sl150
+ sl1color
+ sl42
+ sl44
+ sl740
+ slavischen
+ sleep
+ slide
+ slrndbl0qp.iq9.slim.post@gibsmir.csn.tu-chemnitz.d
+ slrndc2fp5.e0g.slim.post@gibsmir.csn.tu-chemnitz.de
+ slrndek25r.d94.slim.post@gibsmir.csn.tu-chemnitz.d
+ slx
+ smarphon
+ smartkei
+ smash
+ smd
+ sms
+ snack
+ snap
+ snappermail
+ snipe
+ snipl
+ snipp
+ so'n
+ soalng
+ socamoxelag
+ socket
+ soda
+ sodisibib
+ sofortaustausch
+ softwareabsturz
+ softwarebasi
+ softwaredownload
+ softwaremaessig
+ softwarest?�nden
+ softwarevorschl?�gen
+ software?�nderung
+ sonderausstattung
+ sonderedit
+ sondermuel
+ sonderprofil
+ sonderz?_gen
+ sonnig
+ sonstigen
+ sonstwo
+ soost
+ sore
+ sorg
+ soundwiedergab
+ souvenir
+ sowet
+ soxiven
+ soziologisch
+ sozusagen
+ so????n
+ sp$
+ space
+ spaet
+ spafford
+ spalten
+ spam-friedhof@onlinehome.de
+ spam_juli2005@willms.info
+ spanish
+ spannend
+ spannungsmess
+ spannungsteil
+ sparst
+ spassvol
+ spazieren
+ spa?_?_
+ specht@freesurf.ch
+ specifi
+ speicherbereich
+ speicherfress
+ speicherkapazit?�t
+ speichermanag
+ speicherort
+ speichkart
+ spelter
+ spermien
+ sperren
+ spezialfal
+ spezialforen
+ spezialhalterung
+ spezialvorschrift
+ speziellem
+ spezifikationen
+ spezifisch
+ spezifischen
+ spiegel
+ spiegelt
+ spielregeln
+ spigt
+ spionag
+ spitzenprodukt
+ split
+ splitter
+ spontanen
+ sport
+ spottprei
+ sprachfluss
+ sprachkan
+ sprachraum
+ sprachvers
+ sprachverst?�ndigung
+ spread
+ sprechanlag
+ sprechzeit
+ spritzwasserdichtung
+ spritzwasserfest
+ spr?_chen
+ spr?_nge
+ spuk
+ spuren
+ spyra
+ spywar
+ spzifisch
+ sp?_??tsommer
+ sp?�tsommer
+ sp?_rbar
+ sseatuabuhtict2half5l4op7zegmdqycsgwjyu4mkdyqghztktin1q3tfbzsersguqpntcz
+ staedten
+ staedter
+ stahlbeton
+ stahlplatt
+ stammen
+ stammkund
+ stammten
+ standardakku
+ standardbauformen
+ standardbildschirm
+ standardisierungsgremium
+ standardm?�ssig
+ standardnumm
+ standardpiepst?n
+ standardspiel
+ standardtext
+ standardton
+ standardumleitungsnumm
+ standardverhalten
+ standardvorgab
+ standbild
+ standbyverbrauch
+ standort
+ standpunkt
+ stang
+ starken
+ starker
+ starr
+ startguthaben
+ startup
+ stati
+ station?�r
+ statisch
+ statistisch
+ stattdessen
+ stattfindend
+ stattgefunden
+ statusberichten
+ statusleist
+ statusmeldung
+ staubk?rnern
+ std
+ steel
+ stefanmario@gmx.at
+ stehr
+ steig
+ steigen
+ steigst
+ steinalt
+ steinschlag
+ stelo
+ stereoheadset
+ stern
+ sternchen
+ sternen
+ sternenbild
+ stesa
+ steuererklaerung
+ steuert
+ steuerzeichen
+ stichworten
+ stichwortverzeichni
+ sticker
+ stieber
+ stiefm?_tterlich
+ stieg
+ stielt
+ stiften
+ stiftung
+ stifung
+ stirbt
+ stoeren
+ stoert
+ stoesst
+ stoffteil
+ stoiber
+ stolen
+ stomverbrauch
+ sto?_d?�mpfung
+ sto?_gesch?_tzt
+ sto?_sich
+ str
+ strafanzeigen
+ strafbar
+ strafgeb?_hr
+ straftat
+ straftatbest?�nd
+ straftaten
+ strahlenbelastungen
+ strassen
+ strato
+ stra?_e
+ stra?_enbahn
+ stra?_?_
+ stra?_?_enbahn
+ streck
+ strehl
+ streikt
+ streit
+ streng
+ strengt
+ streuung
+ stripp
+ strolchen
+ stromaufnahm
+ strombegrenzung
+ stromm?�?_ig
+ stromnetz
+ stromsparen
+ stromverbrauch
+ stromversorgung
+ strunck
+ studieren
+ studiert
+ stueck
+ stufenlo
+ stuhl
+ stummen
+ stummprofil
+ stummschalt
+ stummschalterei
+ stummtast
+ stupid
+ stur
+ style
+ stymmt
+ st?_?ckchen
+ st?_?rt
+ st?_?rung
+ st?_??rzt
+ st?�dten
+ st?�dtisch
+ st?�rken
+ st?�rksten
+ st?ber
+ st?hrend
+ st?renden
+ st?rger?�uschen
+ st?_ckzahl
+ st?_nde
+ st?_tzt
+ su
+ suah
+ subject=3dsend_me_your_public_kei
+ subjectlin
+ subjekt
+ subvent
+ subventionieren
+ suchmaschin
+ suchtipp
+ suchwoertern
+ sudomain
+ sum
+ sumerlechn
+ summer
+ summieren
+ sung
+ superbillich
+ surf&email-pack
+ suse
+ suuuuuper
+ sv42
+ svbcqfiurj3q3xvpbva7uu6rclbx5kyf5vqlvdmc8sd1elkf00xbfinzhmkjcxmfwg4jbp60
+ sven-schneider@gmx.de
+ svenwantsnospam@yahoo.de
+ svenwantsnospoam@yahoo.d
+ svf7w96gzbng1jt3c6jcssmsawal4jvkhyimjqraaiqichfpica1no7is2xwgbcwzzstf970
+ sw91
+ sweetmorn
+ swyl0f4qgj7zahe9uanl5radtojaryj7nxzwxk1q9b4u6107shsafvgwcasmiswamwcayt1p
+ sx
+ sx440
+ sx445
+ sychronisieren
+ sympathischer
+ synchen
+ synchronisationspaket
+ synchronisationsversuch
+ synchronisierungsvorgang
+ syncm?glichkeit
+ syncstat
+ synct
+ synonym
+ syntax
+ synvhronisieren
+ systemleist
+ systemnachricht
+ systemprogramm
+ systemverhalten
+ systemverzeichni
+ szeneboard
+ s?_??mtlicher
+ s?_nde
+ s?_ndenbock
+ s?_?_er
+ t.dursthoff@web.de
+ t0yqezfyynvzdfyzmsszjmi2teeypo09vwpkkxrdyb8gztpmcmkqzgntby8jnl2lrevkcxco
+ t191
+ t230
+ t28
+ t68
+ t86i
+ t86ytkvyqeqyrveldubeuflszntst7zxwuotrjfkekl0cgoamikhbpnmjqrmccuprsirezpi
+ tabastero@spamoff.de
+ tabellarischen
+ tabl
+ tacacano
+ tackl
+ taetgksta9r8qq1jiirmm5aogg3jikfcegp5sk9ukqbut2rkqkibtgdjninrhantms5nia3b
+ tagebuch
+ tagelang
+ tagesangab
+ tagesgebrauch
+ tagesordnung
+ tageszeiten
+ tageszulassung
+ tagung
+ tai
+ taken
+ talfahrt
+ tamet
+ tariffal
+ tariflich
+ tariftabel
+ tarifumstellung
+ taschenlampenfunkt
+ taschenrechnern
+ taskmanag
+ tastaturbelegung
+ tastaturverriegelung
+ tastatusmatt
+ tastenfolg
+ tastenfunktionen
+ tatsachen
+ tauglichkeit
+ tausenden
+ taxi
+ tcp
+ tdc
+ technicu
+ techniqu
+ technolog
+ teilabgeschriebenem
+ teilnehmerzahl
+ teilthread
+ telbuch
+ telefion
+ telefonanlagen
+ telefonaten
+ telefonbuchbearbeitung
+ telefonbuchdaten
+ telefonbucheintr?_??g
+ telefonbuchtast
+ telefoneintrag
+ telefongespr?�chen
+ telefonhardwar
+ telefonierverhalten
+ telefonieseit
+ telefonino
+ telefoninstallateur
+ telefonkosten
+ telefonladen
+ telefonl?�den
+ telefonmodellen
+ telefonmonitor
+ telefonnetz
+ telefonnr
+ telefonqualit?�ten
+ telefonregist
+ telefonsoftwar
+ telefonsperr
+ telefonzellen
+ telekommunikationseinrichtungen
+ telephonen
+ tellerrand
+ telli
+ tem
+ temperatur
+ temperatursensoren
+ tempo
+ temporari
+ tempratur
+ tenor
+ terminaleigenschaften
+ terminalemul
+ terminalprogramm
+ terminkonflikthervorhebung
+ terriern
+ tesa
+ testbild
+ testet
+ testkontakt
+ testmust
+ testverbindungen
+ testwild@gmx.de
+ testzeit
+ teuerer
+ teuerest
+ teuersten
+ teufel
+ teunabh
+ teureren
+ textbereich
+ texteditor
+ texteingabemodi
+ texten
+ texterkennung
+ textfeld
+ textform
+ textkonvertierung
+ textmail
+ theft
+ themenblock
+ theo
+ they'r
+ thilo
+ threadid=10649&sid=99992f2117f9a777dde1ed8a0c98931f
+ threadid=143264&page=1
+ thronen
+ thurrott
+ tibonof
+ ticicina
+ tiefentladung
+ tiefgarag
+ tiefschl?�g
+ tieh
+ tierisch
+ tiger
+ tigern
+ tight
+ timuvumif
+ tino
+ tippfehl
+ tippselt
+ tippt
+ tipptast
+ tiradaya
+ tirelep
+ tischlad
+ titelseit
+ tjbakg5hbojjagpu04yxmqfyoivbgfwktjsbppfiaqrmk04sctmzfnyjm5imbssdguaxkci9
+ tl
+ tobi
+ tobias.weller@nurfuerspam.de
+ tobisatora
+ tocobadec
+ toedlich
+ toi
+ tolerierbar
+ tolkien
+ toller
+ tom2000@web.de
+ tomblin
+ tomtom@nospam.de
+ tonn
+ topf
+ topf?_hler
+ topp
+ totalabsturz
+ totalausfal
+ totalaustausch
+ totgehofften
+ tour
+ toyesixi
+ track
+ tracktiert
+ trade
+ trainieren
+ transformlist
+ translat
+ transmiss
+ transp
+ transportier
+ transvosg
+ trappeln
+ trauben
+ traue
+ trauer
+ trauf
+ traumhaft
+ trayappl
+ treat
+ treffend
+ treibersoftwar
+ treibervers
+ treibt
+ trial
+ trio
+ trixi
+ trocken
+ trockenen
+ trockengewischt
+ trocker
+ trolli
+ trotzki
+ trs_en_de_bg-bg_et-ee_lv-lv_lt-lt_ro_ru-ru_uk-ua_.jar
+ truetsch
+ trycktil
+ tr?�ge
+ tr?�gheit
+ tr?�nkenwagen
+ tr?�ume
+ tr?dler
+ tr?_ben
+ tr?_gerischen
+ tschechisch
+ tschudlig
+ tsch?
+ tstrehl@germanynet.de
+ tt
+ tt3
+ ttn
+ tuch
+ tuen
+ tune
+ tunlichst
+ turn
+ tussi
+ tust
+ tv
+ twc6exfswiosors2fnt9qmhxxllwi5qu1dshjpjhfwxxy4mvxawsueritvdgtm7eaffoz70n
+ twdggdomofdm0ymktsczaobjoawjruh1gimuv9dygxiigim06sgsix6uony7vxogdn0zwr8i
+ twzciyqesydhjsdwt6mptqn9dghznahwlckoqcdfyoe1cj8o7yvsor6k5uxadg2metwiijfu
+ typischen
+ tze
+ t?_?ne
+ t?_cke
+ t?_rglocken
+ t?_rsprechstellen
+ uah
+ udat
+ udp
+ ue
+ ueberfordert
+ ueberlegt
+ ueberlegung
+ uebersehen
+ ugspvscqrgmad1ds6fxrmgpjnxegullydabh2isnxdkfujkjw5rdojrva1cf1rgay7ehsfu
+ uhren
+ uhrenabgleich
+ uhrenhintergrund
+ uhs
+ uhu
+ ui
+ uii
+ uiuiui
+ ulk
+ umbelgt
+ umbringen
+ umbr?_ch
+ umeleitung
+ umelitung
+ umgebaut
+ umgebend
+ umgebogen
+ umgedeutet
+ umgeh
+ umgehend
+ umgehung
+ umgelenkt
+ umgeschaut
+ umgew?hnung
+ umgezogen
+ umlauf
+ umleit
+ umleitet
+ umleitungseinstellungen
+ umleitungslotteri
+ umleitungsquatsch
+ umm
+ umrechnen
+ umruestung
+ umr?_stung
+ umsatzabfrag
+ umschaltung
+ umschreiben
+ umso
+ umstaendlich
+ umsteck
+ umsteigern
+ umstellt
+ umst?�nd
+ umtausch
+ umtauschaktionen
+ umtauschen
+ umtauschgrund
+ umwelteinfl?_ssen
+ umzingelt
+ umzubelegen
+ umzubenennen
+ umzug
+ umzupolen
+ umzusetzen
+ umzustricken
+ unabh?_??ngig
+ unansehnlich
+ unbeaufsichtigt
+ unbedeutend
+ unbedienbar
+ unbegreiflich
+ unbekanntem
+ unbelegt
+ unbenutzbarkeit
+ unbequem
+ unberechtigterweis
+ unber?_hrt
+ unbeschadet
+ unbestimmt
+ unbestritten
+ unbest?�tigt
+ unbeweglich
+ unbrand
+ unbrauchbarem
+ unc
+ unclesam@gmx.com
+ unclesam@gmx.com
+ uncool
+ underlin
+ undicht
+ unertr?�glich
+ unerw?_nschten
+ unfalldetail
+ unfreiwillig
+ unfreundlich
+ unfreundlichen
+ unfruchtbarkeit
+ unf?�ll
+ ung
+ ungarn
+ ungebremst
+ ungeduld
+ ungef?�hren
+ ungef?�hrlich
+ ungef?�hrlichkeit
+ ungeheu
+ ungehindert
+ ungelesenen
+ ungen?_genden
+ ungeschickt
+ ungesch?_tzt
+ ungewiss
+ ungewohnten
+ unglaubw?_rdig
+ ungleichm?�?_ig
+ unhip
+ uni
+ unicod
+ uninformiert
+ uninstal
+ universum
+ unix
+ unkaputtbar
+ unkenntlich
+ unklar
+ unknown
+ unkoordiniert
+ unleserlich
+ unlockt
+ unlogik
+ unmisverst?�ndlich
+ unmut
+ unm?glichen
+ unnorm
+ unnutzbar
+ unn?_tzer
+ unoriginel
+ unrechtm?�?_ig
+ unrechtm?�?_igen
+ unregelmaessigen
+ unrichtig
+ unschuldig
+ unschwer
+ unsch?�rfer
+ unserem
+ unseren
+ unsich
+ unsicherer
+ unsinnigerweis
+ unst
+ unstrukturiert
+ unstrukturierten
+ untaugichen
+ unterbindung
+ unterbrochen
+ unterdr?_cken
+ untereinand
+ untereintrag
+ unterfangen
+ unterfordert
+ unterhalb
+ unterlassung
+ unterlassungen
+ unternimmt
+ unterrichtet
+ unterschl?�gt
+ unterschl?_ssel
+ unterstrichen
+ unterst?_??tzt
+ unterst?_tztem
+ unterwerfen
+ unterworfen
+ unterzogen
+ untrust
+ unverf?�nglich
+ unverh?�ltnism?�?_ig
+ unversch?�mtheit
+ unversch?�mtheiten
+ unverst?�ndni
+ unver?�nderbar
+ unver?�ndert
+ unvis
+ unwahrscheinlichen
+ unweigerlich
+ unwirksam
+ unwork
+ unzweifelsfrei
+ unz?_??hligen
+ un?tig
+ updatebar
+ upged
+ upgegradet
+ upload
+ upp
+ uptod
+ ur
+ uralten
+ uranisch
+ uriv9imafkmkmeru3ulkgmoqabqsxalytmson3et6lbl04usbmtv11u4g8n6a8lpfs7dcbl
+ urlaubsbildern
+ urn
+ ursprungsmail
+ ursprungspost
+ urspr?_??nglich
+ urspr?_nglichen
+ urs?�chlich
+ urteilst
+ usb\vid_0815&pid_0100&mi_00
+ usenet8951
+ usenet@datenhamster.org
+ usenet@tobiasnissen.de
+ usenetbox@jet2web.cc
+ usenetbox@jet2web.cc
+ usern
+ usim
+ usp
+ usual
+ uswi
+ ut
+ uti
+ utmfrjueijpahnvxjaeqbuvvxjung4ek8ioflrvyr6ty8sm5tgfaq7idopc9h61eidkrp5bq
+ uwedoern
+ uwg
+ v1050
+ v19
+ v23
+ v3688
+ v52
+ v560
+ v5pgb1p73l8p66bh7013cjn69fn9f2dba2@4ax.com
+ v600
+ v620
+ v66i
+ v800
+ vamefi
+ variabl
+ variieren
+ vawotor
+ vdo
+ vdr
+ vegetari
+ venosa
+ verabreicht
+ verallgemeinerungen
+ veranlasst
+ veranschlagt
+ veranstalt
+ verantwortlichen
+ verantwortlichkeit
+ verarbeiten
+ verarbeitet
+ verarbeitungsqualit?�t
+ verbal
+ verbesserten
+ verbindest
+ verbleiben
+ verbracht
+ verbreitet
+ verbring
+ verbugt
+ verdachtsmo
+ verdeutlichung
+ verdienst
+ verdonner
+ verdrahtung
+ verdruss
+ verdunkeln
+ verdunkelt
+ verd?�chtig
+ verd?�chtigungen
+ vereinbarung
+ vereinfacht
+ vereinfachung
+ vereinigten
+ verfassen
+ verfasst
+ verfassung
+ verfolgung
+ verfuegbarkeit
+ verfusselt
+ verf?_??gbaren
+ verf?_??gbarkeit
+ verf?�lschten
+ vergangen
+ vergangenheit
+ vergewissert
+ vergiessen
+ vergiss
+ vergi?_
+ vergleichszeitraum
+ vergn?_gen
+ vergr?ssert
+ verhandlungen
+ verharmlosen
+ verheddert
+ verheiratet
+ verh?�ltniss
+ verifi
+ verin
+ verison
+ verkaufsofferten
+ verkaufsshop
+ verkaufssumm
+ verkaufszahlen
+ verkehrsfunknachrichten
+ verkehrt
+ verkloppt
+ verkn?_pft
+ verkn?_pfungen
+ verkrampfen
+ verkrueppelt
+ verk?_??uf
+ verk?_ndend
+ verk?_rzten
+ verlang
+ verlangst
+ verlauten
+ verleiten
+ verliebt
+ verlief
+ verlie?_
+ verlinkt
+ verlinkten
+ verlor
+ verlorenen
+ verlorenst
+ verl?�ngerung
+ verl?�ngerungskabel
+ verl?�sst
+ vermarktet
+ vermeidet
+ vermeintlichen
+ vermieten
+ verm?gen
+ verm?gensvorteil
+ vernachlaessigen
+ verneinen
+ vernunft
+ verordnungen
+ verpackungen
+ verpassten
+ verpflichtungen
+ verquer
+ verquickung
+ verrechnet
+ verrechnung
+ verringern
+ verrissen
+ verrutschen
+ versandgeb?_hren
+ versandkostenzuschlag
+ versandt
+ verschaffen
+ verschieb
+ verschiedensten
+ verschienden
+ verschimmeln
+ verschlafen
+ verschlusshebel
+ verschl?_sselung
+ verschmerzen
+ verschob
+ verschobenen
+ verschrauben
+ verschwand
+ verschwei?_ten
+ verschw?rungstheorien
+ versieht
+ versionsangaben
+ versorgung
+ verspielten
+ verspricht
+ verstaendlich
+ verstauen
+ verstellbar
+ versto?_
+ verstrichen
+ verstummen
+ verst??_t
+ verst?_mmelt
+ verteilerkasten
+ verteilerlist
+ verteilt
+ vertik
+ vertragsablauf
+ vertragsabschluss
+ vertragsabschlu?_
+ vertragsverh?�ltni
+ vertragsverl?�ngerungsangebot
+ vertrau
+ vertreiben
+ vertreibt
+ vertret
+ vertr?�gt
+ verusacht
+ verwaltungszeichen
+ verwandt
+ verwechest
+ verwechsleret
+ verwechslung
+ verweigerung
+ verweilt
+ verwerfen
+ verwertbaren
+ verwiesen
+ verwirkt
+ verwirrend
+ verzehrt
+ verzieren
+ verzoegert
+ verzoegerung
+ verzweifel
+ verzweiflung
+ verzweigung
+ verzwickt
+ verz?gert
+ verz?_ckt
+ ver?�nderbar
+ ver?�nderbarkeit
+ ver?�nderungen
+ ver?�u?_ern
+ vetr?�gt
+ vewutiruvuh
+ vga
+ viamichelin
+ viausb
+ vibramotor
+ vibrationsmotor
+ videoaufnahmen
+ videoqualit?�t
+ viedeo
+ vieler
+ vielerlei
+ vielmal
+ vielmehr
+ vieltelefonier
+ viert
+ vietelefonier
+ viewitem&category=24010&item=6409732511
+ viewitem&item=6401819203
+ viewitem&item=7540266050
+ vihifix
+ viiiiel
+ viiiiiiiiiielen
+ vim
+ vin
+ viorgeschlagen
+ virenfrei
+ virengefahr
+ visa
+ visibl
+ visitenkart
+ visitkarten
+ visualisierung
+ viva
+ vk
+ vodafol
+ vodafoneleut
+ vodkamann
+ vodoofon
+ voicedial
+ voil?�
+ voiw1pxnrbrlw1gh3ozbr5ibzyqkkafwh1zvwbl21olit37umktftqzxbybdfusczammage0
+ vokabel
+ volksmund
+ vollast
+ vollidioten
+ vollmond
+ vollmundig
+ vollst
+ vollzitat
+ vollzitiererei
+ voltag
+ voltair
+ vorangetrieben
+ vorank?_ndigungen
+ voraussetzt
+ vorauszusagen
+ vorbehalt
+ vorbeibekommen
+ vorbeigeht
+ vorbeigeschaut
+ vorbeikommen
+ vorbeikommt
+ vorbereitung
+ vorbestellen
+ vorbeugend
+ voreingegeben
+ voreingestellten
+ vorenth?�lt
+ vorfahrtstrass
+ vorfeld
+ vorgaukelt
+ vorgedudelt
+ vorgef?_hrt
+ vorgegangen
+ vorgehendweis
+ vorgeschlagenen
+ vorgestellt
+ vorgewagt
+ vorhandensein
+ vorinstal
+ vorjahr
+ vorkommend
+ vorletzt
+ vorlieben
+ vorl?�ufermodel
+ vornedran
+ vornehm
+ vorprodukt
+ vorschlaeg
+ vorschlagen
+ vorschriftsm?�ssigen
+ vorsehen
+ vorsichtigem
+ vorsichtsma?_?_nahmen
+ vorspiegelung
+ vorstellbar
+ vors?�tzlich
+ vorteol
+ vortragen
+ vortritt
+ vort?�uschen
+ vorwerfen
+ vorzeigen
+ vorzeit
+ vorzugeben
+ vorz?_glich
+ vor?_ber
+ vsqnxz074aswrgm524jj0fjftm7ciu4v5ococlwc5q38nmtvxd01naif4cjvbj86qro2xcet
+ vstich@sofort-mail.de
+ vt
+ vtbxw7yirdr2otk4x2oq7zg7sds06lycoxaqkdemfdvmccjtsdb1lracoi4otqvl9jeu40hb
+ vtdvhsr5vnzuc9qgfdlgpc1gn8ysdj966itjapnzslovssvjhi3y55pjvqwg1wdgzquw
+ vulkanschwarz
+ vv
+ v?_?lligen
+ v?llst?�ndig
+ v?lp
+ w2ksp3
+ w95
+ w=fcrd
+ waagie1981@arcor.de
+ wab
+ wackelig
+ wackelkontakt
+ wackelnd
+ waehlerei
+ waeren
+ waffen
+ wagt
+ wahlsieg
+ wahrer
+ wahrgenommen
+ wahrlo
+ wahrsch
+ wait
+ waldspaziergang
+ wandeln
+ want
+ wapovergpr
+ wapverbindungen
+ war`
+ warnungen
+ wasch^w
+ wasserschaden
+ wassertropfen
+ wasserversorgung
+ water
+ watscheneinfach
+ watson
+ wdcma
+ weak
+ webadress
+ weboberfl?�ch
+ webpag
+ webster
+ websuch
+ wechner
+ wechseldatentr?�g
+ wechselsprechen
+ wechseltag
+ wedbrwxjjnbh7ilsncjyadt0a1wttukeimknajdzqrojpsxygktmgqpvekdtt2jswmusadpa
+ wegbekam
+ wegdr?_ckst
+ weggebracht
+ weggedr?_ckt
+ weggeht
+ weggelassen
+ weghaengt
+ wegschwimmen
+ wegspeichern
+ wegwerfen
+ wegwerfkart
+ wegzubekommen
+ wehe
+ wehren
+ wehret
+ weia
+ weich
+ weichen
+ weidlich
+ weilchen
+ weisen
+ weiterbearbeiten
+ weiterbenutzen
+ weiterbesteht
+ weiterbilden
+ weiterentwickelt
+ weiterf?_hrenden
+ weitergebracht
+ weitergehend
+ weitergeholfen
+ weitergeleitet
+ weitern
+ weiterversenden
+ weiterverwenden
+ wellenform
+ weltkonzern
+ weltweiten
+ wenigisten
+ wenngleich
+ wennich
+ werbespruch
+ werbetext
+ werbung@
+ werdden
+ werdend
+ werksgaranti
+ werksseitigen
+ werkszustand
+ werkzeugmaschinen
+ wernerkick@t-online.de
+ wertigkeit
+ wertvol
+ wettbewerbsverzerrung
+ wetterst
+ whiskyfan
+ wich
+ widcommtreib
+ wide
+ wideangl
+ wider
+ widerrufen
+ widersprechen
+ widerwilleg
+ widerwillig
+ wiederfinden
+ wiederherstellt
+ wiederholbar
+ wiederholend
+ wiederholung
+ wiederholungsfunktionen
+ wiederzufinden
+ wiemann
+ wife
+ wildbahn
+ wilk
+ wimmelt
+ win2000
+ win98
+ winamp
+ windoof
+ windowseigenen
+ winfoni
+ winppc2003
+ wintermute_101_nospam@yahoo.de
+ winterschlaf
+ winxp_sp2
+ wirklicj
+ wirkungslo
+ wirs
+ wiss
+ wissenschaft
+ wissenswert
+ wissenwert
+ witt
+ witulla@t-online.d
+ witulla@t-online.de
+ witzigerweis
+ wks7tnsab92hn26owhapcbgwkkatugsx7gu9azwy3nhpnblu96jjq2wxjbvjtufmmkgazp97
+ wm
+ wnn
+ wochentermin
+ woellten
+ woerterbuch
+ wogegen
+ wohingegen
+ wohler
+ wohlt?�tigkeit
+ wohnen
+ wolken
+ woll
+ wolt
+ wonder
+ wonn
+ worch
+ worin
+ workflow
+ workstat
+ wortlist
+ wortwahl
+ wpsdjzdnqbl57anduw7cbmcjlma4hzqx0fuzc0exltimlaxoumz3ny2pmckcn50ykkwqda0u
+ wpxtun77iqzn9a6d17wj1hp9ooglw3xccvisbxjpvwi1wg1vh2f63kez6ztknsgslq47x4k8
+ wrist
+ ws2ltsjwoyk5gn2rnrq6klgaavvxbfdlgpo7ujzrupkjogabr2qq575zuwgbyfm2dwaagcak
+ wu76c6zs9zoe.dlg@grisu.my-fqdn.d
+ wucher
+ wunderbaren
+ wundersam
+ wundersch?n
+ wunschdenken
+ wunschgem?�?_
+ wunschzeitraum
+ wunschzettel
+ wuppert
+ wurm
+ wurmverseucht
+ wurstfing
+ wurzel
+ wusstest
+ wu?_?_t
+ www.mobileunlocked.com/unlock_codes.php
+ www.trycktill.com/eng/unlock_swe.asp
+ w?_??nschend
+ w?�hlton
+ w?�hlverbindung
+ w?�hrung
+ w?�rmsten
+ w?�rst
+ w?�rtst
+ w?chentlich
+ w?_nschst
+ w?_r
+ w?_rg
+ w?_rmer
+ x%
+ x'p
+ x'post
+ x160
+ x2
+ x45
+ x86
+ x86ern
+ xagor
+ xd
+ xe
+ xe7ga8rz0trdwjthdtaj5me1c66ve2tlmcua7hbkcctwg6z1w58npvaue2pxrn3vdedcmmji
+ xecalefap
+ xelibri
+ xenahadotec
+ xhtml
+ xmit@gmx.de
+ xns96678433c6a9af1ck3n@outerlimit.d
+ xns968ad3e9bc7deeldosampleman@130.133.1.18
+ xns968fa2acdbaedeldosampleman@130.133.1.18
+ xns9697dbee0f439bschubertgmxnet@151.189.20.10
+ xplore
+ xpsp2
+ xrvcsrjqswzej8aem7miqpsoiumapwllcckqdtposisvz6hktsoiuesttdl7hpmrmehipyb2
+ xscale
+ xtnc
+ xtndconnectpc
+ xtndconnetct
+ xtrapack
+ xwbml4er5ukdliqbjn3pe3aookthy1kzvyu3budooyjeub5ypxukrvyygtsg9ioah31l8tzv
+ xxx@example.net
+ xxx@example.net
+ xy76a3cy69@yahoo.com
+ yahooseit
+ yap
+ yarjilzbhehlvpmgkmwljbqs0kdjimah3fkume54hf2rofhj9mlzqnlnt1rvpytt5l0unj
+ yase
+ yheeki
+ yheeky@x-mail.net
+ ym4c0k4mapko1npokec91u9omhgflslyypvtsgmzuzjmegqxoti18wezj2crm1ktqaqeftsw
+ york
+ yorkshir
+ yotiyasuxav
+ z500
+ zach228@fortunecity.d
+ zach228@fortunecity.de
+ zahlendreh
+ zaphod
+ zaubern
+ zaunpfahl
+ zbetwaoazt6vrknema52qyfsdlorz87hc5hp9kf2eyawaoipkrfkhu0mxqtu2aozixuhuuct
+ zehnstellig
+ zeichnet
+ zeilenend
+ zeitabstaenden
+ zeitgem?�?_
+ zeitgesteuert
+ zeitgleich
+ zeitlich
+ zeitraum
+ zeitr?�um
+ zeitschaltuhr
+ zeitverz?gerung
+ zeitwesen@gmxnospam.net
+ zelebrieren
+ zellmembranen
+ zellverlust
+ zellwechseln
+ zerkratzten
+ zerrissen
+ zerschneiden
+ zerschossenen
+ zersetzungseffekten
+ zerst
+ zerst?rst
+ zerst?rung
+ zerst?rungsfrei
+ zertifizierungen
+ zeugni?_
+ zewa
+ zickt
+ ziehst
+ zielort
+ zieser
+ ziffern
+ zifferntastatur
+ zigarett
+ zigarettenanz?_??nd
+ zilxes3ynmmzamt5ppkbicannj9aiwgwt6wc0bbsimd6rsgbgzyaybqjhtbimjvsgatm59d6
+ zire
+ zitier
+ zitiert
+ zittrig
+ zivil
+ zmcuryyprgeaijujoimt3zrgkh2ormgabhriizaxtzw1kktmaj14m4oodascvpxfxtqhe09m
+ zoellner
+ zone
+ zonen
+ zoohandlung
+ zoomplay
+ zordn
+ zr2owzsr9rpkqb2hc1gtast4mmymmrdxal9rqmueaa4udsbxutxwpsqwyv144cy77ebxlxr
+ zs1@gmx.de
+ zsammenabreit
+ zubehoerherstellern
+ zubeh?ranbiet
+ zubeh?rverf?_gbarkeit
+ zueinand
+ zufolg
+ zufriedengestellt
+ zufriedenheit
+ zufriedenstellend
+ zuf?_??llig
+ zuf?_hren
+ zugangsm?glichkeit
+ zugeflogen
+ zugegeben
+ zugegebenerma?_en
+ zugegriffen
+ zugeh?rend
+ zugeklapptem
+ zugelassen
+ zugeordnetem
+ zugeordneten
+ zugeschlagen
+ zugeschnitten
+ zugesichert
+ zugetragen
+ zugreift
+ zug?�ng
+ zug?�nglichen
+ zukangspunkt
+ zukaufger?�ten
+ zuklappen
+ zukleben
+ zulassungen
+ zulassungsfrag
+ zuleitung
+ zulieferanten
+ zumailen
+ zumut
+ zumutet
+ zunahm
+ zunehmend
+ zunehmenden
+ zunummt
+ zurechtgeflickt
+ zurechtkommen
+ zurechtkommst
+ zureden
+ zurerst
+ zurgiff
+ zurp?_cksichern
+ zurueckgebliebenen
+ zurueckliegenden
+ zur?_??ckgegriffen
+ zur?_??ckschicken
+ zur?_ckgeb
+ zur?_ckgegeben
+ zur?_ckgekehrt
+ zur?_ckgeschickt
+ zur?_ckgestellt
+ zur?_ckgewechselt
+ zur?_ckhaltend
+ zur?_ckhangelst
+ zur?_ckkommt
+ zur?_ckschalten
+ zur?_cksetzt
+ zur?_ckstecken
+ zur?_cktauschen
+ zur?_cktritt
+ zur?_ckwechseln
+ zur?_ckzubl?�ttern
+ zur?_ckzukommen
+ zur?_ckzuschauen
+ zusammenarbeitet
+ zusammendr?_cken
+ zusammengebaut
+ zusammengefasst
+ zusammengekasperten
+ zusammenh?�ngend
+ zusammenloeten
+ zusammensammeln
+ zusammenstellung
+ zusammenzuf?_gen
+ zusammenzuf?_hren
+ zusammenzustellen
+ zusatzangebot
+ zusatzfeatur
+ zusatzgeb?_hr
+ zusatzinform
+ zusatzkontakt
+ zusatzrent
+ zuschl?�gt
+ zusetzen
+ zuspachteln
+ zustellbest?�tigung
+ zustellmeldungen
+ zustellzeit
+ zustimm
+ zustimmen
+ zust?_??ndig
+ zus?_??tzlich
+ zuteilen
+ zutrau
+ zutrauen
+ zuvorgekommen
+ zuzuordnen
+ zuzuschlagen
+ zuzuweisen
+ zwangsl?�ufig
+ zweckm?�?_ig
+ zweifelhaften
+ zweifelsohn
+ zweitger?�t
+ zweitverwertung
+ zwiener
+ zwirner
+ zwischenk?�stchen
+ zwischenziel
+ zwitschern
+ zxbiy1owojfcib9safqstryaiarioyi45prgirraycgjq6onmilabzhnk2j3pwrtfikmrbpz
+ zxnlbsbiyw5kesbuawnodcbtzwhylibnzwluies3ntbpighhyibpy2ggc2nob24gymvzdgvsbhqg
+ zyklen
+ zzgl
+ zztqrujbkdiikg3nhftwt5nninvkguyklxijwpwql6iha7tlelzfaq2hocvt9s07c4rgexnj
+ z?gern
+ z?_gige
+ z?_ndung
+ z?_ndungserkennung
+ |*
+ |/o
+ |__|_|
+ |||
+ ~$
+ ~100
+ ~3
+ ~30=a4
+ ~~~~~~~~~~~
+ ?145
+ ??thoma
+ ???_?"
+ ?_?_ber
+ ?_?_berlegen
+ ?_?_bertragung
+ ?_??berhaubt
+ ?_??bertragbar
+ ?_??bertragen
+ ?_??hnelt
+ ?_??ndern
+ ?�hnelt
+ ?�hnlicher
+ ?�lterer
+ ?�nden
+ ?�nder
+ ?�pfel
+ ?�quivalenten
+ ?�ussern
+ ?ffnungen
+ ?ieber
+ ?kostr?_mpf
+ ?rtlichen
+ ?sterreichisch
+ ?_berbr?_ckt
+ ?_bereinstimmt
+ ?_berflogen
+ ?_berfl?_ssigen
+ ?_bergab
+ ?_berhatt
+ ?_berheblich
+ ?_berholt
+ ?_berlang
+ ?_berlastung
+ ?_berlebt
+ ?_berlegungen
+ ?_bermitteln
+ ?_bern
+ ?_bernahm
+ ?_bernahmewert
+ ?_bernehm
+ ?_berorganisieren
+ ?_berpr?_ft
+ ?_berpr?_fungen
+ ?_berragend
+ ?_berraschen
+ ?_berredungsk?_nst
+ ?_berschaubarem
+ ?_berschreiten
+ ?_berschrift
+ ?_bersch?�tzt
+ ?_berseh
+ ?_bersetzt
+ ?_bersetzungen
+ ?_bersichtlichkeit
+ ?_bersiehst
+ ?_berspielen
+ ?_berspielt
+ ?_bersprechen
+ ?_bers?�t
+ ?_berteagen
+ ?_bertragunen
+ ?_bertragungsgeschwindigkeiten
+ ?_bertreffen
+ ?_bertreten
+ ?_bertrifft
+ ?_berweisungsbeleg
+ ?_berzeugung
+ ?_betragen
+ ?_betragungsmodu
+ ?_birgen
+ ?_brigend
+ ?_briggebliebenen
+ ?_bung
+ ?_r
+
+ kurz
+ aber
+ alle
+ allem
+ allen
+ aller
+ alles
+ als
+ also
+ am
+ anander
+ andere
+ anderem
+ anderen
+ anderer
+ anderes
+ anderm
+ andern
+ anderr
+ andersauch
+ auf
+ aus
+ bei
+ bin
+ bis
+ bist
+ da
+ damit
+ dann
+ der
+ den
+ des
+ dem
+ die
+ das
+ da?_derselbe
+ derselben
+ denselben
+ desselben
+ demselben
+ dieselbe
+ dieselben
+ dasselbe
+ dazu
+ dein
+ deine
+ deinem
+ deinen
+ deiner
+ deines
+ denn
+ derer
+ dessen
+ dich
+ dir
+ du
+ dies
+ diese
+ diesem
+ diesen
+ dieser
+ dieses
+ doch
+ dort
+ durch
+ ein
+ eine
+ einem
+ einen
+ einer
+ eines
+ einig
+ einige
+ einigem
+ einigen
+ einiger
+ einiges
+ einmal
+ er
+ ihn
+ ihm
+ es
+ etwas
+ euer
+ eure
+ eurem
+ euren
+ eurer
+ eures
+ f?_r
+ gegen
+ gewesen
+ hab
+ habe
+ haben
+ hat
+ hatte
+ hatten
+ hier
+ hin
+ hinter
+ ich
+ mich
+ mir
+ ihr
+ ihre
+ ihrem
+ ihren
+ ihrer
+ ihres
+ euch
+ im
+ in
+ indem
+ ins
+ ist
+ jede
+ jedem
+ jeden
+ jeder
+ jedes
+ jene
+ jenem
+ jenen
+ jener
+ jenes
+ jetzt
+ kann
+ kein
+ keine
+ keinem
+ keinen
+ keiner
+ keines
+ k?nnen
+ k?nnte
+ machen
+ man
+ manche
+ manchem
+ manchen
+ mancher
+ manches
+ mein
+ meine
+ meinem
+ meinen
+ meiner
+ meines
+ mit
+ muss
+ musste
+ nach
+ nicht
+ nichts
+ noch
+ nun
+ nur
+ ob
+ oder
+ ohne
+ sehr
+ sein
+ seine
+ seinem
+ seinen
+ seiner
+ seines
+ selbst
+ sich
+ sie
+ ihnen
+ sind
+ so
+ solche
+ solchem
+ solchen
+ solcher
+ solches
+ soll
+ sollte
+ sondern
+ sonst
+ ?_ber
+ um
+ und
+ uns
+ unse
+ unsem
+ unsen
+ unser
+ unses
+ unter
+ viel
+ vom
+ von
+ vor
+ w?�hrend
+ war
+ waren
+ warst
+ was
+ weg
+ weil
+ weiter
+ welche
+ welchem
+ welchen
+ welcher
+ welches
+ wenn
+ werde
+ werden
+ wie
+ wieder
+ will
+ wir
+ wird
+ wirst
+ wo
+ wollen
+ wollte
+ w?_rde
+ w?_rden
+ zu
+ zum
+
+
\ No newline at end of file
diff --git a/xml/tests/testData/performance/IndentUnindent2.xml b/xml/tests/testData/performance/IndentUnindent2.xml
new file mode 100644
index 000000000000..e7eeddff12e5
--- /dev/null
+++ b/xml/tests/testData/performance/IndentUnindent2.xml
@@ -0,0 +1,2870 @@
+
+
+
+
+
+]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/xml/tests/testData/psi/events/1.txt b/xml/tests/testData/psi/events/1.txt
new file mode 100644
index 000000000000..b02964d479b1
--- /dev/null
+++ b/xml/tests/testData/psi/events/1.txt
@@ -0,0 +1 @@
+(Attribute "a" for tag "a" set to "b")
diff --git a/xml/tests/testData/psi/events/2.txt b/xml/tests/testData/psi/events/2.txt
new file mode 100644
index 000000000000..82453a841ec0
--- /dev/null
+++ b/xml/tests/testData/psi/events/2.txt
@@ -0,0 +1 @@
+(text changed to 'aa' was: 'aaa'), (child added to a child: XmlText), (child added to a child: XmlTag:a)
\ No newline at end of file
diff --git a/xml/tests/testData/psi/events/3.txt b/xml/tests/testData/psi/events/3.txt
new file mode 100644
index 000000000000..954dbafd7fae
--- /dev/null
+++ b/xml/tests/testData/psi/events/3.txt
@@ -0,0 +1 @@
+(text changed to 'aabba' was: 'aaa')
diff --git a/xml/tests/testData/psi/events/4.txt b/xml/tests/testData/psi/events/4.txt
new file mode 100644
index 000000000000..d0470d3dec94
--- /dev/null
+++ b/xml/tests/testData/psi/events/4.txt
@@ -0,0 +1 @@
+(text changed to 'a a ' was: 'a ')
diff --git a/xml/tests/testData/psi/events/5.txt b/xml/tests/testData/psi/events/5.txt
new file mode 100644
index 000000000000..ad835b557ef4
--- /dev/null
+++ b/xml/tests/testData/psi/events/5.txt
@@ -0,0 +1 @@
+(Xml document changed)
diff --git a/xml/tests/testData/psi/events/BulkUpdate.txt b/xml/tests/testData/psi/events/BulkUpdate.txt
new file mode 100644
index 000000000000..ad835b557ef4
--- /dev/null
+++ b/xml/tests/testData/psi/events/BulkUpdate.txt
@@ -0,0 +1 @@
+(Xml document changed)
diff --git a/xml/tests/testData/psi/events/DocumentChange1.txt b/xml/tests/testData/psi/events/DocumentChange1.txt
new file mode 100644
index 000000000000..ad835b557ef4
--- /dev/null
+++ b/xml/tests/testData/psi/events/DocumentChange1.txt
@@ -0,0 +1 @@
+(Xml document changed)
diff --git a/xml/tests/testData/psi/events/DocumentChange2.txt b/xml/tests/testData/psi/events/DocumentChange2.txt
new file mode 100644
index 000000000000..ad835b557ef4
--- /dev/null
+++ b/xml/tests/testData/psi/events/DocumentChange2.txt
@@ -0,0 +1 @@
+(Xml document changed)
diff --git a/xml/tests/testData/psi/events/DocumentChange3.txt b/xml/tests/testData/psi/events/DocumentChange3.txt
new file mode 100644
index 000000000000..f572e6333826
--- /dev/null
+++ b/xml/tests/testData/psi/events/DocumentChange3.txt
@@ -0,0 +1 @@
+(child changed in b child: XmlTag:a)
diff --git a/xml/tests/testData/psi/events/TagRemove.txt b/xml/tests/testData/psi/events/TagRemove.txt
new file mode 100644
index 000000000000..9c546956e886
--- /dev/null
+++ b/xml/tests/testData/psi/events/TagRemove.txt
@@ -0,0 +1 @@
+(child changed in html child: XmlText), (child removed from html child: XmlTag:b), (child removed from html child: XmlText)
diff --git a/xml/tests/testData/psi/incrementalReparse41_after.xml b/xml/tests/testData/psi/incrementalReparse41_after.xml
new file mode 100644
index 000000000000..d80e6eaa7ec5
--- /dev/null
+++ b/xml/tests/testData/psi/incrementalReparse41_after.xml
@@ -0,0 +1,1594 @@
+
+
+
+
+
+
+
+
+build [target]
+
+Where target is one of the following:
+-------------------
+Compilation Targets
+-------------------
+ build (default) compiles, builds and copies all files
+ compile compiles java sources, jsp sources and pnet patch to
+ output directories
+ compile-java compiles java classes in the following packages:
+ com, pnet, net.project
+ compile-jsp compiles jsp sources only
+ compile-java-com compiles java com.* classes only (including rmi classes)
+ compile-java-pnet compiles java pnet.* classes only
+ compile-java-net compiles java net.* classes only
+ compile-pnetpatch compiles pnet patch and builds jar file
+ compile-version compiles Version.java
+
+ javadoc generates javadoc; for internal use only
+ resource builds resources (images etc.) and copies to web root
+ xsl copies XSL files to output directories
+ etc copies application files (e.g. crypto/key.txt) to output
+ directories
+ bin copies bin files (e.g. start_listeners.bat) to output
+ directories
+
+ clean purges the output tree
+
+------------------
+Deployment Targets
+------------------
+ deploy Deploys application; executes build target then executes
+ all of the following deploy targets:
+ (Note: All targets perform incremental builds)
+ deploy-prm
+ deploy-xsl
+ deploy-etc
+ deploy-jars
+ deploy-bin
+ deploy-resource
+ deploy-database
+ deploy-docs
+
+ deploy-src Deploys application; executes "deploy" target then
+ executes these:
+ deploy-src-jsp
+ deploy-src-javadoc
+
+ deploy-clean Purges the output and deployment tree; suitable for use
+ before either "deploy" or "deploy-src"
+
+-----------------
+Packaging Targets
+-----------------
+ installer Generates an installer; executes the "deploy" target and
+ the "zip" target (incremental)
+ installer-clean Purges the output and deployment tree then generates an
+ installer (from clean)
+ installer-src Generates an installer; executes the "deploy-src" target
+ and the "zip-src" target
+ installer-src-clean Purges the output and deployment tree then generates an
+ installer with source (from clean)
+ zip Creates a zip file in releases directory based on the
+ current deployment (incremental)
+ zip-src Creates a zip file in deployment directory, including
+ the source (incremental)
+ create-escrow-source Creates a zip file containing escrow software
+
+-----------------
+Unit Test Targets
+-----------------
+ compile-unit-test Compiles unit test stubs and all unit test classes
+ unit-test Compiles and executes all unit tests
+ run-single-unit-test Runs a single unit test. The unit test class to run
+ is passed on the command line as follows:
+
+ build run-single-unit-test
+ -Dunittest.to.run=fullyqualifiedclassname
+
+ where fullyqualifiedclassname is a unit test class
+
+-----------------
+Other Targets
+-----------------
+ run Run an application server instance
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ No build.properties file found; creating default properties file
+
+ Created build.properties. Please review its contents before restarting build.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+One or more required properties was not set in build.properties. Current
+values are:
+ bluestone.dir: ${bluestone.dir}
+ website.dir: ${website.dir}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+The environment variable JAVA_HOME is not set or does not represent a valid
+directory. JAVA_HOME is required to locate additional JAR files required
+for compilation with Jikes.
+Current value: ${env.JAVA_HOME}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Please set the jsp.to.compile property before calling this target.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <div align="center"> <a href="http://www.project.net/" target="_top">©2000-2003 Project.net, Inc.</a> All Rights Reserved.<div>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <div align="center"> <a href="http://www.project.net/" target="_top">©2000-2003 Project.net, Inc.</a> All Rights Reserved.<div>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ajshdkjhaskjdh
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <div align="center"> <a href="http://www.project.net/" target="_top">©2000-2003 Project.net, Inc.</a> All Rights Reserved.<div>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Now, manually add the contents of the \\lion\\Development\Development Documentation\
+ directory to the zip file. The zip file creation will be complete then.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/xml/tests/testData/psi/incrementalReparse41_before.xml b/xml/tests/testData/psi/incrementalReparse41_before.xml
new file mode 100644
index 000000000000..f4f3323ad5b2
--- /dev/null
+++ b/xml/tests/testData/psi/incrementalReparse41_before.xml
@@ -0,0 +1,1594 @@
+
+
+
+
+
+
+
+
+build [target]
+
+Where target is one of the following:
+-------------------
+Compilation Targets
+-------------------
+ build (default) compiles, builds and copies all files
+ compile compiles java sources, jsp sources and pnet patch to
+ output directories
+ compile-java compiles java classes in the following packages:
+ com, pnet, net.project
+ compile-jsp compiles jsp sources only
+ compile-java-com compiles java com.* classes only (including rmi classes)
+ compile-java-pnet compiles java pnet.* classes only
+ compile-java-net compiles java net.* classes only
+ compile-pnetpatch compiles pnet patch and builds jar file
+ compile-version compiles Version.java
+
+ javadoc generates javadoc; for internal use only
+ resource builds resources (images etc.) and copies to web root
+ xsl copies XSL files to output directories
+ etc copies application files (e.g. crypto/key.txt) to output
+ directories
+ bin copies bin files (e.g. start_listeners.bat) to output
+ directories
+
+ clean purges the output tree
+
+------------------
+Deployment Targets
+------------------
+ deploy Deploys application; executes build target then executes
+ all of the following deploy targets:
+ (Note: All targets perform incremental builds)
+ deploy-prm
+ deploy-xsl
+ deploy-etc
+ deploy-jars
+ deploy-bin
+ deploy-resource
+ deploy-database
+ deploy-docs
+
+ deploy-src Deploys application; executes "deploy" target then
+ executes these:
+ deploy-src-jsp
+ deploy-src-javadoc
+
+ deploy-clean Purges the output and deployment tree; suitable for use
+ before either "deploy" or "deploy-src"
+
+-----------------
+Packaging Targets
+-----------------
+ installer Generates an installer; executes the "deploy" target and
+ the "zip" target (incremental)
+ installer-clean Purges the output and deployment tree then generates an
+ installer (from clean)
+ installer-src Generates an installer; executes the "deploy-src" target
+ and the "zip-src" target
+ installer-src-clean Purges the output and deployment tree then generates an
+ installer with source (from clean)
+ zip Creates a zip file in releases directory based on the
+ current deployment (incremental)
+ zip-src Creates a zip file in deployment directory, including
+ the source (incremental)
+ create-escrow-source Creates a zip file containing escrow software
+
+-----------------
+Unit Test Targets
+-----------------
+ compile-unit-test Compiles unit test stubs and all unit test classes
+ unit-test Compiles and executes all unit tests
+ run-single-unit-test Runs a single unit test. The unit test class to run
+ is passed on the command line as follows:
+
+ build run-single-unit-test
+ -Dunittest.to.run=fullyqualifiedclassname
+
+ where fullyqualifiedclassname is a unit test class
+
+-----------------
+Other Targets
+-----------------
+ run Run an application server instance
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ No build.properties file found; creating default properties file
+
+ Created build.properties. Please review its contents before restarting build.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+One or more required properties was not set in build.properties. Current
+values are:
+ bluestone.dir: ${bluestone.dir}
+ website.dir: ${website.dir}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+The environment variable JAVA_HOME is not set or does not represent a valid
+directory. JAVA_HOME is required to locate additional JAR files required
+for compilation with Jikes.
+Current value: ${env.JAVA_HOME}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Please set the jsp.to.compile property before calling this target.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <div align="center"> <a href="http://www.project.net/" target="_top">©2000-2003 Project.net, Inc.</a> All Rights Reserved.<div>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <div align="center"> <a href="http://www.project.net/" target="_top">©2000-2003 Project.net, Inc.</a> All Rights Reserved.<div>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ajshdkjhaskjdh
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <div align="center"> <a href="http://www.project.net/" target="_top">©2000-2003 Project.net, Inc.</a> All Rights Reserved.<div>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Now, manually add the contents of the \\lion\\Development\Development Documentation\
+ directory to the zip file. The zip file creation will be complete then.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/xml/tests/testData/psi/incrementalReparse42_after.xml b/xml/tests/testData/psi/incrementalReparse42_after.xml
new file mode 100644
index 000000000000..c40c0e2507aa
--- /dev/null
+++ b/xml/tests/testData/psi/incrementalReparse42_after.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ yyyy-MM-dd
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/xml/tests/testData/psi/incrementalReparse43_before.xml b/xml/tests/testData/psi/incrementalReparse43_before.xml
new file mode 100644
index 000000000000..345dc0476d1a
--- /dev/null
+++ b/xml/tests/testData/psi/incrementalReparse43_before.xml
@@ -0,0 +1,99 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ yyyy-MM-dd
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/xml/tests/testData/psi/incrementalReparse46_after.xml b/xml/tests/testData/psi/incrementalReparse46_after.xml
new file mode 100644
index 000000000000..dfe39d1e963b
--- /dev/null
+++ b/xml/tests/testData/psi/incrementalReparse46_after.xml
@@ -0,0 +1,14 @@
+
+
+
+
+ ${aaa aaa aaa
+
+
+
\ No newline at end of file
diff --git a/xml/tests/testData/psi/incrementalReparse46_before.xml b/xml/tests/testData/psi/incrementalReparse46_before.xml
new file mode 100644
index 000000000000..5d8f26da1592
--- /dev/null
+++ b/xml/tests/testData/psi/incrementalReparse46_before.xml
@@ -0,0 +1,14 @@
+
+
+
+
+ ${aaa aaa aaa}
+
+
+
\ No newline at end of file
diff --git a/xml/tests/testData/psi/incrementalReparse47_after.xml b/xml/tests/testData/psi/incrementalReparse47_after.xml
new file mode 100644
index 000000000000..c2696d863f2d
--- /dev/null
+++ b/xml/tests/testData/psi/incrementalReparse47_after.xml
@@ -0,0 +1,14 @@
+
+
+
+
+ ${aaa aaa aaa}
+
+
+
\ No newline at end of file
diff --git a/xml/tests/testData/psi/incrementalReparse47_before.xml b/xml/tests/testData/psi/incrementalReparse47_before.xml
new file mode 100644
index 000000000000..df5bb2134eeb
--- /dev/null
+++ b/xml/tests/testData/psi/incrementalReparse47_before.xml
@@ -0,0 +1,14 @@
+
+
+
+
+ ${aaa aaa aaa
+
+
+
\ No newline at end of file
diff --git a/xml/tests/testData/psi/manyErrors.xml b/xml/tests/testData/psi/manyErrors.xml
new file mode 100644
index 000000000000..ff46eddc202f
--- /dev/null
+++ b/xml/tests/testData/psi/manyErrors.xml
@@ -0,0 +1,258 @@
+
+
+ AppletViewer Tags
+
+
+
+
+
+
+
+
+The applet viewer makes it possible to run a Java applet without using
+a browser. AppletViewer ignores any HTML that is not immediately relevant
+to launching an applet. However, it recognizes a wide variety of applet-
+launching syntax. The HTML code that AppletViewer recognizes is shown
+below. All other HTML code is ignored.
+
+object
+
+The object tag is the HTML 4.0 tag for embedding applets
+and mult-media objects into an HTML page. It is also an Internet Explorer
+4.x extension to HTML 3.2 which allows IE to run a Java applet using the
+latest Java plugin from Sun.
+
+<object
+ width="pixelWidth "
+ height="pixelHeight "
+>
+ <param name="code" value="yourClass.class ">
+ <param name="object" value="serializedObjectOrJavaBean ">
+ <param name="codebase" value="classFileDirectory ">
+ ...
+ alternate-text
+</object>
+
+Notes:
+AppletViewer ignores the "classID" attribute, on the assumption
+ that it is pointing to the Java plugin, with the value:
+
+ classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"
+
+
+
AppletViewer also ignores the "codebase" attribute that is usually included
+ as part of the object tag, assuming that it points to a Java plugin
+ in a network cab file with a value like:
+
+ codebase="http://java.sun.com/products/plugin/1.1/jinstall-11-win32.cab#Version=1,1,0,0"
+
+
+
The optional codebase param tag supplies a relative URL that
+ specifies the location of the applet class.
+
+
Either code or object is specified, not both.
+
+
The type param tag is not used by AppletViewer, but should be
+ present so that browsers load the plugin properly.
+ For an applet, the value should be something like:
+
+ <param name="type" value="application/x-java-applet;version=1.1">
+
+ or
+
+ <param name="type" value="application/x-java-applet">
+
+ For a serialized object or JavaBean, the type param
+ value should be something like:
+
+ <param name="type" value="application/x-java-bean;version=1.1">
+
+ or
+
+ <param name="type" value="application/x-java-bean">
+
+
+
Other param tags are argument values supplied to the applet.
+
+
The object tag recognized by IE4.x and the embed tag
+ recognized by Netscape 4.x can be combined so that an applet can
+ use the latest Java plugin from Sun, regardless of the browser that
+ downloads the applet.
+ For more information, see
+ Java
+ PlugIn HTML Specification
+
+
AppletViewer does not recognize the java_code, java_codebase,
+ java_object, or java_type param tags. These tags
+ are only needed when the applet defines parameters with the names
+ code, codebase, object, or type, respectively. (In that situation, the
+ plugin recognizes and uses the java_ version in preference to the
+ version that will be used by the applet.) If the applet requires a
+ parameter with one of these 4 names, it may not run in AppletViewer.
+
+
+
+embed
+
+The embed tag is the Netscape extension to HTML 3.2 that allows
+embedding an applet or a multimedia object in an HTML page. It allows a
+Netscape 4.x browser (which supports HTML 3.2) to run a Java applet using the
+latest Java plugin from Sun.
+
+<embed
+ code="yourClass.class "
+ object="serializedObjectOrJavaBean "
+ codebase="classFileDirectory "
+ width="pixelWidth "
+ height="pixelHeight "
+>
+ ...
+</embed>
+
+Notes:
+
+The object and embed tags can be combined so that
+ an applet can use the latest Java plugin from Sun, regardless of
+ the browser that downloads the applet.
+ For more information, see the
+ Java
+ PlugIn HTML Specification
+
+
Unlike the object tag, all values specified in an embed
+ tag are attributes (part of the tag) rather than parameters (between the start
+ tag and end tag, specified with a param tag.
+
+
To supply argument values for applet parameters, you add additional
+ attributes to the <embed> tag.
+
+
AppletViewer ignores the "src" attribute that is usually part of an
+ <embed> tag.
+
+
Either code or object is specified, not both.
+
+
The optional codebase attribute supplies a relative URL that
+ specifies the location of the applet class.
+
+
The type attribute is not used by AppletViewer, but should be
+ present so that browsers load the plugin properly.
+ For an applet, the value should be something like:
+
+ <type="application/x-java-applet;version=1.1">...
+
+ or
+
+ <type="application/x-java-applet">...
+
+ For a serialized object or JavaBean, the type param
+ value should be something like:
+
+ <type="application/x-java-bean;version=1.1">...
+
+ or
+
+ <type="application/x-java-bean">...
+
+
+
The "pluginspage" attribute is not used by AppletViewer, but should be
+ present so that browsers load the plugin properly. It should point to a Java plugin
+ in a network cab file with a value like:
+
+ pluginspage="http://java.sun.com/products/plugin/1.1/jinstall-11-win32.cab#Version=1,1,0,0"
+
+
+
+
+applet
+
+The applet tag is the original HTML 3.2 tag for
+embedding an applet in an HTML page. Applets loaded using the
+applet tag are run by the browser, which may not
+be using the latest version of the Java platform. To ensure that
+the applet runs with the latest version, use the object
+tag to load the Java plugin into the browser. The plugin will then
+run the applet.
+
+<applet
+ code="yourClass.class "
+ object="serializedObjectOrJavaBean "
+ codebase="classFileDirectory "
+ width="pixelWidth "
+ height="pixelHeight "
+>
+ <param name="... " value="... ">
+ ...
+ alternate-text
+</applet>
+
+Notes:
+
+Either code or object is specified, not both.
+
+
The optional codebase attribute supplies a relative URL that
+ specifies the location of the applet class.
+
+
Param tags supply argument values for applet parameters.
+
+
+
+app
+
+The app tag was a short-lived abbreviation for
+applet that is no longer supported. AppletViewer
+translates the tag and prints out an equivalent tag that is supported.
+
+<app
+ class="classFileName " (without a .class suffix)
+ src="classFileDirectory "
+ width="pixelWidth "
+ height="pixelHeight "
+>
+<param name="..." value="...">
+ ...
+</app>
+
+
+
+For more information on the tags that AppletViewer supports and
+how to combine them, see the
+Java
+PlugIn HTML Specification .
+
+
+
+
+
+
+
diff --git a/xml/tests/testData/psi/pallada.xml b/xml/tests/testData/psi/pallada.xml
new file mode 100644
index 000000000000..4f533e082980
--- /dev/null
+++ b/xml/tests/testData/psi/pallada.xml
@@ -0,0 +1,2424 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/xml/tests/testData/psi/performance2.xml b/xml/tests/testData/psi/performance2.xml
new file mode 100644
index 000000000000..ce115f8a459d
--- /dev/null
+++ b/xml/tests/testData/psi/performance2.xml
@@ -0,0 +1,7931 @@
+
+ <_xmlProperties type="java.util.HashMap">
+
+
+
+ Objects_InTransaction
+
+
+ Commit
+
+
+
+
+ LogFolder
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs
+
+
+
+
+ ReportFileDir
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs/
+
+
+
+
+ ExcludedInstrumentListPath
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/config/excludedStocks.txt
+
+
+
+
+ ExcludeRefSymList
+
+
+
+
+
+
+
+ IncludeRefSymList
+
+
+
+
+
+
+
+ ExcludeMarkingRunList
+
+
+ ?:AUTO-NonMarking
+
+
+
+
+ IncludeMarkingRunList
+
+
+
+
+
+
+
+ InsertDataFromEDS
+
+
+ True
+
+
+
+
+ InstrumentType
+
+
+ com.swissbank.eq.foundation.instruments.Stock
+
+
+
+
+
+ ReadDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+ WriteDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+
+
+ <_xmlProperties type="java.util.HashMap">
+
+
+
+ Objects_InTransaction
+
+
+ Commit
+
+
+
+
+ LogFolder
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs
+
+
+
+
+ ReportFileDir
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs/
+
+
+
+
+ ExcludedInstrumentListPath
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/config/excludedStocks.txt
+
+
+
+
+ ExcludeRefSymList
+
+
+
+
+
+
+
+ IncludeRefSymList
+
+
+
+
+
+
+
+ ExcludeMarkingRunList
+
+
+ ?:AUTO-NonMarking
+
+
+
+
+ IncludeMarkingRunList
+
+
+
+
+
+
+
+ InsertDataFromEDS
+
+
+ True
+
+
+
+
+ InstrumentType
+
+
+ com.swissbank.eq.foundation.instruments.Stock
+
+
+
+
+
+ ReadDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+ WriteDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+
+
+ <_xmlProperties type="java.util.HashMap">
+
+
+
+ Objects_InTransaction
+
+
+ Commit
+
+
+
+
+ LogFolder
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs
+
+
+
+
+ ReportFileDir
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs/
+
+
+
+
+ ExcludedInstrumentListPath
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/config/excludedStocks.txt
+
+
+
+
+ ExcludeRefSymList
+
+
+
+
+
+
+
+ IncludeRefSymList
+
+
+
+
+
+
+
+ ExcludeMarkingRunList
+
+
+ ?:AUTO-NonMarking
+
+
+
+
+ IncludeMarkingRunList
+
+
+
+
+
+
+
+ InsertDataFromEDS
+
+
+ True
+
+
+
+
+ InstrumentType
+
+
+ com.swissbank.eq.foundation.instruments.Stock
+
+
+
+
+
+ ReadDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+ WriteDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+
+
+ <_xmlProperties type="java.util.HashMap">
+
+
+
+ Objects_InTransaction
+
+
+ Commit
+
+
+
+
+ LogFolder
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs
+
+
+
+
+ ReportFileDir
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs/
+
+
+
+
+ ExcludedInstrumentListPath
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/config/excludedStocks.txt
+
+
+
+
+ ExcludeRefSymList
+
+
+
+
+
+
+
+ IncludeRefSymList
+
+
+
+
+
+
+
+ ExcludeMarkingRunList
+
+
+ ?:AUTO-NonMarking
+
+
+
+
+ IncludeMarkingRunList
+
+
+
+
+
+
+
+ InsertDataFromEDS
+
+
+ True
+
+
+
+
+ InstrumentType
+
+
+ com.swissbank.eq.foundation.instruments.Stock
+
+
+
+
+
+ ReadDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+ WriteDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+
+
+ <_xmlProperties type="java.util.HashMap">
+
+
+
+ Objects_InTransaction
+
+
+ Commit
+
+
+
+
+ LogFolder
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs
+
+
+
+
+ ReportFileDir
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs/
+
+
+
+
+ ExcludedInstrumentListPath
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/config/excludedStocks.txt
+
+
+
+
+ ExcludeRefSymList
+
+
+
+
+
+
+
+ IncludeRefSymList
+
+
+
+
+
+
+
+ ExcludeMarkingRunList
+
+
+ ?:AUTO-NonMarking
+
+
+
+
+ IncludeMarkingRunList
+
+
+
+
+
+
+
+ InsertDataFromEDS
+
+
+ True
+
+
+
+
+ InstrumentType
+
+
+ com.swissbank.eq.foundation.instruments.Stock
+
+
+
+
+
+ ReadDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+ WriteDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+
+
+ <_xmlProperties type="java.util.HashMap">
+
+
+
+ Objects_InTransaction
+
+
+ Commit
+
+
+
+
+ LogFolder
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs
+
+
+
+
+ ReportFileDir
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs/
+
+
+
+
+ ExcludedInstrumentListPath
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/config/excludedStocks.txt
+
+
+
+
+ ExcludeRefSymList
+
+
+
+
+
+
+
+ IncludeRefSymList
+
+
+
+
+
+
+
+ ExcludeMarkingRunList
+
+
+ ?:AUTO-NonMarking
+
+
+
+
+ IncludeMarkingRunList
+
+
+
+
+
+
+
+ InsertDataFromEDS
+
+
+ True
+
+
+
+
+ InstrumentType
+
+
+ com.swissbank.eq.foundation.instruments.Stock
+
+
+
+
+
+ ReadDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+ WriteDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+
+
+ <_xmlProperties type="java.util.HashMap">
+
+
+
+ Objects_InTransaction
+
+
+ Commit
+
+
+
+
+ LogFolder
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs
+
+
+
+
+ ReportFileDir
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs/
+
+
+
+
+ ExcludedInstrumentListPath
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/config/excludedStocks.txt
+
+
+
+
+ ExcludeRefSymList
+
+
+
+
+
+
+
+ IncludeRefSymList
+
+
+
+
+
+
+
+ ExcludeMarkingRunList
+
+
+ ?:AUTO-NonMarking
+
+
+
+
+ IncludeMarkingRunList
+
+
+
+
+
+
+
+ InsertDataFromEDS
+
+
+ True
+
+
+
+
+ InstrumentType
+
+
+ com.swissbank.eq.foundation.instruments.Stock
+
+
+
+
+
+ ReadDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+ WriteDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+
+
+ <_xmlProperties type="java.util.HashMap">
+
+
+
+ Objects_InTransaction
+
+
+ Commit
+
+
+
+
+ LogFolder
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs
+
+
+
+
+ ReportFileDir
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs/
+
+
+
+
+ ExcludedInstrumentListPath
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/config/excludedStocks.txt
+
+
+
+
+ ExcludeRefSymList
+
+
+
+
+
+
+
+ IncludeRefSymList
+
+
+
+
+
+
+
+ ExcludeMarkingRunList
+
+
+ ?:AUTO-NonMarking
+
+
+
+
+ IncludeMarkingRunList
+
+
+
+
+
+
+
+ InsertDataFromEDS
+
+
+ True
+
+
+
+
+ InstrumentType
+
+
+ com.swissbank.eq.foundation.instruments.Stock
+
+
+
+
+
+ ReadDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+ WriteDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+
+
+ <_xmlProperties type="java.util.HashMap">
+
+
+
+ Objects_InTransaction
+
+
+ Commit
+
+
+
+
+ LogFolder
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs
+
+
+
+
+ ReportFileDir
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs/
+
+
+
+
+ ExcludedInstrumentListPath
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/config/excludedStocks.txt
+
+
+
+
+ ExcludeRefSymList
+
+
+
+
+
+
+
+ IncludeRefSymList
+
+
+
+
+
+
+
+ ExcludeMarkingRunList
+
+
+ ?:AUTO-NonMarking
+
+
+
+
+ IncludeMarkingRunList
+
+
+
+
+
+
+
+ InsertDataFromEDS
+
+
+ True
+
+
+
+
+ InstrumentType
+
+
+ com.swissbank.eq.foundation.instruments.Stock
+
+
+
+
+
+ ReadDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+ WriteDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+
+
+ <_xmlProperties type="java.util.HashMap">
+
+
+
+ Objects_InTransaction
+
+
+ Commit
+
+
+
+
+ LogFolder
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs
+
+
+
+
+ ReportFileDir
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs/
+
+
+
+
+ ExcludedInstrumentListPath
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/config/excludedStocks.txt
+
+
+
+
+ ExcludeRefSymList
+
+
+
+
+
+
+
+ IncludeRefSymList
+
+
+
+
+
+
+
+ ExcludeMarkingRunList
+
+
+ ?:AUTO-NonMarking
+
+
+
+
+ IncludeMarkingRunList
+
+
+
+
+
+
+
+ InsertDataFromEDS
+
+
+ True
+
+
+
+
+ InstrumentType
+
+
+ com.swissbank.eq.foundation.instruments.Stock
+
+
+
+
+
+ ReadDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+ WriteDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+
+
+ <_xmlProperties type="java.util.HashMap">
+
+
+
+ Objects_InTransaction
+
+
+ Commit
+
+
+
+
+ LogFolder
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs
+
+
+
+
+ ReportFileDir
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs/
+
+
+
+
+ ExcludedInstrumentListPath
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/config/excludedStocks.txt
+
+
+
+
+ ExcludeRefSymList
+
+
+
+
+
+
+
+ IncludeRefSymList
+
+
+
+
+
+
+
+ ExcludeMarkingRunList
+
+
+ ?:AUTO-NonMarking
+
+
+
+
+ IncludeMarkingRunList
+
+
+
+
+
+
+
+ InsertDataFromEDS
+
+
+ True
+
+
+
+
+ InstrumentType
+
+
+ com.swissbank.eq.foundation.instruments.Stock
+
+
+
+
+
+ ReadDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+ WriteDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+
+
+ <_xmlProperties type="java.util.HashMap">
+
+
+
+ Objects_InTransaction
+
+
+ Commit
+
+
+
+
+ LogFolder
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs
+
+
+
+
+ ReportFileDir
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs/
+
+
+
+
+ ExcludedInstrumentListPath
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/config/excludedStocks.txt
+
+
+
+
+ ExcludeRefSymList
+
+
+
+
+
+
+
+ IncludeRefSymList
+
+
+
+
+
+
+
+ ExcludeMarkingRunList
+
+
+ ?:AUTO-NonMarking
+
+
+
+
+ IncludeMarkingRunList
+
+
+
+
+
+
+
+ InsertDataFromEDS
+
+
+ True
+
+
+
+
+ InstrumentType
+
+
+ com.swissbank.eq.foundation.instruments.Stock
+
+
+
+
+
+ ReadDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+ WriteDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+
+
+ <_xmlProperties type="java.util.HashMap">
+
+
+
+ Objects_InTransaction
+
+
+ Commit
+
+
+
+
+ LogFolder
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs
+
+
+
+
+ ReportFileDir
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs/
+
+
+
+
+ ExcludedInstrumentListPath
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/config/excludedStocks.txt
+
+
+
+
+ ExcludeRefSymList
+
+
+
+
+
+
+
+ IncludeRefSymList
+
+
+
+
+
+
+
+ ExcludeMarkingRunList
+
+
+ ?:AUTO-NonMarking
+
+
+
+
+ IncludeMarkingRunList
+
+
+
+
+
+
+
+ InsertDataFromEDS
+
+
+ True
+
+
+
+
+ InstrumentType
+
+
+ com.swissbank.eq.foundation.instruments.Stock
+
+
+
+
+
+ ReadDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+ WriteDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+
+
+ <_xmlProperties type="java.util.HashMap">
+
+
+
+ Objects_InTransaction
+
+
+ Commit
+
+
+
+
+ LogFolder
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs
+
+
+
+
+ ReportFileDir
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs/
+
+
+
+
+ ExcludedInstrumentListPath
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/config/excludedStocks.txt
+
+
+
+
+ ExcludeRefSymList
+
+
+
+
+
+
+
+ IncludeRefSymList
+
+
+
+
+
+
+
+ ExcludeMarkingRunList
+
+
+ ?:AUTO-NonMarking
+
+
+
+
+ IncludeMarkingRunList
+
+
+
+
+
+
+
+ InsertDataFromEDS
+
+
+ True
+
+
+
+
+ InstrumentType
+
+
+ com.swissbank.eq.foundation.instruments.Stock
+
+
+
+
+
+ ReadDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+ WriteDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+
+
+ <_xmlProperties type="java.util.HashMap">
+
+
+
+ Objects_InTransaction
+
+
+ Commit
+
+
+
+
+ LogFolder
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs
+
+
+
+
+ ReportFileDir
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs/
+
+
+
+
+ ExcludedInstrumentListPath
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/config/excludedStocks.txt
+
+
+
+
+ ExcludeRefSymList
+
+
+
+
+
+
+
+ IncludeRefSymList
+
+
+
+
+
+
+
+ ExcludeMarkingRunList
+
+
+ ?:AUTO-NonMarking
+
+
+
+
+ IncludeMarkingRunList
+
+
+
+
+
+
+
+ InsertDataFromEDS
+
+
+ True
+
+
+
+
+ InstrumentType
+
+
+ com.swissbank.eq.foundation.instruments.Stock
+
+
+
+
+
+ ReadDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+ WriteDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+
+
+ <_xmlProperties type="java.util.HashMap">
+
+
+
+ Objects_InTransaction
+
+
+ Commit
+
+
+
+
+ LogFolder
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs
+
+
+
+
+ ReportFileDir
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs/
+
+
+
+
+ ExcludedInstrumentListPath
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/config/excludedStocks.txt
+
+
+
+
+ ExcludeRefSymList
+
+
+
+
+
+
+
+ IncludeRefSymList
+
+
+
+
+
+
+
+ ExcludeMarkingRunList
+
+
+ ?:AUTO-NonMarking
+
+
+
+
+ IncludeMarkingRunList
+
+
+
+
+
+
+
+ InsertDataFromEDS
+
+
+ True
+
+
+
+
+ InstrumentType
+
+
+ com.swissbank.eq.foundation.instruments.Stock
+
+
+
+
+
+ ReadDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+ WriteDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+
+
+ <_xmlProperties type="java.util.HashMap">
+
+
+
+ Objects_InTransaction
+
+
+ Commit
+
+
+
+
+ LogFolder
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs
+
+
+
+
+ ReportFileDir
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs/
+
+
+
+
+ ExcludedInstrumentListPath
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/config/excludedStocks.txt
+
+
+
+
+ ExcludeRefSymList
+
+
+
+
+
+
+
+ IncludeRefSymList
+
+
+
+
+
+
+
+ ExcludeMarkingRunList
+
+
+ ?:AUTO-NonMarking
+
+
+
+
+ IncludeMarkingRunList
+
+
+
+
+
+
+
+ InsertDataFromEDS
+
+
+ True
+
+
+
+
+ InstrumentType
+
+
+ com.swissbank.eq.foundation.instruments.Stock
+
+
+
+
+
+ ReadDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+ WriteDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+
+
+ <_xmlProperties type="java.util.HashMap">
+
+
+
+ Objects_InTransaction
+
+
+ Commit
+
+
+
+
+ LogFolder
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs
+
+
+
+
+ ReportFileDir
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs/
+
+
+
+
+ ExcludedInstrumentListPath
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/config/excludedStocks.txt
+
+
+
+
+ ExcludeRefSymList
+
+
+
+
+
+
+
+ IncludeRefSymList
+
+
+
+
+
+
+
+ ExcludeMarkingRunList
+
+
+ ?:AUTO-NonMarking
+
+
+
+
+ IncludeMarkingRunList
+
+
+
+
+
+
+
+ InsertDataFromEDS
+
+
+ True
+
+
+
+
+ InstrumentType
+
+
+ com.swissbank.eq.foundation.instruments.Stock
+
+
+
+
+
+ ReadDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+ WriteDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+
+
+ <_xmlProperties type="java.util.HashMap">
+
+
+
+ Objects_InTransaction
+
+
+ Commit
+
+
+
+
+ LogFolder
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs
+
+
+
+
+ ReportFileDir
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs/
+
+
+
+
+ ExcludedInstrumentListPath
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/config/excludedStocks.txt
+
+
+
+
+ ExcludeRefSymList
+
+
+
+
+
+
+
+ IncludeRefSymList
+
+
+
+
+
+
+
+ ExcludeMarkingRunList
+
+
+ ?:AUTO-NonMarking
+
+
+
+
+ IncludeMarkingRunList
+
+
+
+
+
+
+
+ InsertDataFromEDS
+
+
+ True
+
+
+
+
+ InstrumentType
+
+
+ com.swissbank.eq.foundation.instruments.Stock
+
+
+
+
+
+ ReadDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+ WriteDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+
+
+ <_xmlProperties type="java.util.HashMap">
+
+
+
+ Objects_InTransaction
+
+
+ Commit
+
+
+
+
+ LogFolder
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs
+
+
+
+
+ ReportFileDir
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs/
+
+
+
+
+ ExcludedInstrumentListPath
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/config/excludedStocks.txt
+
+
+
+
+ ExcludeRefSymList
+
+
+
+
+
+
+
+ IncludeRefSymList
+
+
+
+
+
+
+
+ ExcludeMarkingRunList
+
+
+ ?:AUTO-NonMarking
+
+
+
+
+ IncludeMarkingRunList
+
+
+
+
+
+
+
+ InsertDataFromEDS
+
+
+ True
+
+
+
+
+ InstrumentType
+
+
+ com.swissbank.eq.foundation.instruments.Stock
+
+
+
+
+
+ ReadDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+ WriteDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+
+
+ <_xmlProperties type="java.util.HashMap">
+
+
+
+ Objects_InTransaction
+
+
+ Commit
+
+
+
+
+ LogFolder
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs
+
+
+
+
+ ReportFileDir
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs/
+
+
+
+
+ ExcludedInstrumentListPath
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/config/excludedStocks.txt
+
+
+
+
+ ExcludeRefSymList
+
+
+
+
+
+
+
+ IncludeRefSymList
+
+
+
+
+
+
+
+ ExcludeMarkingRunList
+
+
+ ?:AUTO-NonMarking
+
+
+
+
+ IncludeMarkingRunList
+
+
+
+
+
+
+
+ InsertDataFromEDS
+
+
+ True
+
+
+
+
+ InstrumentType
+
+
+ com.swissbank.eq.foundation.instruments.Stock
+
+
+
+
+
+ ReadDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+ WriteDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+
+
+ <_xmlProperties type="java.util.HashMap">
+
+
+
+ Objects_InTransaction
+
+
+ Commit
+
+
+
+
+ LogFolder
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs
+
+
+
+
+ ReportFileDir
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs/
+
+
+
+
+ ExcludedInstrumentListPath
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/config/excludedStocks.txt
+
+
+
+
+ ExcludeRefSymList
+
+
+
+
+
+
+
+ IncludeRefSymList
+
+
+
+
+
+
+
+ ExcludeMarkingRunList
+
+
+ ?:AUTO-NonMarking
+
+
+
+
+ IncludeMarkingRunList
+
+
+
+
+
+
+
+ InsertDataFromEDS
+
+
+ True
+
+
+
+
+ InstrumentType
+
+
+ com.swissbank.eq.foundation.instruments.Stock
+
+
+
+
+
+ ReadDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+ WriteDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+
+
+ <_xmlProperties type="java.util.HashMap">
+
+
+
+ Objects_InTransaction
+
+
+ Commit
+
+
+
+
+ LogFolder
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs
+
+
+
+
+ ReportFileDir
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs/
+
+
+
+
+ ExcludedInstrumentListPath
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/config/excludedStocks.txt
+
+
+
+
+ ExcludeRefSymList
+
+
+
+
+
+
+
+ IncludeRefSymList
+
+
+
+
+
+
+
+ ExcludeMarkingRunList
+
+
+ ?:AUTO-NonMarking
+
+
+
+
+ IncludeMarkingRunList
+
+
+
+
+
+
+
+ InsertDataFromEDS
+
+
+ True
+
+
+
+
+ InstrumentType
+
+
+ com.swissbank.eq.foundation.instruments.Stock
+
+
+
+
+
+ ReadDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+ WriteDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+
+
+ <_xmlProperties type="java.util.HashMap">
+
+
+
+ Objects_InTransaction
+
+
+ Commit
+
+
+
+
+ LogFolder
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs
+
+
+
+
+ ReportFileDir
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs/
+
+
+
+
+ ExcludedInstrumentListPath
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/config/excludedStocks.txt
+
+
+
+
+ ExcludeRefSymList
+
+
+
+
+
+
+
+ IncludeRefSymList
+
+
+
+
+
+
+
+ ExcludeMarkingRunList
+
+
+ ?:AUTO-NonMarking
+
+
+
+
+ IncludeMarkingRunList
+
+
+
+
+
+
+
+ InsertDataFromEDS
+
+
+ True
+
+
+
+
+ InstrumentType
+
+
+ com.swissbank.eq.foundation.instruments.Stock
+
+
+
+
+
+ ReadDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+ WriteDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+
+
+ <_xmlProperties type="java.util.HashMap">
+
+
+
+ Objects_InTransaction
+
+
+ Commit
+
+
+
+
+ LogFolder
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs
+
+
+
+
+ ReportFileDir
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs/
+
+
+
+
+ ExcludedInstrumentListPath
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/config/excludedStocks.txt
+
+
+
+
+ ExcludeRefSymList
+
+
+
+
+
+
+
+ IncludeRefSymList
+
+
+
+
+
+
+
+ ExcludeMarkingRunList
+
+
+ ?:AUTO-NonMarking
+
+
+
+
+ IncludeMarkingRunList
+
+
+
+
+
+
+
+ InsertDataFromEDS
+
+
+ True
+
+
+
+
+ InstrumentType
+
+
+ com.swissbank.eq.foundation.instruments.Stock
+
+
+
+
+
+ ReadDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+ WriteDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+
+
+ <_xmlProperties type="java.util.HashMap">
+
+
+
+ Objects_InTransaction
+
+
+ Commit
+
+
+
+
+ LogFolder
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs
+
+
+
+
+ ReportFileDir
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs/
+
+
+
+
+ ExcludedInstrumentListPath
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/config/excludedStocks.txt
+
+
+
+
+ ExcludeRefSymList
+
+
+
+
+
+
+
+ IncludeRefSymList
+
+
+
+
+
+
+
+ ExcludeMarkingRunList
+
+
+ ?:AUTO-NonMarking
+
+
+
+
+ IncludeMarkingRunList
+
+
+
+
+
+
+
+ InsertDataFromEDS
+
+
+ True
+
+
+
+
+ InstrumentType
+
+
+ com.swissbank.eq.foundation.instruments.Stock
+
+
+
+
+
+ ReadDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+ WriteDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+
+
+ <_xmlProperties type="java.util.HashMap">
+
+
+
+ Objects_InTransaction
+
+
+ Commit
+
+
+
+
+ LogFolder
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs
+
+
+
+
+ ReportFileDir
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs/
+
+
+
+
+ ExcludedInstrumentListPath
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/config/excludedStocks.txt
+
+
+
+
+ ExcludeRefSymList
+
+
+
+
+
+
+
+ IncludeRefSymList
+
+
+
+
+
+
+
+ ExcludeMarkingRunList
+
+
+ ?:AUTO-NonMarking
+
+
+
+
+ IncludeMarkingRunList
+
+
+
+
+
+
+
+ InsertDataFromEDS
+
+
+ True
+
+
+
+
+ InstrumentType
+
+
+ com.swissbank.eq.foundation.instruments.Stock
+
+
+
+
+
+ ReadDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+ WriteDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+
+
+ <_xmlProperties type="java.util.HashMap">
+
+
+
+ Objects_InTransaction
+
+
+ Commit
+
+
+
+
+ LogFolder
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs
+
+
+
+
+ ReportFileDir
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs/
+
+
+
+
+ ExcludedInstrumentListPath
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/config/excludedStocks.txt
+
+
+
+
+ ExcludeRefSymList
+
+
+
+
+
+
+
+ IncludeRefSymList
+
+
+
+
+
+
+
+ ExcludeMarkingRunList
+
+
+ ?:AUTO-NonMarking
+
+
+
+
+ IncludeMarkingRunList
+
+
+
+
+
+
+
+ InsertDataFromEDS
+
+
+ True
+
+
+
+
+ InstrumentType
+
+
+ com.swissbank.eq.foundation.instruments.Stock
+
+
+
+
+
+ ReadDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+ WriteDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+
+
+ <_xmlProperties type="java.util.HashMap">
+
+
+
+ Objects_InTransaction
+
+
+ Commit
+
+
+
+
+ LogFolder
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs
+
+
+
+
+ ReportFileDir
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs/
+
+
+
+
+ ExcludedInstrumentListPath
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/config/excludedStocks.txt
+
+
+
+
+ ExcludeRefSymList
+
+
+
+
+
+
+
+ IncludeRefSymList
+
+
+
+
+
+
+
+ ExcludeMarkingRunList
+
+
+ ?:AUTO-NonMarking
+
+
+
+
+ IncludeMarkingRunList
+
+
+
+
+
+
+
+ InsertDataFromEDS
+
+
+ True
+
+
+
+
+ InstrumentType
+
+
+ com.swissbank.eq.foundation.instruments.Stock
+
+
+
+
+
+ ReadDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+ WriteDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+
+
+ <_xmlProperties type="java.util.HashMap">
+
+
+
+ Objects_InTransaction
+
+
+ Commit
+
+
+
+
+ LogFolder
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs
+
+
+
+
+ ReportFileDir
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs/
+
+
+
+
+ ExcludedInstrumentListPath
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/config/excludedStocks.txt
+
+
+
+
+ ExcludeRefSymList
+
+
+
+
+
+
+
+ IncludeRefSymList
+
+
+
+
+
+
+
+ ExcludeMarkingRunList
+
+
+ ?:AUTO-NonMarking
+
+
+
+
+ IncludeMarkingRunList
+
+
+
+
+
+
+
+ InsertDataFromEDS
+
+
+ True
+
+
+
+
+ InstrumentType
+
+
+ com.swissbank.eq.foundation.instruments.Stock
+
+
+
+
+
+ ReadDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+ WriteDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+
+
+ <_xmlProperties type="java.util.HashMap">
+
+
+
+ Objects_InTransaction
+
+
+ Commit
+
+
+
+
+ LogFolder
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs
+
+
+
+
+ ReportFileDir
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs/
+
+
+
+
+ ExcludedInstrumentListPath
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/config/excludedStocks.txt
+
+
+
+
+ ExcludeRefSymList
+
+
+
+
+
+
+
+ IncludeRefSymList
+
+
+
+
+
+
+
+ ExcludeMarkingRunList
+
+
+ ?:AUTO-NonMarking
+
+
+
+
+ IncludeMarkingRunList
+
+
+
+
+
+
+
+ InsertDataFromEDS
+
+
+ True
+
+
+
+
+ InstrumentType
+
+
+ com.swissbank.eq.foundation.instruments.Stock
+
+
+
+
+
+ ReadDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+ WriteDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+
+
+ <_xmlProperties type="java.util.HashMap">
+
+
+
+ Objects_InTransaction
+
+
+ Commit
+
+
+
+
+ LogFolder
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs
+
+
+
+
+ ReportFileDir
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs/
+
+
+
+
+ ExcludedInstrumentListPath
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/config/excludedStocks.txt
+
+
+
+
+ ExcludeRefSymList
+
+
+
+
+
+
+
+ IncludeRefSymList
+
+
+
+
+
+
+
+ ExcludeMarkingRunList
+
+
+ ?:AUTO-NonMarking
+
+
+
+
+ IncludeMarkingRunList
+
+
+
+
+
+
+
+ InsertDataFromEDS
+
+
+ True
+
+
+
+
+ InstrumentType
+
+
+ com.swissbank.eq.foundation.instruments.Stock
+
+
+
+
+
+ ReadDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+ WriteDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+
+
+ <_xmlProperties type="java.util.HashMap">
+
+
+
+ Objects_InTransaction
+
+
+ Commit
+
+
+
+
+ LogFolder
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs
+
+
+
+
+ ReportFileDir
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs/
+
+
+
+
+ ExcludedInstrumentListPath
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/config/excludedStocks.txt
+
+
+
+
+ ExcludeRefSymList
+
+
+
+
+
+
+
+ IncludeRefSymList
+
+
+
+
+
+
+
+ ExcludeMarkingRunList
+
+
+ ?:AUTO-NonMarking
+
+
+
+
+ IncludeMarkingRunList
+
+
+
+
+
+
+
+ InsertDataFromEDS
+
+
+ True
+
+
+
+
+ InstrumentType
+
+
+ com.swissbank.eq.foundation.instruments.Stock
+
+
+
+
+
+ ReadDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+ WriteDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+
+
+ <_xmlProperties type="java.util.HashMap">
+
+
+
+ Objects_InTransaction
+
+
+ Commit
+
+
+
+
+ LogFolder
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs
+
+
+
+
+ ReportFileDir
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs/
+
+
+
+
+ ExcludedInstrumentListPath
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/config/excludedStocks.txt
+
+
+
+
+ ExcludeRefSymList
+
+
+
+
+
+
+
+ IncludeRefSymList
+
+
+
+
+
+
+
+ ExcludeMarkingRunList
+
+
+ ?:AUTO-NonMarking
+
+
+
+
+ IncludeMarkingRunList
+
+
+
+
+
+
+
+ InsertDataFromEDS
+
+
+ True
+
+
+
+
+ InstrumentType
+
+
+ com.swissbank.eq.foundation.instruments.Stock
+
+
+
+
+
+ ReadDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+ WriteDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+
+
+ <_xmlProperties type="java.util.HashMap">
+
+
+
+ Objects_InTransaction
+
+
+ Commit
+
+
+
+
+ LogFolder
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs
+
+
+
+
+ ReportFileDir
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs/
+
+
+
+
+ ExcludedInstrumentListPath
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/config/excludedStocks.txt
+
+
+
+
+ ExcludeRefSymList
+
+
+
+
+
+
+
+ IncludeRefSymList
+
+
+
+
+
+
+
+ ExcludeMarkingRunList
+
+
+ ?:AUTO-NonMarking
+
+
+
+
+ IncludeMarkingRunList
+
+
+
+
+
+
+
+ InsertDataFromEDS
+
+
+ True
+
+
+
+
+ InstrumentType
+
+
+ com.swissbank.eq.foundation.instruments.Stock
+
+
+
+
+
+ ReadDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+ WriteDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+
+
+ <_xmlProperties type="java.util.HashMap">
+
+
+
+ Objects_InTransaction
+
+
+ Commit
+
+
+
+
+ LogFolder
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs
+
+
+
+
+ ReportFileDir
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs/
+
+
+
+
+ ExcludedInstrumentListPath
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/config/excludedStocks.txt
+
+
+
+
+ ExcludeRefSymList
+
+
+
+
+
+
+
+ IncludeRefSymList
+
+
+
+
+
+
+
+ ExcludeMarkingRunList
+
+
+ ?:AUTO-NonMarking
+
+
+
+
+ IncludeMarkingRunList
+
+
+
+
+
+
+
+ InsertDataFromEDS
+
+
+ True
+
+
+
+
+ InstrumentType
+
+
+ com.swissbank.eq.foundation.instruments.Stock
+
+
+
+
+
+ ReadDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+ WriteDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+
+
+ <_xmlProperties type="java.util.HashMap">
+
+
+
+ Objects_InTransaction
+
+
+ Commit
+
+
+
+
+ LogFolder
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs
+
+
+
+
+ ReportFileDir
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs/
+
+
+
+
+ ExcludedInstrumentListPath
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/config/excludedStocks.txt
+
+
+
+
+ ExcludeRefSymList
+
+
+
+
+
+
+
+ IncludeRefSymList
+
+
+
+
+
+
+
+ ExcludeMarkingRunList
+
+
+ ?:AUTO-NonMarking
+
+
+
+
+ IncludeMarkingRunList
+
+
+
+
+
+
+
+ InsertDataFromEDS
+
+
+ True
+
+
+
+
+ InstrumentType
+
+
+ com.swissbank.eq.foundation.instruments.Stock
+
+
+
+
+
+ ReadDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+ WriteDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+
+
+ <_xmlProperties type="java.util.HashMap">
+
+
+
+ Objects_InTransaction
+
+
+ Commit
+
+
+
+
+ LogFolder
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs
+
+
+
+
+ ReportFileDir
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs/
+
+
+
+
+ ExcludedInstrumentListPath
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/config/excludedStocks.txt
+
+
+
+
+ ExcludeRefSymList
+
+
+
+
+
+
+
+ IncludeRefSymList
+
+
+
+
+
+
+
+ ExcludeMarkingRunList
+
+
+ ?:AUTO-NonMarking
+
+
+
+
+ IncludeMarkingRunList
+
+
+
+
+
+
+
+ InsertDataFromEDS
+
+
+ True
+
+
+
+
+ InstrumentType
+
+
+ com.swissbank.eq.foundation.instruments.Stock
+
+
+
+
+
+ ReadDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+ WriteDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+
+
+ <_xmlProperties type="java.util.HashMap">
+
+
+
+ Objects_InTransaction
+
+
+ Commit
+
+
+
+
+ LogFolder
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs
+
+
+
+
+ ReportFileDir
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs/
+
+
+
+
+ ExcludedInstrumentListPath
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/config/excludedStocks.txt
+
+
+
+
+ ExcludeRefSymList
+
+
+
+
+
+
+
+ IncludeRefSymList
+
+
+
+
+
+
+
+ ExcludeMarkingRunList
+
+
+ ?:AUTO-NonMarking
+
+
+
+
+ IncludeMarkingRunList
+
+
+
+
+
+
+
+ InsertDataFromEDS
+
+
+ True
+
+
+
+
+ InstrumentType
+
+
+ com.swissbank.eq.foundation.instruments.Stock
+
+
+
+
+
+ ReadDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+ WriteDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+
+
+ <_xmlProperties type="java.util.HashMap">
+
+
+
+ Objects_InTransaction
+
+
+ Commit
+
+
+
+
+ LogFolder
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs
+
+
+
+
+ ReportFileDir
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs/
+
+
+
+
+ ExcludedInstrumentListPath
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/config/excludedStocks.txt
+
+
+
+
+ ExcludeRefSymList
+
+
+
+
+
+
+
+ IncludeRefSymList
+
+
+
+
+
+
+
+ ExcludeMarkingRunList
+
+
+ ?:AUTO-NonMarking
+
+
+
+
+ IncludeMarkingRunList
+
+
+
+
+
+
+
+ InsertDataFromEDS
+
+
+ True
+
+
+
+
+ InstrumentType
+
+
+ com.swissbank.eq.foundation.instruments.Stock
+
+
+
+
+
+ ReadDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+ WriteDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+
+
+ <_xmlProperties type="java.util.HashMap">
+
+
+
+ Objects_InTransaction
+
+
+ Commit
+
+
+
+
+ LogFolder
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs
+
+
+
+
+ ReportFileDir
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs/
+
+
+
+
+ ExcludedInstrumentListPath
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/config/excludedStocks.txt
+
+
+
+
+ ExcludeRefSymList
+
+
+
+
+
+
+
+ IncludeRefSymList
+
+
+
+
+
+
+
+ ExcludeMarkingRunList
+
+
+ ?:AUTO-NonMarking
+
+
+
+
+ IncludeMarkingRunList
+
+
+
+
+
+
+
+ InsertDataFromEDS
+
+
+ True
+
+
+
+
+ InstrumentType
+
+
+ com.swissbank.eq.foundation.instruments.Stock
+
+
+
+
+
+ ReadDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+ WriteDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+
+
+ <_xmlProperties type="java.util.HashMap">
+
+
+
+ Objects_InTransaction
+
+
+ Commit
+
+
+
+
+ LogFolder
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs
+
+
+
+
+ ReportFileDir
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs/
+
+
+
+
+ ExcludedInstrumentListPath
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/config/excludedStocks.txt
+
+
+
+
+ ExcludeRefSymList
+
+
+
+
+
+
+
+ IncludeRefSymList
+
+
+
+
+
+
+
+ ExcludeMarkingRunList
+
+
+ ?:AUTO-NonMarking
+
+
+
+
+ IncludeMarkingRunList
+
+
+
+
+
+
+
+ InsertDataFromEDS
+
+
+ True
+
+
+
+
+ InstrumentType
+
+
+ com.swissbank.eq.foundation.instruments.Stock
+
+
+
+
+
+ ReadDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+ WriteDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+
+
+ <_xmlProperties type="java.util.HashMap">
+
+
+
+ Objects_InTransaction
+
+
+ Commit
+
+
+
+
+ LogFolder
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs
+
+
+
+
+ ReportFileDir
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs/
+
+
+
+
+ ExcludedInstrumentListPath
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/config/excludedStocks.txt
+
+
+
+
+ ExcludeRefSymList
+
+
+
+
+
+
+
+ IncludeRefSymList
+
+
+
+
+
+
+
+ ExcludeMarkingRunList
+
+
+ ?:AUTO-NonMarking
+
+
+
+
+ IncludeMarkingRunList
+
+
+
+
+
+
+
+ InsertDataFromEDS
+
+
+ True
+
+
+
+
+ InstrumentType
+
+
+ com.swissbank.eq.foundation.instruments.Stock
+
+
+
+
+
+ ReadDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+ WriteDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+
+
+ <_xmlProperties type="java.util.HashMap">
+
+
+
+ Objects_InTransaction
+
+
+ Commit
+
+
+
+
+ LogFolder
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs
+
+
+
+
+ ReportFileDir
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs/
+
+
+
+
+ ExcludedInstrumentListPath
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/config/excludedStocks.txt
+
+
+
+
+ ExcludeRefSymList
+
+
+
+
+
+
+
+ IncludeRefSymList
+
+
+
+
+
+
+
+ ExcludeMarkingRunList
+
+
+ ?:AUTO-NonMarking
+
+
+
+
+ IncludeMarkingRunList
+
+
+
+
+
+
+
+ InsertDataFromEDS
+
+
+ True
+
+
+
+
+ InstrumentType
+
+
+ com.swissbank.eq.foundation.instruments.Stock
+
+
+
+
+
+ ReadDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+ WriteDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+
+
+ <_xmlProperties type="java.util.HashMap">
+
+
+
+ Objects_InTransaction
+
+
+ Commit
+
+
+
+
+ LogFolder
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs
+
+
+
+
+ ReportFileDir
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs/
+
+
+
+
+ ExcludedInstrumentListPath
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/config/excludedStocks.txt
+
+
+
+
+ ExcludeRefSymList
+
+
+
+
+
+
+
+ IncludeRefSymList
+
+
+
+
+
+
+
+ ExcludeMarkingRunList
+
+
+ ?:AUTO-NonMarking
+
+
+
+
+ IncludeMarkingRunList
+
+
+
+
+
+
+
+ InsertDataFromEDS
+
+
+ True
+
+
+
+
+ InstrumentType
+
+
+ com.swissbank.eq.foundation.instruments.Stock
+
+
+
+
+
+ ReadDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+ WriteDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+
+
+ <_xmlProperties type="java.util.HashMap">
+
+
+
+ Objects_InTransaction
+
+
+ Commit
+
+
+
+
+ LogFolder
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs
+
+
+
+
+ ReportFileDir
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs/
+
+
+
+
+ ExcludedInstrumentListPath
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/config/excludedStocks.txt
+
+
+
+
+ ExcludeRefSymList
+
+
+
+
+
+
+
+ IncludeRefSymList
+
+
+
+
+
+
+
+ ExcludeMarkingRunList
+
+
+ ?:AUTO-NonMarking
+
+
+
+
+ IncludeMarkingRunList
+
+
+
+
+
+
+
+ InsertDataFromEDS
+
+
+ True
+
+
+
+
+ InstrumentType
+
+
+ com.swissbank.eq.foundation.instruments.Stock
+
+
+
+
+
+ ReadDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+ WriteDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+
+
+ <_xmlProperties type="java.util.HashMap">
+
+
+
+ Objects_InTransaction
+
+
+ Commit
+
+
+
+
+ LogFolder
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs
+
+
+
+
+ ReportFileDir
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs/
+
+
+
+
+ ExcludedInstrumentListPath
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/config/excludedStocks.txt
+
+
+
+
+ ExcludeRefSymList
+
+
+
+
+
+
+
+ IncludeRefSymList
+
+
+
+
+
+
+
+ ExcludeMarkingRunList
+
+
+ ?:AUTO-NonMarking
+
+
+
+
+ IncludeMarkingRunList
+
+
+
+
+
+
+
+ InsertDataFromEDS
+
+
+ True
+
+
+
+
+ InstrumentType
+
+
+ com.swissbank.eq.foundation.instruments.Stock
+
+
+
+
+
+ ReadDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+ WriteDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+
+
+ <_xmlProperties type="java.util.HashMap">
+
+
+
+ Objects_InTransaction
+
+
+ Commit
+
+
+
+
+ LogFolder
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs
+
+
+
+
+ ReportFileDir
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs/
+
+
+
+
+ ExcludedInstrumentListPath
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/config/excludedStocks.txt
+
+
+
+
+ ExcludeRefSymList
+
+
+
+
+
+
+
+ IncludeRefSymList
+
+
+
+
+
+
+
+ ExcludeMarkingRunList
+
+
+ ?:AUTO-NonMarking
+
+
+
+
+ IncludeMarkingRunList
+
+
+
+
+
+
+
+ InsertDataFromEDS
+
+
+ True
+
+
+
+
+ InstrumentType
+
+
+ com.swissbank.eq.foundation.instruments.Stock
+
+
+
+
+
+ ReadDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+ WriteDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+
+
+ <_xmlProperties type="java.util.HashMap">
+
+
+
+ Objects_InTransaction
+
+
+ Commit
+
+
+
+
+ LogFolder
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs
+
+
+
+
+ ReportFileDir
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs/
+
+
+
+
+ ExcludedInstrumentListPath
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/config/excludedStocks.txt
+
+
+
+
+ ExcludeRefSymList
+
+
+
+
+
+
+
+ IncludeRefSymList
+
+
+
+
+
+
+
+ ExcludeMarkingRunList
+
+
+ ?:AUTO-NonMarking
+
+
+
+
+ IncludeMarkingRunList
+
+
+
+
+
+
+
+ InsertDataFromEDS
+
+
+ True
+
+
+
+
+ InstrumentType
+
+
+ com.swissbank.eq.foundation.instruments.Stock
+
+
+
+
+
+ ReadDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+ WriteDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+
+
+ <_xmlProperties type="java.util.HashMap">
+
+
+
+ Objects_InTransaction
+
+
+ Commit
+
+
+
+
+ LogFolder
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs
+
+
+
+
+ ReportFileDir
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs/
+
+
+
+
+ ExcludedInstrumentListPath
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/config/excludedStocks.txt
+
+
+
+
+ ExcludeRefSymList
+
+
+
+
+
+
+
+ IncludeRefSymList
+
+
+
+
+
+
+
+ ExcludeMarkingRunList
+
+
+ ?:AUTO-NonMarking
+
+
+
+
+ IncludeMarkingRunList
+
+
+
+
+
+
+
+ InsertDataFromEDS
+
+
+ True
+
+
+
+
+ InstrumentType
+
+
+ com.swissbank.eq.foundation.instruments.Stock
+
+
+
+
+
+ ReadDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+ WriteDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+
+
+ <_xmlProperties type="java.util.HashMap">
+
+
+
+ Objects_InTransaction
+
+
+ Commit
+
+
+
+
+ LogFolder
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs
+
+
+
+
+ ReportFileDir
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs/
+
+
+
+
+ ExcludedInstrumentListPath
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/config/excludedStocks.txt
+
+
+
+
+ ExcludeRefSymList
+
+
+
+
+
+
+
+ IncludeRefSymList
+
+
+
+
+
+
+
+ ExcludeMarkingRunList
+
+
+ ?:AUTO-NonMarking
+
+
+
+
+ IncludeMarkingRunList
+
+
+
+
+
+
+
+ InsertDataFromEDS
+
+
+ True
+
+
+
+
+ InstrumentType
+
+
+ com.swissbank.eq.foundation.instruments.Stock
+
+
+
+
+
+ ReadDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+ WriteDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+
+
+ <_xmlProperties type="java.util.HashMap">
+
+
+
+ Objects_InTransaction
+
+
+ Commit
+
+
+
+
+ LogFolder
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs
+
+
+
+
+ ReportFileDir
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs/
+
+
+
+
+ ExcludedInstrumentListPath
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/config/excludedStocks.txt
+
+
+
+
+ ExcludeRefSymList
+
+
+
+
+
+
+
+ IncludeRefSymList
+
+
+
+
+
+
+
+ ExcludeMarkingRunList
+
+
+ ?:AUTO-NonMarking
+
+
+
+
+ IncludeMarkingRunList
+
+
+
+
+
+
+
+ InsertDataFromEDS
+
+
+ True
+
+
+
+
+ InstrumentType
+
+
+ com.swissbank.eq.foundation.instruments.Stock
+
+
+
+
+
+ ReadDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+ WriteDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+
+
+ <_xmlProperties type="java.util.HashMap">
+
+
+
+ Objects_InTransaction
+
+
+ Commit
+
+
+
+
+ LogFolder
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs
+
+
+
+
+ ReportFileDir
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs/
+
+
+
+
+ ExcludedInstrumentListPath
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/config/excludedStocks.txt
+
+
+
+
+ ExcludeRefSymList
+
+
+
+
+
+
+
+ IncludeRefSymList
+
+
+
+
+
+
+
+ ExcludeMarkingRunList
+
+
+ ?:AUTO-NonMarking
+
+
+
+
+ IncludeMarkingRunList
+
+
+
+
+
+
+
+ InsertDataFromEDS
+
+
+ True
+
+
+
+
+ InstrumentType
+
+
+ com.swissbank.eq.foundation.instruments.Stock
+
+
+
+
+
+ ReadDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+ WriteDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+
+
+ <_xmlProperties type="java.util.HashMap">
+
+
+
+ Objects_InTransaction
+
+
+ Commit
+
+
+
+
+ LogFolder
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs
+
+
+
+
+ ReportFileDir
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs/
+
+
+
+
+ ExcludedInstrumentListPath
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/config/excludedStocks.txt
+
+
+
+
+ ExcludeRefSymList
+
+
+
+
+
+
+
+ IncludeRefSymList
+
+
+
+
+
+
+
+ ExcludeMarkingRunList
+
+
+ ?:AUTO-NonMarking
+
+
+
+
+ IncludeMarkingRunList
+
+
+
+
+
+
+
+ InsertDataFromEDS
+
+
+ True
+
+
+
+
+ InstrumentType
+
+
+ com.swissbank.eq.foundation.instruments.Stock
+
+
+
+
+
+ ReadDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+ WriteDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+
+
+ <_xmlProperties type="java.util.HashMap">
+
+
+
+ Objects_InTransaction
+
+
+ Commit
+
+
+
+
+ LogFolder
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs
+
+
+
+
+ ReportFileDir
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs/
+
+
+
+
+ ExcludedInstrumentListPath
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/config/excludedStocks.txt
+
+
+
+
+ ExcludeRefSymList
+
+
+
+
+
+
+
+ IncludeRefSymList
+
+
+
+
+
+
+
+ ExcludeMarkingRunList
+
+
+ ?:AUTO-NonMarking
+
+
+
+
+ IncludeMarkingRunList
+
+
+
+
+
+
+
+ InsertDataFromEDS
+
+
+ True
+
+
+
+
+ InstrumentType
+
+
+ com.swissbank.eq.foundation.instruments.Stock
+
+
+
+
+
+ ReadDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+ WriteDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+
+
+ <_xmlProperties type="java.util.HashMap">
+
+
+
+ Objects_InTransaction
+
+
+ Commit
+
+
+
+
+ LogFolder
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs
+
+
+
+
+ ReportFileDir
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs/
+
+
+
+
+ ExcludedInstrumentListPath
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/config/excludedStocks.txt
+
+
+
+
+ ExcludeRefSymList
+
+
+
+
+
+
+
+ IncludeRefSymList
+
+
+
+
+
+
+
+ ExcludeMarkingRunList
+
+
+ ?:AUTO-NonMarking
+
+
+
+
+ IncludeMarkingRunList
+
+
+
+
+
+
+
+ InsertDataFromEDS
+
+
+ True
+
+
+
+
+ InstrumentType
+
+
+ com.swissbank.eq.foundation.instruments.Stock
+
+
+
+
+
+ ReadDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+ WriteDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+
+
+ <_xmlProperties type="java.util.HashMap">
+
+
+
+ Objects_InTransaction
+
+
+ Commit
+
+
+
+
+ LogFolder
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs
+
+
+
+
+ ReportFileDir
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs/
+
+
+
+
+ ExcludedInstrumentListPath
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/config/excludedStocks.txt
+
+
+
+
+ ExcludeRefSymList
+
+
+
+
+
+
+
+ IncludeRefSymList
+
+
+
+
+
+
+
+ ExcludeMarkingRunList
+
+
+ ?:AUTO-NonMarking
+
+
+
+
+ IncludeMarkingRunList
+
+
+
+
+
+
+
+ InsertDataFromEDS
+
+
+ True
+
+
+
+
+ InstrumentType
+
+
+ com.swissbank.eq.foundation.instruments.Stock
+
+
+
+
+
+ ReadDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+ WriteDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+
+
+ <_xmlProperties type="java.util.HashMap">
+
+
+
+ Objects_InTransaction
+
+
+ Commit
+
+
+
+
+ LogFolder
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs
+
+
+
+
+ ReportFileDir
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs/
+
+
+
+
+ ExcludedInstrumentListPath
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/config/excludedStocks.txt
+
+
+
+
+ ExcludeRefSymList
+
+
+
+
+
+
+
+ IncludeRefSymList
+
+
+
+
+
+
+
+ ExcludeMarkingRunList
+
+
+ ?:AUTO-NonMarking
+
+
+
+
+ IncludeMarkingRunList
+
+
+
+
+
+
+
+ InsertDataFromEDS
+
+
+ True
+
+
+
+
+ InstrumentType
+
+
+ com.swissbank.eq.foundation.instruments.Stock
+
+
+
+
+
+ ReadDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+ WriteDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+
+
+ <_xmlProperties type="java.util.HashMap">
+
+
+
+ Objects_InTransaction
+
+
+ Commit
+
+
+
+
+ LogFolder
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs
+
+
+
+
+ ReportFileDir
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs/
+
+
+
+
+ ExcludedInstrumentListPath
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/config/excludedStocks.txt
+
+
+
+
+ ExcludeRefSymList
+
+
+
+
+
+
+
+ IncludeRefSymList
+
+
+
+
+
+
+
+ ExcludeMarkingRunList
+
+
+ ?:AUTO-NonMarking
+
+
+
+
+ IncludeMarkingRunList
+
+
+
+
+
+
+
+ InsertDataFromEDS
+
+
+ True
+
+
+
+
+ InstrumentType
+
+
+ com.swissbank.eq.foundation.instruments.Stock
+
+
+
+
+
+ ReadDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+ WriteDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+
+
+ <_xmlProperties type="java.util.HashMap">
+
+
+
+ Objects_InTransaction
+
+
+ Commit
+
+
+
+
+ LogFolder
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs
+
+
+
+
+ ReportFileDir
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs/
+
+
+
+
+ ExcludedInstrumentListPath
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/config/excludedStocks.txt
+
+
+
+
+ ExcludeRefSymList
+
+
+
+
+
+
+
+ IncludeRefSymList
+
+
+
+
+
+
+
+ ExcludeMarkingRunList
+
+
+ ?:AUTO-NonMarking
+
+
+
+
+ IncludeMarkingRunList
+
+
+
+
+
+
+
+ InsertDataFromEDS
+
+
+ True
+
+
+
+
+ InstrumentType
+
+
+ com.swissbank.eq.foundation.instruments.Stock
+
+
+
+
+
+ ReadDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+ WriteDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+
+
+ <_xmlProperties type="java.util.HashMap">
+
+
+
+ Objects_InTransaction
+
+
+ Commit
+
+
+
+
+ LogFolder
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs
+
+
+
+
+ ReportFileDir
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs/
+
+
+
+
+ ExcludedInstrumentListPath
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/config/excludedStocks.txt
+
+
+
+
+ ExcludeRefSymList
+
+
+
+
+
+
+
+ IncludeRefSymList
+
+
+
+
+
+
+
+ ExcludeMarkingRunList
+
+
+ ?:AUTO-NonMarking
+
+
+
+
+ IncludeMarkingRunList
+
+
+
+
+
+
+
+ InsertDataFromEDS
+
+
+ True
+
+
+
+
+ InstrumentType
+
+
+ com.swissbank.eq.foundation.instruments.Stock
+
+
+
+
+
+ ReadDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+ WriteDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+
+
+ <_xmlProperties type="java.util.HashMap">
+
+
+
+ Objects_InTransaction
+
+
+ Commit
+
+
+
+
+ LogFolder
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs
+
+
+
+
+ ReportFileDir
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs/
+
+
+
+
+ ExcludedInstrumentListPath
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/config/excludedStocks.txt
+
+
+
+
+ ExcludeRefSymList
+
+
+
+
+
+
+
+ IncludeRefSymList
+
+
+
+
+
+
+
+ ExcludeMarkingRunList
+
+
+ ?:AUTO-NonMarking
+
+
+
+
+ IncludeMarkingRunList
+
+
+
+
+
+
+
+ InsertDataFromEDS
+
+
+ True
+
+
+
+
+ InstrumentType
+
+
+ com.swissbank.eq.foundation.instruments.Stock
+
+
+
+
+
+ ReadDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+ WriteDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+
+
+ <_xmlProperties type="java.util.HashMap">
+
+
+
+ Objects_InTransaction
+
+
+ Commit
+
+
+
+
+ LogFolder
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs
+
+
+
+
+ ReportFileDir
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs/
+
+
+
+
+ ExcludedInstrumentListPath
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/config/excludedStocks.txt
+
+
+
+
+ ExcludeRefSymList
+
+
+
+
+
+
+
+ IncludeRefSymList
+
+
+
+
+
+
+
+ ExcludeMarkingRunList
+
+
+ ?:AUTO-NonMarking
+
+
+
+
+ IncludeMarkingRunList
+
+
+
+
+
+
+
+ InsertDataFromEDS
+
+
+ True
+
+
+
+
+ InstrumentType
+
+
+ com.swissbank.eq.foundation.instruments.Stock
+
+
+
+
+
+ ReadDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+ WriteDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+
+
+ <_xmlProperties type="java.util.HashMap">
+
+
+
+ Objects_InTransaction
+
+
+ Commit
+
+
+
+
+ LogFolder
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs
+
+
+
+
+ ReportFileDir
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs/
+
+
+
+
+ ExcludedInstrumentListPath
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/config/excludedStocks.txt
+
+
+
+
+ ExcludeRefSymList
+
+
+
+
+
+
+
+ IncludeRefSymList
+
+
+
+
+
+
+
+ ExcludeMarkingRunList
+
+
+ ?:AUTO-NonMarking
+
+
+
+
+ IncludeMarkingRunList
+
+
+
+
+
+
+
+ InsertDataFromEDS
+
+
+ True
+
+
+
+
+ InstrumentType
+
+
+ com.swissbank.eq.foundation.instruments.Stock
+
+
+
+
+
+ ReadDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+ WriteDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+
+
+ <_xmlProperties type="java.util.HashMap">
+
+
+
+ Objects_InTransaction
+
+
+ Commit
+
+
+
+
+ LogFolder
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs
+
+
+
+
+ ReportFileDir
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs/
+
+
+
+
+ ExcludedInstrumentListPath
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/config/excludedStocks.txt
+
+
+
+
+ ExcludeRefSymList
+
+
+
+
+
+
+
+ IncludeRefSymList
+
+
+
+
+
+
+
+ ExcludeMarkingRunList
+
+
+ ?:AUTO-NonMarking
+
+
+
+
+ IncludeMarkingRunList
+
+
+
+
+
+
+
+ InsertDataFromEDS
+
+
+ True
+
+
+
+
+ InstrumentType
+
+
+ com.swissbank.eq.foundation.instruments.Stock
+
+
+
+
+
+ ReadDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+ WriteDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+
+
+ <_xmlProperties type="java.util.HashMap">
+
+
+
+ Objects_InTransaction
+
+
+ Commit
+
+
+
+
+ LogFolder
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs
+
+
+
+
+ ReportFileDir
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs/
+
+
+
+
+ ExcludedInstrumentListPath
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/config/excludedStocks.txt
+
+
+
+
+ ExcludeRefSymList
+
+
+
+
+
+
+
+ IncludeRefSymList
+
+
+
+
+
+
+
+ ExcludeMarkingRunList
+
+
+ ?:AUTO-NonMarking
+
+
+
+
+ IncludeMarkingRunList
+
+
+
+
+
+
+
+ InsertDataFromEDS
+
+
+ True
+
+
+
+
+ InstrumentType
+
+
+ com.swissbank.eq.foundation.instruments.Stock
+
+
+
+
+
+ ReadDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+ WriteDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+
+
+ <_xmlProperties type="java.util.HashMap">
+
+
+
+ Objects_InTransaction
+
+
+ Commit
+
+
+
+
+ LogFolder
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs
+
+
+
+
+ ReportFileDir
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs/
+
+
+
+
+ ExcludedInstrumentListPath
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/config/excludedStocks.txt
+
+
+
+
+ ExcludeRefSymList
+
+
+
+
+
+
+
+ IncludeRefSymList
+
+
+
+
+
+
+
+ ExcludeMarkingRunList
+
+
+ ?:AUTO-NonMarking
+
+
+
+
+ IncludeMarkingRunList
+
+
+
+
+
+
+
+ InsertDataFromEDS
+
+
+ True
+
+
+
+
+ InstrumentType
+
+
+ com.swissbank.eq.foundation.instruments.Stock
+
+
+
+
+
+ ReadDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+ WriteDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+
+
+ <_xmlProperties type="java.util.HashMap">
+
+
+
+ Objects_InTransaction
+
+
+ Commit
+
+
+
+
+ LogFolder
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs
+
+
+
+
+ ReportFileDir
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs/
+
+
+
+
+ ExcludedInstrumentListPath
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/config/excludedStocks.txt
+
+
+
+
+ ExcludeRefSymList
+
+
+
+
+
+
+
+ IncludeRefSymList
+
+
+
+
+
+
+
+ ExcludeMarkingRunList
+
+
+ ?:AUTO-NonMarking
+
+
+
+
+ IncludeMarkingRunList
+
+
+
+
+
+
+
+ InsertDataFromEDS
+
+
+ True
+
+
+
+
+ InstrumentType
+
+
+ com.swissbank.eq.foundation.instruments.Stock
+
+
+
+
+
+ ReadDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+ WriteDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+
+
+ <_xmlProperties type="java.util.HashMap">
+
+
+
+ Objects_InTransaction
+
+
+ Commit
+
+
+
+
+ LogFolder
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs
+
+
+
+
+ ReportFileDir
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs/
+
+
+
+
+ ExcludedInstrumentListPath
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/config/excludedStocks.txt
+
+
+
+
+ ExcludeRefSymList
+
+
+
+
+
+
+
+ IncludeRefSymList
+
+
+
+
+
+
+
+ ExcludeMarkingRunList
+
+
+ ?:AUTO-NonMarking
+
+
+
+
+ IncludeMarkingRunList
+
+
+
+
+
+
+
+ InsertDataFromEDS
+
+
+ True
+
+
+
+
+ InstrumentType
+
+
+ com.swissbank.eq.foundation.instruments.Stock
+
+
+
+
+
+ ReadDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+ WriteDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+
+
+ <_xmlProperties type="java.util.HashMap">
+
+
+
+ Objects_InTransaction
+
+
+ Commit
+
+
+
+
+ LogFolder
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs
+
+
+
+
+ ReportFileDir
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs/
+
+
+
+
+ ExcludedInstrumentListPath
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/config/excludedStocks.txt
+
+
+
+
+ ExcludeRefSymList
+
+
+
+
+
+
+
+ IncludeRefSymList
+
+
+
+
+
+
+
+ ExcludeMarkingRunList
+
+
+ ?:AUTO-NonMarking
+
+
+
+
+ IncludeMarkingRunList
+
+
+
+
+
+
+
+ InsertDataFromEDS
+
+
+ True
+
+
+
+
+ InstrumentType
+
+
+ com.swissbank.eq.foundation.instruments.Stock
+
+
+
+
+
+ ReadDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+ WriteDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+
+
+ <_xmlProperties type="java.util.HashMap">
+
+
+
+ Objects_InTransaction
+
+
+ Commit
+
+
+
+
+ LogFolder
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs
+
+
+
+
+ ReportFileDir
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs/
+
+
+
+
+ ExcludedInstrumentListPath
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/config/excludedStocks.txt
+
+
+
+
+ ExcludeRefSymList
+
+
+
+
+
+
+
+ IncludeRefSymList
+
+
+
+
+
+
+
+ ExcludeMarkingRunList
+
+
+ ?:AUTO-NonMarking
+
+
+
+
+ IncludeMarkingRunList
+
+
+
+
+
+
+
+ InsertDataFromEDS
+
+
+ True
+
+
+
+
+ InstrumentType
+
+
+ com.swissbank.eq.foundation.instruments.Stock
+
+
+
+
+
+ ReadDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+ WriteDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+
+
+ <_xmlProperties type="java.util.HashMap">
+
+
+
+ Objects_InTransaction
+
+
+ Commit
+
+
+
+
+ LogFolder
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs
+
+
+
+
+ ReportFileDir
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs/
+
+
+
+
+ ExcludedInstrumentListPath
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/config/excludedStocks.txt
+
+
+
+
+ ExcludeRefSymList
+
+
+
+
+
+
+
+ IncludeRefSymList
+
+
+
+
+
+
+
+ ExcludeMarkingRunList
+
+
+ ?:AUTO-NonMarking
+
+
+
+
+ IncludeMarkingRunList
+
+
+
+
+
+
+
+ InsertDataFromEDS
+
+
+ True
+
+
+
+
+ InstrumentType
+
+
+ com.swissbank.eq.foundation.instruments.Stock
+
+
+
+
+
+ ReadDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+ WriteDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+
+
+ <_xmlProperties type="java.util.HashMap">
+
+
+
+ Objects_InTransaction
+
+
+ Commit
+
+
+
+
+ LogFolder
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs
+
+
+
+
+ ReportFileDir
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs/
+
+
+
+
+ ExcludedInstrumentListPath
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/config/excludedStocks.txt
+
+
+
+
+ ExcludeRefSymList
+
+
+
+
+
+
+
+ IncludeRefSymList
+
+
+
+
+
+
+
+ ExcludeMarkingRunList
+
+
+ ?:AUTO-NonMarking
+
+
+
+
+ IncludeMarkingRunList
+
+
+
+
+
+
+
+ InsertDataFromEDS
+
+
+ True
+
+
+
+
+ InstrumentType
+
+
+ com.swissbank.eq.foundation.instruments.Stock
+
+
+
+
+
+ ReadDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+ WriteDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+
+
+ <_xmlProperties type="java.util.HashMap">
+
+
+
+ Objects_InTransaction
+
+
+ Commit
+
+
+
+
+ LogFolder
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs
+
+
+
+
+ ReportFileDir
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs/
+
+
+
+
+ ExcludedInstrumentListPath
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/config/excludedStocks.txt
+
+
+
+
+ ExcludeRefSymList
+
+
+
+
+
+
+
+ IncludeRefSymList
+
+
+
+
+
+
+
+ ExcludeMarkingRunList
+
+
+ ?:AUTO-NonMarking
+
+
+
+
+ IncludeMarkingRunList
+
+
+
+
+
+
+
+ InsertDataFromEDS
+
+
+ True
+
+
+
+
+ InstrumentType
+
+
+ com.swissbank.eq.foundation.instruments.Stock
+
+
+
+
+
+ ReadDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+ WriteDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+
+
+ <_xmlProperties type="java.util.HashMap">
+
+
+
+ Objects_InTransaction
+
+
+ Commit
+
+
+
+
+ LogFolder
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs
+
+
+
+
+ ReportFileDir
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs/
+
+
+
+
+ ExcludedInstrumentListPath
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/config/excludedStocks.txt
+
+
+
+
+ ExcludeRefSymList
+
+
+
+
+
+
+
+ IncludeRefSymList
+
+
+
+
+
+
+
+ ExcludeMarkingRunList
+
+
+ ?:AUTO-NonMarking
+
+
+
+
+ IncludeMarkingRunList
+
+
+
+
+
+
+
+ InsertDataFromEDS
+
+
+ True
+
+
+
+
+ InstrumentType
+
+
+ com.swissbank.eq.foundation.instruments.Stock
+
+
+
+
+
+ ReadDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+ WriteDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+
+
+ <_xmlProperties type="java.util.HashMap">
+
+
+
+ Objects_InTransaction
+
+
+ Commit
+
+
+
+
+ LogFolder
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs
+
+
+
+
+ ReportFileDir
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs/
+
+
+
+
+ ExcludedInstrumentListPath
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/config/excludedStocks.txt
+
+
+
+
+ ExcludeRefSymList
+
+
+
+
+
+
+
+ IncludeRefSymList
+
+
+
+
+
+
+
+ ExcludeMarkingRunList
+
+
+ ?:AUTO-NonMarking
+
+
+
+
+ IncludeMarkingRunList
+
+
+
+
+
+
+
+ InsertDataFromEDS
+
+
+ True
+
+
+
+
+ InstrumentType
+
+
+ com.swissbank.eq.foundation.instruments.Stock
+
+
+
+
+
+ ReadDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+ WriteDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+
+
+ <_xmlProperties type="java.util.HashMap">
+
+
+
+ Objects_InTransaction
+
+
+ Commit
+
+
+
+
+ LogFolder
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs
+
+
+
+
+ ReportFileDir
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs/
+
+
+
+
+ ExcludedInstrumentListPath
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/config/excludedStocks.txt
+
+
+
+
+ ExcludeRefSymList
+
+
+
+
+
+
+
+ IncludeRefSymList
+
+
+
+
+
+
+
+ ExcludeMarkingRunList
+
+
+ ?:AUTO-NonMarking
+
+
+
+
+ IncludeMarkingRunList
+
+
+
+
+
+
+
+ InsertDataFromEDS
+
+
+ True
+
+
+
+
+ InstrumentType
+
+
+ com.swissbank.eq.foundation.instruments.Stock
+
+
+
+
+
+ ReadDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+ WriteDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+
diff --git a/xml/tests/testData/psi/test1.xml b/xml/tests/testData/psi/test1.xml
new file mode 100644
index 000000000000..9003851c7a50
--- /dev/null
+++ b/xml/tests/testData/psi/test1.xml
@@ -0,0 +1,145 @@
+
+ <_xmlProperties type="java.util.HashMap">
+
+
+
+ DSApplication
+
+
+ Mercury
+
+
+
+
+ DSEnvironment
+
+
+ Mercury/ExtIDCleanUp
+
+
+
+
+ DSLocation
+
+
+ london
+
+
+
+
+ DSLanguage
+
+
+ Java
+
+
+
+
+ outputOperationList
+
+
+ Commit
+
+
+
+
+ Objects_InTransaction
+
+
+ Commit
+
+
+
+
+ LogFolder
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs
+
+
+
+
+ ReportFileDir
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs/
+
+
+
+
+ ExcludedInstrumentListPath
+
+
+ C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/config/excludedStocks.txt
+
+
+
+
+ ExcludeRefSymList
+
+
+
+
+
+
+
+ IncludeRefSymList
+
+
+
+
+
+
+
+ ExcludeMarkingRunList
+
+
+ ?:AUTO-NonMarking
+
+
+
+
+ IncludeMarkingRunList
+
+
+
+
+
+
+
+ InsertDataFromEDS
+
+
+ True
+
+
+
+
+ InstrumentType
+
+
+ com.swissbank.eq.foundation.instruments.Stock
+
+
+
+
+
+ ReadDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+ WriteDataSource
+
+
+ eq=syb/schi6083dsy.chi.swissbank.com/9997/grCBEuro_EnA/grAppUser/a1rf0rce
+
+
+
+
+
+
+
diff --git a/xml/tests/testData/psi/testAttlist1.txt b/xml/tests/testData/psi/testAttlist1.txt
new file mode 100644
index 000000000000..04ec4f6910d8
--- /dev/null
+++ b/xml/tests/testData/psi/testAttlist1.txt
@@ -0,0 +1,23 @@
+XmlFile:test.dtd
+ PsiElement(XML_DOCUMENT)
+ PsiElement(XML_PROLOG)
+
+ PsiElement(XML_ATTLIST_DECL)
+ XmlToken:XML_ATTLIST_DECL_START('')
\ No newline at end of file
diff --git a/xml/tests/testData/psi/testAttlist2.txt b/xml/tests/testData/psi/testAttlist2.txt
new file mode 100644
index 000000000000..10d0e2875456
--- /dev/null
+++ b/xml/tests/testData/psi/testAttlist2.txt
@@ -0,0 +1,26 @@
+XmlFile:test.dtd
+ PsiElement(XML_DOCUMENT)
+ PsiElement(XML_PROLOG)
+
+ PsiElement(XML_ATTLIST_DECL)
+ XmlToken:XML_ATTLIST_DECL_START('')
\ No newline at end of file
diff --git a/xml/tests/testData/psi/testAttlist3.txt b/xml/tests/testData/psi/testAttlist3.txt
new file mode 100644
index 000000000000..a89d15265376
--- /dev/null
+++ b/xml/tests/testData/psi/testAttlist3.txt
@@ -0,0 +1,21 @@
+XmlFile:test.dtd
+ PsiElement(XML_DOCUMENT)
+ PsiElement(XML_PROLOG)
+
+ PsiElement(XML_ATTLIST_DECL)
+ XmlToken:XML_ATTLIST_DECL_START('')
\ No newline at end of file
diff --git a/xml/tests/testData/psi/testAttlist4.txt b/xml/tests/testData/psi/testAttlist4.txt
new file mode 100644
index 000000000000..7aed212314e1
--- /dev/null
+++ b/xml/tests/testData/psi/testAttlist4.txt
@@ -0,0 +1,20 @@
+XmlFile:test.dtd
+ PsiElement(XML_DOCUMENT)
+ PsiElement(XML_PROLOG)
+
+ PsiElement(XML_ATTLIST_DECL)
+ XmlToken:XML_ATTLIST_DECL_START('')
\ No newline at end of file
diff --git a/xml/tests/testData/psi/testAttributes1.txt b/xml/tests/testData/psi/testAttributes1.txt
new file mode 100644
index 000000000000..eab9943e0ce3
--- /dev/null
+++ b/xml/tests/testData/psi/testAttributes1.txt
@@ -0,0 +1,27 @@
+XmlFile:test.xml
+ PsiElement(XML_DOCUMENT)
+ PsiElement(XML_PROLOG)
+
+ XmlTag:a
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('a')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('att1')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER(''')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('val1')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER(''')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('att2')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('val2')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ XmlToken:XML_TAG_END('>')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('a')
+ XmlToken:XML_TAG_END('>')
\ No newline at end of file
diff --git a/xml/tests/testData/psi/testAttributes2.txt b/xml/tests/testData/psi/testAttributes2.txt
new file mode 100644
index 000000000000..3d9e35c1fca9
--- /dev/null
+++ b/xml/tests/testData/psi/testAttributes2.txt
@@ -0,0 +1,30 @@
+XmlFile:test.xml
+ PsiElement(XML_DOCUMENT)
+ PsiElement(XML_PROLOG)
+
+ XmlTag:a
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('a')
+ XmlToken:XML_TAG_END('>')
+ XmlTag:b
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('b')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('c')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace(' ')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('b')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace(' ')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('a')
+ XmlToken:XML_TAG_END('>')
\ No newline at end of file
diff --git a/xml/tests/testData/psi/testAttributes3.txt b/xml/tests/testData/psi/testAttributes3.txt
new file mode 100644
index 000000000000..7697a9902dc6
--- /dev/null
+++ b/xml/tests/testData/psi/testAttributes3.txt
@@ -0,0 +1,31 @@
+XmlFile:test.xml
+ PsiElement(XML_DOCUMENT)
+ PsiElement(XML_PROLOG)
+
+ XmlTag:a
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('a')
+ XmlToken:XML_TAG_END('>')
+ XmlTag:b
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('b')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('c')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('a, b, c')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace(' ')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('b')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace(' ')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('a')
+ XmlToken:XML_TAG_END('>')
\ No newline at end of file
diff --git a/xml/tests/testData/psi/testAttributes4.txt b/xml/tests/testData/psi/testAttributes4.txt
new file mode 100644
index 000000000000..96095b9924b7
--- /dev/null
+++ b/xml/tests/testData/psi/testAttributes4.txt
@@ -0,0 +1,31 @@
+XmlFile:test.xml
+ PsiElement(XML_DOCUMENT)
+ PsiElement(XML_PROLOG)
+
+ XmlTag:a
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('a')
+ XmlToken:XML_TAG_END('>')
+ XmlTag:b
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('b')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('c')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('a b')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace(' ')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('b')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace(' ')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('a')
+ XmlToken:XML_TAG_END('>')
\ No newline at end of file
diff --git a/xml/tests/testData/psi/testAttributes5.txt b/xml/tests/testData/psi/testAttributes5.txt
new file mode 100644
index 000000000000..0f477d685707
--- /dev/null
+++ b/xml/tests/testData/psi/testAttributes5.txt
@@ -0,0 +1,37 @@
+XmlFile:test.xml
+ PsiElement(XML_DOCUMENT)
+ PsiElement(XML_PROLOG)
+
+ XmlTag:a
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('a')
+ XmlToken:XML_TAG_END('>')
+ XmlTag:b
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('b')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('c')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('a')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('d')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace(' ')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('b')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace(' ')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('a')
+ XmlToken:XML_TAG_END('>')
\ No newline at end of file
diff --git a/xml/tests/testData/psi/testCdata1.txt b/xml/tests/testData/psi/testCdata1.txt
new file mode 100644
index 000000000000..cb1f5b7da2dd
--- /dev/null
+++ b/xml/tests/testData/psi/testCdata1.txt
@@ -0,0 +1,16 @@
+XmlFile:test.xml
+ PsiElement(XML_DOCUMENT)
+ PsiElement(XML_PROLOG)
+
+ XmlTag:a
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('a')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiElement(XML_CDATA)
+ XmlToken:XML_CDATA_START('Hello, world!')
+ XmlToken:XML_CDATA_END(']]>')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('a')
+ XmlToken:XML_TAG_END('>')
\ No newline at end of file
diff --git a/xml/tests/testData/psi/testCdata2.txt b/xml/tests/testData/psi/testCdata2.txt
new file mode 100644
index 000000000000..ea41da77375a
--- /dev/null
+++ b/xml/tests/testData/psi/testCdata2.txt
@@ -0,0 +1,16 @@
+XmlFile:test.xml
+ PsiElement(XML_DOCUMENT)
+ PsiElement(XML_PROLOG)
+
+ XmlTag:a
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('a')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiElement(XML_CDATA)
+ XmlToken:XML_CDATA_START('--> more data')
+ XmlToken:XML_CDATA_END(']]>')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('a')
+ XmlToken:XML_TAG_END('>')
\ No newline at end of file
diff --git a/xml/tests/testData/psi/testCharRef1.txt b/xml/tests/testData/psi/testCharRef1.txt
new file mode 100644
index 000000000000..7204f58e4dc0
--- /dev/null
+++ b/xml/tests/testData/psi/testCharRef1.txt
@@ -0,0 +1,13 @@
+XmlFile:test.xml
+ PsiElement(XML_DOCUMENT)
+ PsiElement(XML_PROLOG)
+
+ XmlTag:a
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('a')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_CHAR_ENTITY_REF('{')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('a')
+ XmlToken:XML_TAG_END('>')
\ No newline at end of file
diff --git a/xml/tests/testData/psi/testCharRef2.txt b/xml/tests/testData/psi/testCharRef2.txt
new file mode 100644
index 000000000000..5844bc3e8564
--- /dev/null
+++ b/xml/tests/testData/psi/testCharRef2.txt
@@ -0,0 +1,13 @@
+XmlFile:test.xml
+ PsiElement(XML_DOCUMENT)
+ PsiElement(XML_PROLOG)
+
+ XmlTag:a
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('a')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_CHAR_ENTITY_REF('ģ')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('a')
+ XmlToken:XML_TAG_END('>')
\ No newline at end of file
diff --git a/xml/tests/testData/psi/testCharRef3.txt b/xml/tests/testData/psi/testCharRef3.txt
new file mode 100644
index 000000000000..b0bd39ddff05
--- /dev/null
+++ b/xml/tests/testData/psi/testCharRef3.txt
@@ -0,0 +1,9 @@
+XmlFile:test.xml
+ PsiElement(XML_DOCUMENT)
+ PsiElement(XML_PROLOG)
+
+ PsiErrorElement:Top level element is not completed
+ XmlToken:XML_CHAR_ENTITY_REF('{')
+ XmlTag:
+ PsiErrorElement:Valid XML document must have a root tag
+
\ No newline at end of file
diff --git a/xml/tests/testData/psi/testCharRef4.txt b/xml/tests/testData/psi/testCharRef4.txt
new file mode 100644
index 000000000000..213207c91cf3
--- /dev/null
+++ b/xml/tests/testData/psi/testCharRef4.txt
@@ -0,0 +1,9 @@
+XmlFile:test.xml
+ PsiElement(XML_DOCUMENT)
+ PsiElement(XML_PROLOG)
+
+ PsiErrorElement:Top level element is not completed
+ XmlToken:XML_CHAR_ENTITY_REF('')
+ XmlTag:
+ PsiErrorElement:Valid XML document must have a root tag
+
\ No newline at end of file
diff --git a/xml/tests/testData/psi/testCharRef5.txt b/xml/tests/testData/psi/testCharRef5.txt
new file mode 100644
index 000000000000..0e10d132d038
--- /dev/null
+++ b/xml/tests/testData/psi/testCharRef5.txt
@@ -0,0 +1,17 @@
+XmlFile:test.xml
+ PsiElement(XML_DOCUMENT)
+ PsiElement(XML_PROLOG)
+
+ XmlTag:a
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('a')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('attr')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('abc')
+ XmlToken:XML_CHAR_ENTITY_REF('{')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ XmlToken:XML_EMPTY_ELEMENT_END('/>')
\ No newline at end of file
diff --git a/xml/tests/testData/psi/testCharacters1.txt b/xml/tests/testData/psi/testCharacters1.txt
new file mode 100644
index 000000000000..f83325c9ff79
--- /dev/null
+++ b/xml/tests/testData/psi/testCharacters1.txt
@@ -0,0 +1,15 @@
+XmlFile:test.xml
+ PsiElement(XML_DOCUMENT)
+ PsiElement(XML_PROLOG)
+
+ XmlTag:a
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('a')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('someChar')
+ PsiWhiteSpace('\n')
+ XmlToken:XML_DATA_CHARACTERS('Data')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('a')
+ XmlToken:XML_TAG_END('>')
\ No newline at end of file
diff --git a/xml/tests/testData/psi/testComment1.txt b/xml/tests/testData/psi/testComment1.txt
new file mode 100644
index 000000000000..c41382d11fd0
--- /dev/null
+++ b/xml/tests/testData/psi/testComment1.txt
@@ -0,0 +1,11 @@
+XmlFile:test.xml
+ PsiElement(XML_DOCUMENT)
+ PsiElement(XML_COMMENT)
+ XmlToken:XML_COMMENT_START('')
+ PsiElement(XML_PROLOG)
+
+ XmlTag:
+ PsiErrorElement:Valid XML document must have a root tag
+
\ No newline at end of file
diff --git a/xml/tests/testData/psi/testComment2.txt b/xml/tests/testData/psi/testComment2.txt
new file mode 100644
index 000000000000..e44ec781fcef
--- /dev/null
+++ b/xml/tests/testData/psi/testComment2.txt
@@ -0,0 +1,32 @@
+XmlFile:test.dtd
+ PsiElement(XML_DOCUMENT)
+ PsiElement(XML_PROLOG)
+
+ PsiElement(XML_ELEMENT_DECL)
+ XmlToken:XML_ELEMENT_DECL_START('')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_COMMENT)
+ XmlToken:XML_COMMENT_START('')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTLIST_DECL)
+ XmlToken:XML_ATTLIST_DECL_START('
+ XmlTag:a
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('a')
+ XmlToken:XML_TAG_END('>')
+ PsiElement(XML_COMMENT)
+ XmlToken:XML_COMMENT_START('')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('a')
+ XmlToken:XML_TAG_END('>')
\ No newline at end of file
diff --git a/xml/tests/testData/psi/testConditionalSection1.txt b/xml/tests/testData/psi/testConditionalSection1.txt
new file mode 100644
index 000000000000..3d5383765779
--- /dev/null
+++ b/xml/tests/testData/psi/testConditionalSection1.txt
@@ -0,0 +1,21 @@
+XmlFile:test.dtd
+ PsiElement(XML_DOCUMENT)
+ PsiElement(XML_PROLOG)
+
+ PsiElement(XML_CONDITIONAL_SECTION)
+ XmlToken:XML_CONDITIONAL_SECTION_START('')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_CONDITIONAL_SECTION_END(']]>')
\ No newline at end of file
diff --git a/xml/tests/testData/psi/testConditionalSection2.txt b/xml/tests/testData/psi/testConditionalSection2.txt
new file mode 100644
index 000000000000..ad6c661308c2
--- /dev/null
+++ b/xml/tests/testData/psi/testConditionalSection2.txt
@@ -0,0 +1,33 @@
+XmlFile:test.dtd
+ PsiElement(XML_DOCUMENT)
+ PsiElement(XML_PROLOG)
+
+ PsiElement(XML_CONDITIONAL_SECTION)
+ XmlToken:XML_CONDITIONAL_SECTION_START('')
+ PsiWhiteSpace('\n')
+ XmlToken:XML_CONDITIONAL_SECTION_END(']]>')
+ PsiWhiteSpace('\n')
+ XmlToken:XML_CONDITIONAL_SECTION_END(']]>')
\ No newline at end of file
diff --git a/xml/tests/testData/psi/testConditionalSection3.txt b/xml/tests/testData/psi/testConditionalSection3.txt
new file mode 100644
index 000000000000..73d3cab6bfab
--- /dev/null
+++ b/xml/tests/testData/psi/testConditionalSection3.txt
@@ -0,0 +1,49 @@
+XmlFile:test.dtd
+ PsiElement(XML_DOCUMENT)
+ PsiElement(XML_PROLOG)
+
+ PsiElement(XML_ENTITY_DECL)
+ XmlToken:XML_ENTITY_DECL_START('')
+ PsiWhiteSpace('\n')
+ PsiElement(XML_CONDITIONAL_SECTION)
+ XmlToken:XML_CONDITIONAL_SECTION_START('')
+ PsiWhiteSpace('\n')
+ PsiElement(XML_ENTITY_REF)
+ XmlToken:XML_ENTITY_REF_TOKEN('%dbhier;')
+ PsiWhiteSpace('\n')
+ XmlToken:XML_CONDITIONAL_SECTION_END(']]>')
\ No newline at end of file
diff --git a/xml/tests/testData/psi/testContent1.txt b/xml/tests/testData/psi/testContent1.txt
new file mode 100644
index 000000000000..af7e9d7ee4aa
--- /dev/null
+++ b/xml/tests/testData/psi/testContent1.txt
@@ -0,0 +1,15 @@
+XmlFile:test.xml
+ PsiElement(XML_DOCUMENT)
+ PsiElement(XML_PROLOG)
+
+ XmlTag:a
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('a')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace(' \n')
+ XmlToken:XML_DATA_CHARACTERS('xxx')
+ PsiWhiteSpace(' \n')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('a')
+ XmlToken:XML_TAG_END('>')
\ No newline at end of file
diff --git a/xml/tests/testData/psi/testDoctype1.txt b/xml/tests/testData/psi/testDoctype1.txt
new file mode 100644
index 000000000000..4987170d4210
--- /dev/null
+++ b/xml/tests/testData/psi/testDoctype1.txt
@@ -0,0 +1,15 @@
+XmlFile:test.xml
+ PsiElement(XML_DOCUMENT)
+ PsiElement(XML_PROLOG)
+ PsiElement(XML_DOCTYPE)
+ XmlToken:XML_DOCTYPE_START('')
+ XmlTag:
+ PsiErrorElement:Valid XML document must have a root tag
+
\ No newline at end of file
diff --git a/xml/tests/testData/psi/testDoctype2.txt b/xml/tests/testData/psi/testDoctype2.txt
new file mode 100644
index 000000000000..bede324d2baf
--- /dev/null
+++ b/xml/tests/testData/psi/testDoctype2.txt
@@ -0,0 +1,17 @@
+XmlFile:test.xml
+ PsiElement(XML_DOCUMENT)
+ PsiElement(XML_PROLOG)
+ PsiElement(XML_DOCTYPE)
+ XmlToken:XML_DOCTYPE_START('')
+ XmlTag:
+ PsiErrorElement:Valid XML document must have a root tag
+
\ No newline at end of file
diff --git a/xml/tests/testData/psi/testDoctype3.txt b/xml/tests/testData/psi/testDoctype3.txt
new file mode 100644
index 000000000000..07484c68fe8d
--- /dev/null
+++ b/xml/tests/testData/psi/testDoctype3.txt
@@ -0,0 +1,26 @@
+XmlFile:test.xml
+ PsiElement(XML_DOCUMENT)
+ PsiElement(XML_PROLOG)
+ PsiElement(XML_DOCTYPE)
+ XmlToken:XML_DOCTYPE_START('')
+ XmlToken:XML_MARKUP_END(']')
+ XmlToken:XML_DOCTYPE_END('>')
+ XmlTag:
+ PsiErrorElement:Valid XML document must have a root tag
+
\ No newline at end of file
diff --git a/xml/tests/testData/psi/testDoctype4.txt b/xml/tests/testData/psi/testDoctype4.txt
new file mode 100644
index 000000000000..781699f7c40a
--- /dev/null
+++ b/xml/tests/testData/psi/testDoctype4.txt
@@ -0,0 +1,23 @@
+XmlFile:test.xml
+ PsiElement(XML_DOCUMENT)
+ PsiElement(XML_PROLOG)
+ PsiElement(XML_DOCTYPE)
+ XmlToken:XML_DOCTYPE_START('')
+ XmlToken:XML_MARKUP_END(']')
+ XmlToken:XML_DOCTYPE_END('>')
+ XmlTag:
+ PsiErrorElement:Valid XML document must have a root tag
+
\ No newline at end of file
diff --git a/xml/tests/testData/psi/testDoctype5.txt b/xml/tests/testData/psi/testDoctype5.txt
new file mode 100644
index 000000000000..5872e1ce23fe
--- /dev/null
+++ b/xml/tests/testData/psi/testDoctype5.txt
@@ -0,0 +1,37 @@
+XmlFile:test.xml
+ PsiElement(XML_DOCUMENT)
+ PsiElement(XML_PROLOG)
+ PsiElement(XML_DOCTYPE)
+ XmlToken:XML_DOCTYPE_START('')
+ XmlToken:XML_MARKUP_END(']')
+ XmlToken:XML_DOCTYPE_END('>')
+ XmlTag:
+ PsiErrorElement:Valid XML document must have a root tag
+
\ No newline at end of file
diff --git a/xml/tests/testData/psi/testDoctype6.txt b/xml/tests/testData/psi/testDoctype6.txt
new file mode 100644
index 000000000000..faa84583b568
--- /dev/null
+++ b/xml/tests/testData/psi/testDoctype6.txt
@@ -0,0 +1,26 @@
+XmlFile:test.xml
+ PsiElement(XML_DOCUMENT)
+ PsiElement(XML_PROLOG)
+ PsiElement(XML_DOCTYPE)
+ XmlToken:XML_DOCTYPE_START('')
+ XmlToken:XML_MARKUP_END(']')
+ XmlToken:XML_DOCTYPE_END('>')
+ XmlTag:
+ PsiErrorElement:Valid XML document must have a root tag
+
\ No newline at end of file
diff --git a/xml/tests/testData/psi/testDoctype7.txt b/xml/tests/testData/psi/testDoctype7.txt
new file mode 100644
index 000000000000..af964966bbfd
--- /dev/null
+++ b/xml/tests/testData/psi/testDoctype7.txt
@@ -0,0 +1,38 @@
+XmlFile:test.xml
+ PsiElement(XML_DOCUMENT)
+ PsiElement(XML_PROLOG)
+ PsiElement(XML_PROCESSING_INSTRUCTION)
+ XmlToken:XML_PI_START('')
+ XmlToken:XML_NAME('xml')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_NAME('version')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER(''')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('1.0')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER(''')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_NAME('encoding')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER(''')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('ISO-8859-1')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER(''')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_PI_END('?>')
+ PsiElement(XML_DOCTYPE)
+ XmlToken:XML_DOCTYPE_START('')
+ XmlTag:test
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('test')
+ XmlToken:XML_TAG_END('>')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('test')
+ XmlToken:XML_TAG_END('>')
\ No newline at end of file
diff --git a/xml/tests/testData/psi/testDtd1.txt b/xml/tests/testData/psi/testDtd1.txt
new file mode 100644
index 000000000000..1506a7a656a5
--- /dev/null
+++ b/xml/tests/testData/psi/testDtd1.txt
@@ -0,0 +1,28 @@
+XmlFile:test.dtd
+ PsiElement(XML_DOCUMENT)
+ PsiElement(XML_PROLOG)
+
+ PsiElement(XML_ELEMENT_DECL)
+ XmlToken:XML_ELEMENT_DECL_START('')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTLIST_DECL)
+ XmlToken:XML_ATTLIST_DECL_START('')
\ No newline at end of file
diff --git a/xml/tests/testData/psi/testEditing1.txt b/xml/tests/testData/psi/testEditing1.txt
new file mode 100644
index 000000000000..b59606a7da35
--- /dev/null
+++ b/xml/tests/testData/psi/testEditing1.txt
@@ -0,0 +1,16 @@
+XmlFile:test.xml
+ PsiElement(XML_DOCUMENT)
+ PsiElement(XML_PROLOG)
+
+ XmlTag:
+ XmlToken:XML_START_TAG_START('<')
+ PsiErrorElement:Tag name expected
+
+ XmlTag:a
+ PsiErrorElement:Multiple root tags
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('a')
+ XmlToken:XML_TAG_END('>')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('a')
+ XmlToken:XML_TAG_END('>')
\ No newline at end of file
diff --git a/xml/tests/testData/psi/testEditing2.txt b/xml/tests/testData/psi/testEditing2.txt
new file mode 100644
index 000000000000..4515e58446f7
--- /dev/null
+++ b/xml/tests/testData/psi/testEditing2.txt
@@ -0,0 +1,26 @@
+XmlFile:test.xml
+ PsiElement(XML_DOCUMENT)
+ PsiElement(XML_PROLOG)
+
+ XmlTag:a
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('a')
+ XmlToken:XML_TAG_END('>')
+ XmlTag:b
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('b')
+ XmlToken:XML_EMPTY_ELEMENT_END('/>')
+ XmlText
+ PsiWhiteSpace(' ')
+ XmlTag:
+ XmlToken:XML_START_TAG_START('<')
+ PsiErrorElement:Tag name expected
+
+ PsiWhiteSpace(' ')
+ XmlTag:c
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('c')
+ XmlToken:XML_EMPTY_ELEMENT_END('/>')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('a')
+ XmlToken:XML_TAG_END('>')
\ No newline at end of file
diff --git a/xml/tests/testData/psi/testEditing3.txt b/xml/tests/testData/psi/testEditing3.txt
new file mode 100644
index 000000000000..0a25d4914ee4
--- /dev/null
+++ b/xml/tests/testData/psi/testEditing3.txt
@@ -0,0 +1,21 @@
+XmlFile:test.xml
+ PsiElement(XML_DOCUMENT)
+ PsiElement(XML_PROLOG)
+
+ XmlTag:a
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('a')
+ XmlToken:XML_TAG_END('>')
+ XmlTag:b
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('b')
+ PsiErrorElement:Tag start is not closed
+
+ PsiWhiteSpace(' ')
+ XmlTag:c
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('c')
+ XmlToken:XML_EMPTY_ELEMENT_END('/>')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('a')
+ XmlToken:XML_TAG_END('>')
\ No newline at end of file
diff --git a/xml/tests/testData/psi/testEditing4.txt b/xml/tests/testData/psi/testEditing4.txt
new file mode 100644
index 000000000000..e52d634ee338
--- /dev/null
+++ b/xml/tests/testData/psi/testEditing4.txt
@@ -0,0 +1,26 @@
+XmlFile:test.xml
+ PsiElement(XML_DOCUMENT)
+ PsiElement(XML_PROLOG)
+
+ XmlTag:a
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('a')
+ XmlToken:XML_TAG_END('>')
+ XmlTag:b
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('b')
+ XmlToken:XML_TAG_END('>')
+ PsiErrorElement:Element b is not closed
+
+ XmlTag:
+ XmlToken:XML_START_TAG_START('<')
+ PsiErrorElement:Tag name expected
+
+ PsiWhiteSpace(' ')
+ XmlTag:c
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('c')
+ XmlToken:XML_EMPTY_ELEMENT_END('/>')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('a')
+ XmlToken:XML_TAG_END('>')
\ No newline at end of file
diff --git a/xml/tests/testData/psi/testEditing5.txt b/xml/tests/testData/psi/testEditing5.txt
new file mode 100644
index 000000000000..9201db85d1ca
--- /dev/null
+++ b/xml/tests/testData/psi/testEditing5.txt
@@ -0,0 +1,23 @@
+XmlFile:test.xml
+ PsiElement(XML_DOCUMENT)
+ PsiElement(XML_PROLOG)
+
+ XmlTag:a
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('a')
+ XmlToken:XML_TAG_END('>')
+ XmlTag:b
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('b')
+ XmlToken:XML_TAG_END('>')
+ XmlToken:XML_END_TAG_START('')
+ PsiErrorElement:Closing tag is not done
+
+ PsiWhiteSpace(' ')
+ XmlTag:c
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('c')
+ XmlToken:XML_EMPTY_ELEMENT_END('/>')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('a')
+ XmlToken:XML_TAG_END('>')
\ No newline at end of file
diff --git a/xml/tests/testData/psi/testEditing6.txt b/xml/tests/testData/psi/testEditing6.txt
new file mode 100644
index 000000000000..18aeb592faf7
--- /dev/null
+++ b/xml/tests/testData/psi/testEditing6.txt
@@ -0,0 +1,21 @@
+XmlFile:test.xml
+ PsiElement(XML_DOCUMENT)
+ PsiElement(XML_PROLOG)
+
+ XmlTag:one
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('one')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace(' ')
+ XmlTag:two
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('two')
+ PsiErrorElement:Tag start is not closed
+
+ PsiWhiteSpace(' ')
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS(',b"/>')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('one')
+ XmlToken:XML_TAG_END('>')
\ No newline at end of file
diff --git a/xml/tests/testData/psi/testEditing7.txt b/xml/tests/testData/psi/testEditing7.txt
new file mode 100644
index 000000000000..2854e06646e3
--- /dev/null
+++ b/xml/tests/testData/psi/testEditing7.txt
@@ -0,0 +1,23 @@
+XmlFile:test.xml
+ PsiElement(XML_DOCUMENT)
+ PsiElement(XML_PROLOG)
+
+ XmlTag:one
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('one')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace(' ')
+ XmlTag:two
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('two')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('a')
+ PsiErrorElement:'=' expected
+
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS(',b"/>')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('one')
+ XmlToken:XML_TAG_END('>')
\ No newline at end of file
diff --git a/xml/tests/testData/psi/testEditing8.txt b/xml/tests/testData/psi/testEditing8.txt
new file mode 100644
index 000000000000..d554d301e9fc
--- /dev/null
+++ b/xml/tests/testData/psi/testEditing8.txt
@@ -0,0 +1,29 @@
+XmlFile:test.xml
+ PsiElement(XML_DOCUMENT)
+ PsiElement(XML_PROLOG)
+
+ XmlTag:one
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('one')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace(' ')
+ XmlTag:two
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('two')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('a')
+ PsiErrorElement:'=' expected
+
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('b')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ XmlToken:XML_EMPTY_ELEMENT_END('/>')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('one')
+ XmlToken:XML_TAG_END('>')
\ No newline at end of file
diff --git a/xml/tests/testData/psi/testEditing9.txt b/xml/tests/testData/psi/testEditing9.txt
new file mode 100644
index 000000000000..20b1016d3f7e
--- /dev/null
+++ b/xml/tests/testData/psi/testEditing9.txt
@@ -0,0 +1,42 @@
+XmlFile:test.xml
+ PsiElement(XML_DOCUMENT)
+ PsiElement(XML_PROLOG)
+
+ XmlTag:one
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('one')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace(' ')
+ XmlTag:two
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('two')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('a')
+ PsiErrorElement:'=' expected
+
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('b')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('ashdgjkasgd')
+ PsiWhiteSpace(' ')
+ XmlTag:aksjhdk
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('aksjhdk')
+ XmlToken:XML_TAG_END('>')
+ PsiErrorElement:Element aksjhdk is not closed
+
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('two')
+ XmlToken:XML_TAG_END('>')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('one')
+ XmlToken:XML_TAG_END('>')
\ No newline at end of file
diff --git a/xml/tests/testData/psi/testElementDecl1.txt b/xml/tests/testData/psi/testElementDecl1.txt
new file mode 100644
index 000000000000..ad9714006c8e
--- /dev/null
+++ b/xml/tests/testData/psi/testElementDecl1.txt
@@ -0,0 +1,12 @@
+XmlFile:test.dtd
+ PsiElement(XML_DOCUMENT)
+ PsiElement(XML_PROLOG)
+
+ PsiElement(XML_ELEMENT_DECL)
+ XmlToken:XML_ELEMENT_DECL_START('')
\ No newline at end of file
diff --git a/xml/tests/testData/psi/testElementDecl2.txt b/xml/tests/testData/psi/testElementDecl2.txt
new file mode 100644
index 000000000000..bdfc6b38397d
--- /dev/null
+++ b/xml/tests/testData/psi/testElementDecl2.txt
@@ -0,0 +1,12 @@
+XmlFile:test.dtd
+ PsiElement(XML_DOCUMENT)
+ PsiElement(XML_PROLOG)
+
+ PsiElement(XML_ELEMENT_DECL)
+ XmlToken:XML_ELEMENT_DECL_START('')
\ No newline at end of file
diff --git a/xml/tests/testData/psi/testElementDeclaration.txt b/xml/tests/testData/psi/testElementDeclaration.txt
new file mode 100644
index 000000000000..ed6b23544792
--- /dev/null
+++ b/xml/tests/testData/psi/testElementDeclaration.txt
@@ -0,0 +1,61 @@
+XmlFile:test.dtd
+ PsiElement(XML_DOCUMENT)
+ PsiElement(XML_PROLOG)
+
+ PsiElement(XML_ELEMENT_DECL)
+ XmlToken:XML_ELEMENT_DECL_START('')
+ PsiWhiteSpace('\n')
+ PsiElement(XML_ELEMENT_DECL)
+ XmlToken:XML_ELEMENT_DECL_START('')
+ PsiWhiteSpace('\n')
+ PsiElement(XML_ELEMENT_DECL)
+ XmlToken:XML_ELEMENT_DECL_START('')
+ PsiWhiteSpace('\n')
+ PsiElement(XML_ELEMENT_DECL)
+ XmlToken:XML_ELEMENT_DECL_START('')
+ PsiWhiteSpace('\n')
+ PsiElement(XML_ELEMENT_DECL)
+ XmlToken:XML_ELEMENT_DECL_START('
+ PsiElement(XML_ELEMENT_CONTENT_SPEC)
+
+ PsiWhiteSpace(' ')
+ XmlToken:XML_TAG_END('>')
\ No newline at end of file
diff --git a/xml/tests/testData/psi/testElements1.txt b/xml/tests/testData/psi/testElements1.txt
new file mode 100644
index 000000000000..dfa4b916be9e
--- /dev/null
+++ b/xml/tests/testData/psi/testElements1.txt
@@ -0,0 +1,11 @@
+XmlFile:test.xml
+ PsiElement(XML_DOCUMENT)
+ PsiElement(XML_PROLOG)
+
+ XmlTag:a
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('a')
+ XmlToken:XML_TAG_END('>')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('a')
+ XmlToken:XML_TAG_END('>')
\ No newline at end of file
diff --git a/xml/tests/testData/psi/testElements2.txt b/xml/tests/testData/psi/testElements2.txt
new file mode 100644
index 000000000000..a079c6ced0f4
--- /dev/null
+++ b/xml/tests/testData/psi/testElements2.txt
@@ -0,0 +1,8 @@
+XmlFile:test.xml
+ PsiElement(XML_DOCUMENT)
+ PsiElement(XML_PROLOG)
+
+ XmlTag:a
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('a')
+ XmlToken:XML_EMPTY_ELEMENT_END('/>')
\ No newline at end of file
diff --git a/xml/tests/testData/psi/testElements3.txt b/xml/tests/testData/psi/testElements3.txt
new file mode 100644
index 000000000000..3fe37e6c5606
--- /dev/null
+++ b/xml/tests/testData/psi/testElements3.txt
@@ -0,0 +1,41 @@
+XmlFile:test.xml
+ PsiElement(XML_DOCUMENT)
+ PsiElement(XML_PROLOG)
+
+ XmlTag:a
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('a')
+ XmlToken:XML_TAG_END('>')
+ XmlTag:b
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('b')
+ XmlToken:XML_TAG_END('>')
+ XmlTag:c
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('c')
+ XmlToken:XML_EMPTY_ELEMENT_END('/>')
+ XmlTag:d
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('d')
+ XmlToken:XML_EMPTY_ELEMENT_END('/>')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('b')
+ XmlToken:XML_TAG_END('>')
+ XmlTag:e
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('e')
+ XmlToken:XML_EMPTY_ELEMENT_END('/>')
+ XmlTag:f
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('f')
+ XmlToken:XML_TAG_END('>')
+ XmlTag:g
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('g')
+ XmlToken:XML_EMPTY_ELEMENT_END('/>')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('f')
+ XmlToken:XML_TAG_END('>')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('a')
+ XmlToken:XML_TAG_END('>')
\ No newline at end of file
diff --git a/xml/tests/testData/psi/testElements4.txt b/xml/tests/testData/psi/testElements4.txt
new file mode 100644
index 000000000000..0847a11df414
--- /dev/null
+++ b/xml/tests/testData/psi/testElements4.txt
@@ -0,0 +1,43 @@
+XmlFile:test.xml
+ PsiElement(XML_DOCUMENT)
+ PsiElement(XML_PROLOG)
+
+ XmlTag:project
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('project')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('name')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('IDEA_ZKM')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n')
+ PsiElement(XML_COMMENT)
+ XmlToken:XML_COMMENT_START('')
+ XmlText
+ PsiWhiteSpace('\n')
+ XmlTag:property
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('property')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('value')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('off')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_EMPTY_ELEMENT_END('/>')
+ XmlText
+ PsiWhiteSpace('\n')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('project')
+ XmlToken:XML_TAG_END('>')
+ PsiWhiteSpace('\n')
\ No newline at end of file
diff --git a/xml/tests/testData/psi/testElements5.txt b/xml/tests/testData/psi/testElements5.txt
new file mode 100644
index 000000000000..5608e15adc20
--- /dev/null
+++ b/xml/tests/testData/psi/testElements5.txt
@@ -0,0 +1,15 @@
+XmlFile:test.xml
+ PsiElement(XML_DOCUMENT)
+ PsiElement(XML_PROLOG)
+
+ XmlTag:ns1:a
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('ns1:a')
+ XmlToken:XML_TAG_END('>')
+ XmlTag:ns2:b
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('ns2:b')
+ XmlToken:XML_EMPTY_ELEMENT_END('/>')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('ns1:a')
+ XmlToken:XML_TAG_END('>')
\ No newline at end of file
diff --git a/xml/tests/testData/psi/testElements6.txt b/xml/tests/testData/psi/testElements6.txt
new file mode 100644
index 000000000000..50721a0c14d4
--- /dev/null
+++ b/xml/tests/testData/psi/testElements6.txt
@@ -0,0 +1,31 @@
+XmlFile:test.xml
+ PsiElement(XML_DOCUMENT)
+ PsiElement(XML_PROLOG)
+ PsiElement(XML_DOCTYPE)
+ XmlToken:XML_DOCTYPE_START('')
+ XmlToken:XML_MARKUP_END(']')
+ XmlToken:XML_DOCTYPE_END('>')
+ XmlTag:project
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('project')
+ XmlToken:XML_TAG_END('>')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('project')
+ XmlToken:XML_TAG_END('>')
\ No newline at end of file
diff --git a/xml/tests/testData/psi/testEmptyCommentParsing.txt b/xml/tests/testData/psi/testEmptyCommentParsing.txt
new file mode 100644
index 000000000000..3a009cc31afa
--- /dev/null
+++ b/xml/tests/testData/psi/testEmptyCommentParsing.txt
@@ -0,0 +1,10 @@
+XmlFile:test.xml
+ PsiElement(XML_DOCUMENT)
+ PsiElement(XML_COMMENT)
+ XmlToken:XML_COMMENT_START('')
+ PsiElement(XML_PROLOG)
+
+ XmlTag:
+ PsiErrorElement:Valid XML document must have a root tag
+
\ No newline at end of file
diff --git a/xml/tests/testData/psi/testEmptyElementsInDtd.txt b/xml/tests/testData/psi/testEmptyElementsInDtd.txt
new file mode 100644
index 000000000000..b15b4a0d79b2
--- /dev/null
+++ b/xml/tests/testData/psi/testEmptyElementsInDtd.txt
@@ -0,0 +1,69 @@
+XmlFile:test.dtd
+ PsiElement(XML_DOCUMENT)
+ PsiElement(XML_PROLOG)
+
+ PsiElement(XML_ELEMENT_DECL)
+ XmlToken:XML_ELEMENT_DECL_START('
+ PsiWhiteSpace(' ')
+ XmlToken:XML_TAG_END('>')
+ PsiWhiteSpace('\n')
+ PsiElement(XML_ELEMENT_DECL)
+ XmlToken:XML_ELEMENT_DECL_START('
+ XmlToken:XML_COMMA(',')
+ XmlToken:XML_RIGHT_PAREN(')')
+ PsiWhiteSpace('\n')
+ PsiElement(XML_ATTLIST_DECL)
+ XmlToken:XML_ATTLIST_DECL_START('
+ PsiWhiteSpace(' ')
+ XmlToken:XML_TAG_END('>')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ELEMENT_DECL)
+ XmlToken:XML_ELEMENT_DECL_START('')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ELEMENT_DECL)
+ XmlToken:XML_ELEMENT_DECL_START('
+ PsiElement(XML_ELEMENT_CONTENT_SPEC)
+ PsiElement(XML_ELEMENT_CONTENT_GROUP)
+ XmlToken:XML_LEFT_PAREN('(')
+ XmlToken:XML_NAME('aaa')
+ XmlToken:XML_COMMA(',')
+ PsiErrorElement:Xml name or entity ref expected
+
+ XmlToken:XML_RIGHT_PAREN(')')
+ XmlToken:XML_TAG_END('>')
+ PsiElement(XML_ATTLIST_DECL)
+ XmlToken:XML_ATTLIST_DECL_START('')
\ No newline at end of file
diff --git a/xml/tests/testData/psi/testEntityDecl1.txt b/xml/tests/testData/psi/testEntityDecl1.txt
new file mode 100644
index 000000000000..f4550fdc8744
--- /dev/null
+++ b/xml/tests/testData/psi/testEntityDecl1.txt
@@ -0,0 +1,16 @@
+XmlFile:test.dtd
+ PsiElement(XML_DOCUMENT)
+ PsiElement(XML_PROLOG)
+
+ PsiElement(XML_ENTITY_DECL)
+ XmlToken:XML_ENTITY_DECL_START('')
\ No newline at end of file
diff --git a/xml/tests/testData/psi/testEntityDecl2.txt b/xml/tests/testData/psi/testEntityDecl2.txt
new file mode 100644
index 000000000000..26c7ddddff60
--- /dev/null
+++ b/xml/tests/testData/psi/testEntityDecl2.txt
@@ -0,0 +1,14 @@
+XmlFile:test.dtd
+ PsiElement(XML_DOCUMENT)
+ PsiElement(XML_PROLOG)
+
+ PsiElement(XML_ENTITY_DECL)
+ XmlToken:XML_ENTITY_DECL_START('')
\ No newline at end of file
diff --git a/xml/tests/testData/psi/testEntityDecl3.txt b/xml/tests/testData/psi/testEntityDecl3.txt
new file mode 100644
index 000000000000..07ab5ee1934a
--- /dev/null
+++ b/xml/tests/testData/psi/testEntityDecl3.txt
@@ -0,0 +1,16 @@
+XmlFile:test.dtd
+ PsiElement(XML_DOCUMENT)
+ PsiElement(XML_PROLOG)
+
+ PsiElement(XML_ENTITY_DECL)
+ XmlToken:XML_ENTITY_DECL_START('')
\ No newline at end of file
diff --git a/xml/tests/testData/psi/testEntityDecl4.txt b/xml/tests/testData/psi/testEntityDecl4.txt
new file mode 100644
index 000000000000..b006b650bbf2
--- /dev/null
+++ b/xml/tests/testData/psi/testEntityDecl4.txt
@@ -0,0 +1,21 @@
+XmlFile:test.dtd
+ PsiElement(XML_DOCUMENT)
+ PsiElement(XML_PROLOG)
+
+ PsiElement(XML_ENTITY_DECL)
+ XmlToken:XML_ENTITY_DECL_START('')
\ No newline at end of file
diff --git a/xml/tests/testData/psi/testEntityDeclaration.txt b/xml/tests/testData/psi/testEntityDeclaration.txt
new file mode 100644
index 000000000000..e8b81a6e4c48
--- /dev/null
+++ b/xml/tests/testData/psi/testEntityDeclaration.txt
@@ -0,0 +1,19 @@
+XmlFile:test.dtd
+ PsiElement(XML_DOCUMENT)
+ PsiElement(XML_PROLOG)
+
+ PsiElement(XML_ENTITY_DECL)
+ XmlToken:XML_ENTITY_DECL_START('
+ PsiWhiteSpace(' ')
+ XmlToken:XML_TAG_END('>')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ENTITY_DECL)
+ XmlToken:XML_ENTITY_DECL_START('
+ PsiWhiteSpace(' ')
+ XmlToken:XML_TAG_END('>')
\ No newline at end of file
diff --git a/xml/tests/testData/psi/testEntityDeclaration2.txt b/xml/tests/testData/psi/testEntityDeclaration2.txt
new file mode 100644
index 000000000000..1e67cf75c3b2
--- /dev/null
+++ b/xml/tests/testData/psi/testEntityDeclaration2.txt
@@ -0,0 +1,12 @@
+PsiElement(XML_ELEMENT_CONTENT_SPEC)
+ PsiElement(XML_ELEMENT_CONTENT_SPEC)
+ XmlToken:XML_BAR('|')
+ PsiElement(XML_ENTITY_REF)
+ XmlToken:XML_ENTITY_REF_TOKEN('%pre.qname;')
+ XmlToken:XML_BAR('|')
+ PsiElement(XML_ENTITY_REF)
+ XmlToken:XML_ENTITY_REF_TOKEN('%blockquote.qname;')
+ XmlToken:XML_BAR('|')
+ PsiElement(XML_ENTITY_REF)
+ XmlToken:XML_ENTITY_REF_TOKEN('%address.qname;')
+
\ No newline at end of file
diff --git a/xml/tests/testData/psi/testEntityInAttlistDeclaration.txt b/xml/tests/testData/psi/testEntityInAttlistDeclaration.txt
new file mode 100644
index 000000000000..118ee0111520
--- /dev/null
+++ b/xml/tests/testData/psi/testEntityInAttlistDeclaration.txt
@@ -0,0 +1,13 @@
+XmlFile:test.dtd
+ PsiElement(XML_DOCUMENT)
+ PsiElement(XML_PROLOG)
+
+ PsiElement(XML_ATTLIST_DECL)
+ XmlToken:XML_ATTLIST_DECL_START('')
\ No newline at end of file
diff --git a/xml/tests/testData/psi/testEntityInAttr.txt b/xml/tests/testData/psi/testEntityInAttr.txt
new file mode 100644
index 000000000000..41b4b5419f4e
--- /dev/null
+++ b/xml/tests/testData/psi/testEntityInAttr.txt
@@ -0,0 +1,18 @@
+XmlFile:test.xml
+ PsiElement(XML_DOCUMENT)
+ PsiElement(XML_PROLOG)
+
+ XmlTag:a
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('a')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('href')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ PsiErrorElement:Unescaped & or nonterminated character/entity reference
+ XmlToken:XML_BAD_CHARACTER('&')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('n')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ XmlToken:XML_EMPTY_ELEMENT_END('/>')
\ No newline at end of file
diff --git a/xml/tests/testData/psi/testEntityInContent.txt b/xml/tests/testData/psi/testEntityInContent.txt
new file mode 100644
index 000000000000..9ba031262c51
--- /dev/null
+++ b/xml/tests/testData/psi/testEntityInContent.txt
@@ -0,0 +1,17 @@
+XmlFile:test.xml
+ PsiElement(XML_DOCUMENT)
+ PsiElement(XML_PROLOG)
+
+ XmlTag:a
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('a')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace(' ')
+ PsiErrorElement:Unescaped & or nonterminated character/entity reference
+ XmlToken:XML_BAD_CHARACTER('&')
+ XmlToken:XML_DATA_CHARACTERS('n')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('a')
+ XmlToken:XML_TAG_END('>')
\ No newline at end of file
diff --git a/xml/tests/testData/psi/testEntityRef1.txt b/xml/tests/testData/psi/testEntityRef1.txt
new file mode 100644
index 000000000000..5b35effccf87
--- /dev/null
+++ b/xml/tests/testData/psi/testEntityRef1.txt
@@ -0,0 +1,13 @@
+XmlFile:test.xml
+ PsiElement(XML_DOCUMENT)
+ PsiElement(XML_PROLOG)
+
+ XmlTag:a
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('a')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('%types;')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('a')
+ XmlToken:XML_TAG_END('>')
\ No newline at end of file
diff --git a/xml/tests/testData/psi/testEntityRef3.txt b/xml/tests/testData/psi/testEntityRef3.txt
new file mode 100644
index 000000000000..ae791fff450a
--- /dev/null
+++ b/xml/tests/testData/psi/testEntityRef3.txt
@@ -0,0 +1,30 @@
+XmlFile:test.dtd
+ PsiElement(XML_DOCUMENT)
+ PsiElement(XML_PROLOG)
+
+ PsiElement(XML_ELEMENT_DECL)
+ XmlToken:XML_ELEMENT_DECL_START('')
\ No newline at end of file
diff --git a/xml/tests/testData/psi/testEntityRef4.txt b/xml/tests/testData/psi/testEntityRef4.txt
new file mode 100644
index 000000000000..6c2ee3694a9e
--- /dev/null
+++ b/xml/tests/testData/psi/testEntityRef4.txt
@@ -0,0 +1,19 @@
+XmlFile:test.xml
+ PsiElement(XML_DOCUMENT)
+ PsiElement(XML_PROLOG)
+
+ XmlTag:a
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('a')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('b')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('aa ')
+ XmlToken:XML_CHAR_ENTITY_REF('>')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN(' bb')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_EMPTY_ELEMENT_END('/>')
\ No newline at end of file
diff --git a/xml/tests/testData/psi/testEntityRef5.txt b/xml/tests/testData/psi/testEntityRef5.txt
new file mode 100644
index 000000000000..25f5576e824d
--- /dev/null
+++ b/xml/tests/testData/psi/testEntityRef5.txt
@@ -0,0 +1,23 @@
+XmlFile:test.dtd
+ PsiElement(XML_DOCUMENT)
+ PsiElement(XML_PROLOG)
+
+ PsiElement(XML_ATTLIST_DECL)
+ XmlToken:XML_ATTLIST_DECL_START('
+ PsiElement(XML_ENTITY_REF)
+ XmlToken:XML_ENTITY_REF_TOKEN('&common;')
\ No newline at end of file
diff --git a/xml/tests/testData/psi/testEntityRef7.txt b/xml/tests/testData/psi/testEntityRef7.txt
new file mode 100644
index 000000000000..ed26182c7297
--- /dev/null
+++ b/xml/tests/testData/psi/testEntityRef7.txt
@@ -0,0 +1,31 @@
+XmlFile:test.dtd
+ PsiElement(XML_DOCUMENT)
+ PsiElement(XML_PROLOG)
+
+ PsiElement(XML_ATTLIST_DECL)
+ XmlToken:XML_ATTLIST_DECL_START('')
\ No newline at end of file
diff --git a/xml/tests/testData/psi/testGtInTagContent.txt b/xml/tests/testData/psi/testGtInTagContent.txt
new file mode 100644
index 000000000000..9d0c4c974163
--- /dev/null
+++ b/xml/tests/testData/psi/testGtInTagContent.txt
@@ -0,0 +1,13 @@
+XmlFile:test.xml
+ PsiElement(XML_DOCUMENT)
+ PsiElement(XML_PROLOG)
+
+ XmlTag:a
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('a')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('>')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('a')
+ XmlToken:XML_TAG_END('>')
\ No newline at end of file
diff --git a/xml/tests/testData/psi/testManualEmptyAttributeParsing.txt b/xml/tests/testData/psi/testManualEmptyAttributeParsing.txt
new file mode 100644
index 000000000000..c5b82f962a56
--- /dev/null
+++ b/xml/tests/testData/psi/testManualEmptyAttributeParsing.txt
@@ -0,0 +1,26 @@
+PsiElement(XML_ELEMENT_DECL)
+ XmlTag:a
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_TAG_NAME('a')
+ XmlToken:XML_TAG_END('>')
+ XmlTag:b
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_TAG_NAME('b')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('c')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_TAG_END('>')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_TAG_NAME('b')
+ XmlToken:XML_TAG_END('>')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_TAG_NAME('a')
+ XmlToken:XML_TAG_END('>')
+
\ No newline at end of file
diff --git a/xml/tests/testData/psi/testManyErrors.txt b/xml/tests/testData/psi/testManyErrors.txt
new file mode 100644
index 000000000000..9f550bbcb077
--- /dev/null
+++ b/xml/tests/testData/psi/testManyErrors.txt
@@ -0,0 +1,3709 @@
+XmlFile:test.xml
+ PsiElement(XML_DOCUMENT)
+ PsiElement(XML_PROLOG)
+
+ XmlTag:html
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('html')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n')
+ XmlTag:HEAD
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('HEAD')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n\t')
+ XmlTag:TITLE
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('TITLE')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('AppletViewer')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('Tags')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('TITLE')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('HEAD')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n\n')
+ XmlTag:BODY
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('BODY')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('bgcolor')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('white')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ XmlToken:XML_TAG_END('>')
+ PsiErrorElement:Element BODY is not closed
+
+ XmlText
+ PsiWhiteSpace('\n\n')
+ XmlTag:TABLE
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('TABLE')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('BORDER')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('0')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('WIDTH')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('100%')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('summary')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('layout')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n')
+ XmlTag:TR
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('TR')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n')
+ XmlTag:TD
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('TD')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlTag:IMG
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('IMG')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('SRC')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('../images/javalogo52x88.gif')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('ALT')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('Java')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('BORDER')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ PsiErrorElement:Attribute value expected
+
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('0')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('WIDTH=52')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('HEIGHT=88>')
+ PsiWhiteSpace('\n')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('TD')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n\n')
+ XmlTag:TD
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('TD')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n')
+ XmlTag:center
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('center')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlTag:h1
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('h1')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('AppletViewer')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('Tags')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('h1')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('center')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('TD')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n\n')
+ XmlTag:TD
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('TD')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('ALIGN')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ PsiErrorElement:Attribute value expected
+
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('RIGHT')
+ PsiErrorElement:'=' expected
+
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('VALIGN')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ PsiErrorElement:Attribute value expected
+
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('TOP')
+ PsiErrorElement:'=' expected
+
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n')
+ XmlTag:font
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('font')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('size')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('-1')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ XmlToken:XML_TAG_END('>')
+ XmlTag:a
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('a')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('href')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('../index.html')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('Documentation')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('Contents')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('a')
+ XmlToken:XML_TAG_END('>')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('font')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('TD')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('TR')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('TABLE')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n\n\n')
+ PsiElement(XML_COMMENT)
+ XmlToken:XML_COMMENT_START('')
+ XmlText
+ PsiWhiteSpace('\n')
+ XmlToken:XML_DATA_CHARACTERS('The')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('applet')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('viewer')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('makes')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('it')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('possible')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('to')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('run')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('a')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('Java')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('applet')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('without')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('using')
+ PsiWhiteSpace('\n')
+ XmlToken:XML_DATA_CHARACTERS('a')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('browser.')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('AppletViewer')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('ignores')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('any')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('HTML')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('that')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('is')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('not')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('immediately')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('relevant')
+ PsiWhiteSpace('\n')
+ XmlToken:XML_DATA_CHARACTERS('to')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('launching')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('an')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('applet.')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('However,')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('it')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('recognizes')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('a')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('wide')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('variety')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('of')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('applet-')
+ PsiWhiteSpace('\n')
+ XmlToken:XML_DATA_CHARACTERS('launching')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('syntax.')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('The')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('HTML')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('code')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('that')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('AppletViewer')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('recognizes')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('is')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('shown')
+ PsiWhiteSpace('\n')
+ XmlToken:XML_DATA_CHARACTERS('below.')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('All')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('other')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('HTML')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('code')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('is')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('ignored.')
+ PsiWhiteSpace('\n')
+ XmlTag:p
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('p')
+ XmlToken:XML_TAG_END('>')
+ PsiErrorElement:Element p is not closed
+
+ XmlText
+ PsiWhiteSpace('\n')
+ XmlTag:b
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('b')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('object')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('b')
+ XmlToken:XML_TAG_END('>')
+ XmlTag:br
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('br')
+ XmlToken:XML_TAG_END('>')
+ PsiErrorElement:Element br is not closed
+
+ XmlText
+ PsiWhiteSpace('\n')
+ XmlTag:blockquote
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('blockquote')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n')
+ XmlToken:XML_DATA_CHARACTERS('The')
+ PsiWhiteSpace(' ')
+ XmlTag:code
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('code')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('object')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('code')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('tag')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('is')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('the')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('HTML')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('4.0')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('tag')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('for')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('embedding')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('applets')
+ PsiWhiteSpace(' \n')
+ XmlToken:XML_DATA_CHARACTERS('and')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('mult-media')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('objects')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('into')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('an')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('HTML')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('page.')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('It')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('is')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('also')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('an')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('Internet')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('Explorer')
+ PsiWhiteSpace('\n')
+ XmlToken:XML_DATA_CHARACTERS('4.x')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('extension')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('to')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('HTML')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('3.2')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('which')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('allows')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('IE')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('to')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('run')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('a')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('Java')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('applet')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('using')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('the')
+ PsiWhiteSpace(' \n')
+ XmlToken:XML_DATA_CHARACTERS('latest')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('Java')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('plugin')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('from')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('Sun.')
+ PsiWhiteSpace('\n')
+ XmlTag:pre
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('pre')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n')
+ XmlToken:XML_CHAR_ENTITY_REF('<')
+ XmlToken:XML_DATA_CHARACTERS('object')
+ PsiWhiteSpace('\n ')
+ XmlToken:XML_DATA_CHARACTERS('width="')
+ XmlTag:i
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('i')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('pixelWidth')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('i')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('"')
+ PsiWhiteSpace('\n ')
+ XmlToken:XML_DATA_CHARACTERS('height="')
+ XmlTag:i
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('i')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('pixelHeight')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('i')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('"')
+ PsiWhiteSpace('\n')
+ XmlToken:XML_CHAR_ENTITY_REF('>')
+ PsiWhiteSpace('\n ')
+ XmlToken:XML_CHAR_ENTITY_REF('<')
+ XmlToken:XML_DATA_CHARACTERS('param')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('name="code"')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('value="')
+ XmlTag:i
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('i')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('yourClass.class')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('i')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('"')
+ XmlToken:XML_CHAR_ENTITY_REF('>')
+ PsiWhiteSpace('\n ')
+ XmlToken:XML_CHAR_ENTITY_REF('<')
+ XmlToken:XML_DATA_CHARACTERS('param')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('name="object"')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('value="')
+ XmlTag:i
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('i')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('serializedObjectOrJavaBean')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('i')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('"')
+ XmlToken:XML_CHAR_ENTITY_REF('>')
+ PsiWhiteSpace('\n ')
+ XmlToken:XML_CHAR_ENTITY_REF('<')
+ XmlToken:XML_DATA_CHARACTERS('param')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('name="codebase"')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('value="')
+ XmlTag:i
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('i')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('classFileDirectory')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('i')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('"')
+ XmlToken:XML_CHAR_ENTITY_REF('>')
+ PsiWhiteSpace('\n ')
+ XmlToken:XML_DATA_CHARACTERS('...')
+ PsiWhiteSpace('\n ')
+ XmlTag:i
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('i')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('alternate-text')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('i')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n')
+ XmlToken:XML_CHAR_ENTITY_REF('<')
+ XmlToken:XML_DATA_CHARACTERS('/object')
+ XmlToken:XML_CHAR_ENTITY_REF('>')
+ PsiWhiteSpace('\n')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('pre')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n')
+ XmlTag:b
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('b')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('Notes:')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('b')
+ XmlToken:XML_TAG_END('>')
+ XmlTag:br
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('br')
+ XmlToken:XML_TAG_END('>')
+ PsiErrorElement:Element br is not closed
+
+ XmlTag:ul
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('ul')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n')
+ XmlTag:li
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('li')
+ XmlToken:XML_TAG_END('>')
+ PsiErrorElement:Element li is not closed
+
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('AppletViewer')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('ignores')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('the')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('"classID"')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('attribute,')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('on')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('the')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('assumption')
+ PsiWhiteSpace('\n ')
+ XmlToken:XML_DATA_CHARACTERS('that')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('it')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('is')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('pointing')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('to')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('the')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('Java')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('plugin,')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('with')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('the')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('value:')
+ XmlTag:br
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('br')
+ XmlToken:XML_TAG_END('>')
+ PsiErrorElement:Element br is not closed
+
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlToken:XML_CHAR_ENTITY_REF(' ')
+ XmlToken:XML_CHAR_ENTITY_REF(' ')
+ XmlTag:code
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('code')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlToken:XML_DATA_CHARACTERS('classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"')
+ PsiWhiteSpace('\n ')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('code')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n\t ')
+ XmlTag:p
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('p')
+ XmlToken:XML_TAG_END('>')
+ PsiErrorElement:Element p is not closed
+
+ XmlText
+ PsiWhiteSpace('\n')
+ XmlTag:li
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('li')
+ XmlToken:XML_TAG_END('>')
+ PsiErrorElement:Element li is not closed
+
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('AppletViewer')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('also')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('ignores')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('the')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('"codebase"')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('attribute')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('that')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('is')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('usually')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('included')
+ PsiWhiteSpace('\n ')
+ XmlToken:XML_DATA_CHARACTERS('as')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('part')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('of')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('the')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('object')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('tag,')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('assuming')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('that')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('it')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('points')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('to')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('a')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('Java')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('plugin')
+ PsiWhiteSpace('\n ')
+ XmlToken:XML_DATA_CHARACTERS('in')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('a')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('network')
+ PsiWhiteSpace(' ')
+ XmlTag:b
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('b')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('cab')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('b')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('file')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('with')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('a')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('value')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('like:')
+ XmlTag:br
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('br')
+ XmlToken:XML_TAG_END('>')
+ PsiErrorElement:Element br is not closed
+
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlTag:code
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('code')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_CHAR_ENTITY_REF(' ')
+ XmlToken:XML_CHAR_ENTITY_REF(' ')
+ PsiWhiteSpace('\n ')
+ XmlToken:XML_DATA_CHARACTERS('codebase="http://java.sun.com/products/plugin/1.1/jinstall-11-win32.cab#Version=1,1,0,0"')
+ PsiWhiteSpace('\n ')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('code')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n\t ')
+ XmlTag:p
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('p')
+ XmlToken:XML_TAG_END('>')
+ PsiErrorElement:Element p is not closed
+
+ XmlText
+ PsiWhiteSpace('\n')
+ XmlTag:li
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('li')
+ XmlToken:XML_TAG_END('>')
+ PsiErrorElement:Element li is not closed
+
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('The')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('optional')
+ PsiWhiteSpace(' ')
+ XmlTag:code
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('code')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('codebase')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('code')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('param')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('tag')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('supplies')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('a')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('relative')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('URL')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('that')
+ PsiWhiteSpace('\n ')
+ XmlToken:XML_DATA_CHARACTERS('specifies')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('the')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('location')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('of')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('the')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('applet')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('class.')
+ PsiWhiteSpace('\n\t ')
+ XmlTag:p
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('p')
+ XmlToken:XML_TAG_END('>')
+ PsiErrorElement:Element p is not closed
+
+ XmlText
+ PsiWhiteSpace('\n')
+ XmlTag:li
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('li')
+ XmlToken:XML_TAG_END('>')
+ PsiErrorElement:Element li is not closed
+
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('Either')
+ PsiWhiteSpace(' ')
+ XmlTag:code
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('code')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('code')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('code')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('or')
+ PsiWhiteSpace(' ')
+ XmlTag:code
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('code')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('object')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('code')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('is')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('specified,')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('not')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('both.')
+ PsiWhiteSpace('\n\t ')
+ XmlTag:p
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('p')
+ XmlToken:XML_TAG_END('>')
+ PsiErrorElement:Element p is not closed
+
+ XmlText
+ PsiWhiteSpace('\n')
+ XmlTag:li
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('li')
+ XmlToken:XML_TAG_END('>')
+ PsiErrorElement:Element li is not closed
+
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('The')
+ PsiWhiteSpace(' ')
+ XmlTag:code
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('code')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('type')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('code')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('param')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('tag')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('is')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('not')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('used')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('by')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('AppletViewer,')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('but')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('should')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('be')
+ PsiWhiteSpace('\n ')
+ XmlToken:XML_DATA_CHARACTERS('present')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('so')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('that')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('browsers')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('load')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('the')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('plugin')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('properly.')
+ XmlTag:br
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('br')
+ XmlToken:XML_TAG_END('>')
+ PsiErrorElement:Element br is not closed
+
+ XmlText
+ PsiWhiteSpace('\n\t ')
+ XmlToken:XML_DATA_CHARACTERS('For')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('an')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('applet,')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('the')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('value')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('should')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('be')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('something')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('like:')
+ XmlTag:br
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('br')
+ XmlToken:XML_TAG_END('>')
+ PsiErrorElement:Element br is not closed
+
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlTag:code
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('code')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_CHAR_ENTITY_REF(' ')
+ XmlToken:XML_CHAR_ENTITY_REF(' ')
+ PsiWhiteSpace('\n ')
+ XmlToken:XML_CHAR_ENTITY_REF('<')
+ XmlToken:XML_DATA_CHARACTERS('param')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('name="type"')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('value="application/x-java-applet;version=1.1"')
+ XmlToken:XML_CHAR_ENTITY_REF('>')
+ PsiWhiteSpace('\n ')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('code')
+ XmlToken:XML_TAG_END('>')
+ XmlTag:br
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('br')
+ XmlToken:XML_TAG_END('>')
+ PsiErrorElement:Element br is not closed
+
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlToken:XML_DATA_CHARACTERS('or')
+ XmlTag:br
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('br')
+ XmlToken:XML_TAG_END('>')
+ PsiErrorElement:Element br is not closed
+
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlTag:code
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('code')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_CHAR_ENTITY_REF(' ')
+ XmlToken:XML_CHAR_ENTITY_REF(' ')
+ PsiWhiteSpace('\n ')
+ XmlToken:XML_CHAR_ENTITY_REF('<')
+ XmlToken:XML_DATA_CHARACTERS('param')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('name="type"')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('value="application/x-java-applet"')
+ XmlToken:XML_CHAR_ENTITY_REF('>')
+ PsiWhiteSpace('\n ')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('code')
+ XmlToken:XML_TAG_END('>')
+ XmlTag:br
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('br')
+ XmlToken:XML_TAG_END('>')
+ PsiErrorElement:Element br is not closed
+
+ XmlTag:br
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('br')
+ XmlToken:XML_TAG_END('>')
+ PsiErrorElement:Element br is not closed
+
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlToken:XML_DATA_CHARACTERS('For')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('a')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('serialized')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('object')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('or')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('JavaBean,')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('the')
+ PsiWhiteSpace(' ')
+ XmlTag:code
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('code')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('type')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('code')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('param')
+ PsiWhiteSpace(' \n\t ')
+ XmlToken:XML_DATA_CHARACTERS('value')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('should')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('be')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('something')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('like:')
+ XmlTag:br
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('br')
+ XmlToken:XML_TAG_END('>')
+ PsiErrorElement:Element br is not closed
+
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlTag:code
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('code')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_CHAR_ENTITY_REF(' ')
+ XmlToken:XML_CHAR_ENTITY_REF(' ')
+ PsiWhiteSpace('\n ')
+ XmlToken:XML_CHAR_ENTITY_REF('<')
+ XmlToken:XML_DATA_CHARACTERS('param')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('name="type"')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('value="application/x-java-bean;version=1.1"')
+ XmlToken:XML_CHAR_ENTITY_REF('>')
+ PsiWhiteSpace('\n ')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('code')
+ XmlToken:XML_TAG_END('>')
+ XmlTag:br
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('br')
+ XmlToken:XML_TAG_END('>')
+ PsiErrorElement:Element br is not closed
+
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlToken:XML_DATA_CHARACTERS('or')
+ XmlTag:br
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('br')
+ XmlToken:XML_TAG_END('>')
+ PsiErrorElement:Element br is not closed
+
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlTag:code
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('code')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_CHAR_ENTITY_REF(' ')
+ XmlToken:XML_CHAR_ENTITY_REF(' ')
+ PsiWhiteSpace('\n ')
+ XmlToken:XML_CHAR_ENTITY_REF('<')
+ XmlToken:XML_DATA_CHARACTERS('param')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('name="type"')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('value="application/x-java-bean"')
+ XmlToken:XML_CHAR_ENTITY_REF('>')
+ PsiWhiteSpace('\n ')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('code')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n\t ')
+ XmlTag:p
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('p')
+ XmlToken:XML_TAG_END('>')
+ PsiErrorElement:Element p is not closed
+
+ XmlText
+ PsiWhiteSpace('\n')
+ XmlTag:li
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('li')
+ XmlToken:XML_TAG_END('>')
+ PsiErrorElement:Element li is not closed
+
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('Other')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('param')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('tags')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('are')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('argument')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('values')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('supplied')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('to')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('the')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('applet.')
+ PsiWhiteSpace('\n\t ')
+ XmlTag:p
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('p')
+ XmlToken:XML_TAG_END('>')
+ PsiErrorElement:Element p is not closed
+
+ XmlText
+ PsiWhiteSpace('\n')
+ XmlTag:li
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('li')
+ XmlToken:XML_TAG_END('>')
+ PsiErrorElement:Element li is not closed
+
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('The')
+ PsiWhiteSpace(' ')
+ XmlTag:code
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('code')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('object')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('code')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('tag')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('recognized')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('by')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('IE4.x')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('and')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('the')
+ PsiWhiteSpace(' ')
+ XmlTag:code
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('code')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('embed')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('code')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('tag')
+ PsiWhiteSpace('\n ')
+ XmlToken:XML_DATA_CHARACTERS('recognized')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('by')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('Netscape')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('4.x')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('can')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('be')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('combined')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('so')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('that')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('an')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('applet')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('can')
+ PsiWhiteSpace('\n ')
+ XmlToken:XML_DATA_CHARACTERS('use')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('the')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('latest')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('Java')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('plugin')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('from')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('Sun,')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('regardless')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('of')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('the')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('browser')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('that')
+ PsiWhiteSpace('\n ')
+ XmlToken:XML_DATA_CHARACTERS('downloads')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('the')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('applet.')
+ XmlTag:br
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('br')
+ XmlToken:XML_TAG_END('>')
+ PsiErrorElement:Element br is not closed
+
+ XmlText
+ PsiWhiteSpace('\n\t ')
+ XmlToken:XML_DATA_CHARACTERS('For')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('more')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('information,')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('see')
+ PsiWhiteSpace('\n ')
+ XmlTag:a
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('a')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('href')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('http://java.sun.com/products/plugin/1.3/docs/tags.html')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('Java')
+ PsiWhiteSpace('\n ')
+ XmlToken:XML_DATA_CHARACTERS('PlugIn')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('HTML')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('Specification')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('a')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n\t ')
+ XmlTag:p
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('p')
+ XmlToken:XML_TAG_END('>')
+ PsiErrorElement:Element p is not closed
+
+ XmlText
+ PsiWhiteSpace('\n')
+ XmlTag:li
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('li')
+ XmlToken:XML_TAG_END('>')
+ PsiErrorElement:Element li is not closed
+
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('AppletViewer')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('does')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('not')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('recognize')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('the')
+ PsiWhiteSpace(' ')
+ XmlTag:code
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('code')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('java_code')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('code')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS(',')
+ PsiWhiteSpace(' ')
+ XmlTag:code
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('code')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('java_codebase')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('code')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS(',')
+ PsiWhiteSpace('\n ')
+ XmlTag:code
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('code')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('java_object')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('code')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS(',')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('or')
+ PsiWhiteSpace(' ')
+ XmlTag:code
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('code')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('java_type')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('code')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('param')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('tags.')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('These')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('tags')
+ PsiWhiteSpace('\n ')
+ XmlToken:XML_DATA_CHARACTERS('are')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('only')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('needed')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('when')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('the')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('applet')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('defines')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('parameters')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('with')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('the')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('names')
+ PsiWhiteSpace('\n ')
+ XmlToken:XML_DATA_CHARACTERS('code,')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('codebase,')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('object,')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('or')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('type,')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('respectively.')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('(In')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('that')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('situation,')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('the')
+ PsiWhiteSpace('\n ')
+ XmlToken:XML_DATA_CHARACTERS('plugin')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('recognizes')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('and')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('uses')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('the')
+ PsiWhiteSpace(' ')
+ XmlTag:code
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('code')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('java_')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('code')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('version')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('in')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('preference')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('to')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('the')
+ PsiWhiteSpace('\n ')
+ XmlToken:XML_DATA_CHARACTERS('version')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('that')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('will')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('be')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('used')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('by')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('the')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('applet.)')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('If')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('the')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('applet')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('requires')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('a')
+ PsiWhiteSpace('\n ')
+ XmlToken:XML_DATA_CHARACTERS('parameter')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('with')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('one')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('of')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('these')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('4')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('names,')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('it')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('may')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('not')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('run')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('in')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('AppletViewer.')
+ PsiWhiteSpace('\n')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('ul')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('blockquote')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n')
+ XmlTag:p
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('p')
+ XmlToken:XML_TAG_END('>')
+ PsiErrorElement:Element p is not closed
+
+ XmlText
+ PsiWhiteSpace('\n')
+ XmlTag:b
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('b')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('embed')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('b')
+ XmlToken:XML_TAG_END('>')
+ XmlTag:br
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('br')
+ XmlToken:XML_TAG_END('>')
+ PsiErrorElement:Element br is not closed
+
+ XmlText
+ PsiWhiteSpace('\n')
+ XmlTag:blockquote
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('blockquote')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n')
+ XmlToken:XML_DATA_CHARACTERS('The')
+ PsiWhiteSpace(' ')
+ XmlTag:code
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('code')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('embed')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('code')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('tag')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('is')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('the')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('Netscape')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('extension')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('to')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('HTML')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('3.2')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('that')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('allows')
+ PsiWhiteSpace(' \n')
+ XmlToken:XML_DATA_CHARACTERS('embedding')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('an')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('applet')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('or')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('a')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('multimedia')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('object')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('in')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('an')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('HTML')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('page.')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('It')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('allows')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('a')
+ PsiWhiteSpace('\n')
+ XmlToken:XML_DATA_CHARACTERS('Netscape')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('4.x')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('browser')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('(which')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('supports')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('HTML')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('3.2)')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('to')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('run')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('a')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('Java')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('applet')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('using')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('the')
+ PsiWhiteSpace(' \n')
+ XmlToken:XML_DATA_CHARACTERS('latest')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('Java')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('plugin')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('from')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('Sun.')
+ PsiWhiteSpace('\n')
+ XmlTag:pre
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('pre')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n')
+ XmlToken:XML_CHAR_ENTITY_REF('<')
+ XmlToken:XML_DATA_CHARACTERS('embed')
+ PsiWhiteSpace('\n ')
+ XmlToken:XML_DATA_CHARACTERS('code="')
+ XmlTag:i
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('i')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('yourClass.class')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('i')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('"')
+ PsiWhiteSpace('\n ')
+ XmlToken:XML_DATA_CHARACTERS('object="')
+ XmlTag:i
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('i')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('serializedObjectOrJavaBean')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('i')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('"')
+ PsiWhiteSpace('\n ')
+ XmlToken:XML_DATA_CHARACTERS('codebase="')
+ XmlTag:i
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('i')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('classFileDirectory')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('i')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('"')
+ PsiWhiteSpace('\n ')
+ XmlToken:XML_DATA_CHARACTERS('width="')
+ XmlTag:i
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('i')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('pixelWidth')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('i')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('"')
+ PsiWhiteSpace('\n ')
+ XmlToken:XML_DATA_CHARACTERS('height="')
+ XmlTag:i
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('i')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('pixelHeight')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('i')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('"')
+ PsiWhiteSpace('\n')
+ XmlToken:XML_CHAR_ENTITY_REF('>')
+ PsiWhiteSpace('\n ')
+ XmlToken:XML_DATA_CHARACTERS('...')
+ PsiWhiteSpace('\n')
+ XmlToken:XML_CHAR_ENTITY_REF('<')
+ XmlToken:XML_DATA_CHARACTERS('/embed')
+ XmlToken:XML_CHAR_ENTITY_REF('>')
+ PsiWhiteSpace('\n')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('pre')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n')
+ XmlTag:b
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('b')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('Notes:')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('b')
+ XmlToken:XML_TAG_END('>')
+ XmlTag:br
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('br')
+ XmlToken:XML_TAG_END('>')
+ PsiErrorElement:Element br is not closed
+
+ XmlText
+ PsiWhiteSpace('\n')
+ XmlTag:ul
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('ul')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n')
+ XmlTag:li
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('li')
+ XmlToken:XML_TAG_END('>')
+ PsiErrorElement:Element li is not closed
+
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('The')
+ PsiWhiteSpace(' ')
+ XmlTag:code
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('code')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('object')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('code')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('and')
+ PsiWhiteSpace(' ')
+ XmlTag:code
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('code')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('embed')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('code')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('tags')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('can')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('be')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('combined')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('so')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('that')
+ PsiWhiteSpace('\n ')
+ XmlToken:XML_DATA_CHARACTERS('an')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('applet')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('can')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('use')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('the')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('latest')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('Java')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('plugin')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('from')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('Sun,')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('regardless')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('of')
+ PsiWhiteSpace('\n ')
+ XmlToken:XML_DATA_CHARACTERS('the')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('browser')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('that')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('downloads')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('the')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('applet.')
+ XmlTag:br
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('br')
+ XmlToken:XML_TAG_END('>')
+ PsiErrorElement:Element br is not closed
+
+ XmlText
+ PsiWhiteSpace('\n\t ')
+ XmlToken:XML_DATA_CHARACTERS('For')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('more')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('information,')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('see')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('the')
+ PsiWhiteSpace('\n ')
+ XmlTag:a
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('a')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('href')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('http://java.sun.com/products/plugin/1.3/docs/tags.html')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('Java')
+ PsiWhiteSpace(' \n ')
+ XmlToken:XML_DATA_CHARACTERS('PlugIn')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('HTML')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('Specification')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('a')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n\t ')
+ XmlTag:p
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('p')
+ XmlToken:XML_TAG_END('>')
+ PsiErrorElement:Element p is not closed
+
+ XmlText
+ PsiWhiteSpace('\n')
+ XmlTag:li
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('li')
+ XmlToken:XML_TAG_END('>')
+ PsiErrorElement:Element li is not closed
+
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('Unlike')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('the')
+ PsiWhiteSpace(' ')
+ XmlTag:code
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('code')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('object')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('code')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('tag,')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('all')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('values')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('specified')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('in')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('an')
+ PsiWhiteSpace(' ')
+ XmlTag:code
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('code')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('embed')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('code')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlToken:XML_DATA_CHARACTERS('tag')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('are')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('attributes')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('(part')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('of')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('the')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('tag)')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('rather')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('than')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('parameters')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('(between')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('the')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('start')
+ PsiWhiteSpace('\n\t ')
+ XmlToken:XML_DATA_CHARACTERS('tag')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('and')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('end')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('tag,')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('specified')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('with')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('a')
+ PsiWhiteSpace(' ')
+ XmlTag:code
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('code')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('param')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('code')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('tag.')
+ PsiWhiteSpace('\n\t ')
+ XmlTag:p
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('p')
+ XmlToken:XML_TAG_END('>')
+ PsiErrorElement:Element p is not closed
+
+ XmlText
+ PsiWhiteSpace('\n')
+ XmlTag:li
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('li')
+ XmlToken:XML_TAG_END('>')
+ PsiErrorElement:Element li is not closed
+
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('To')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('supply')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('argument')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('values')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('for')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('applet')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('parameters,')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('you')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('add')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('additional')
+ PsiWhiteSpace('\n ')
+ XmlToken:XML_DATA_CHARACTERS('attributes')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('to')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('the')
+ PsiWhiteSpace(' ')
+ XmlTag:code
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('code')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_CHAR_ENTITY_REF('<')
+ XmlToken:XML_DATA_CHARACTERS('embed')
+ XmlToken:XML_CHAR_ENTITY_REF('>')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('code')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('tag.')
+ PsiWhiteSpace('\n\t ')
+ XmlTag:p
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('p')
+ XmlToken:XML_TAG_END('>')
+ PsiErrorElement:Element p is not closed
+
+ XmlText
+ PsiWhiteSpace('\n')
+ XmlTag:li
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('li')
+ XmlToken:XML_TAG_END('>')
+ PsiErrorElement:Element li is not closed
+
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('AppletViewer')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('ignores')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('the')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('"src"')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('attribute')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('that')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('is')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('usually')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('part')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('of')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('an')
+ PsiWhiteSpace(' \n ')
+ XmlTag:code
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('code')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_CHAR_ENTITY_REF('<')
+ XmlToken:XML_DATA_CHARACTERS('embed')
+ XmlToken:XML_CHAR_ENTITY_REF('>')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('code')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('tag.')
+ PsiWhiteSpace('\n\t ')
+ XmlTag:p
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('p')
+ XmlToken:XML_TAG_END('>')
+ PsiErrorElement:Element p is not closed
+
+ XmlText
+ PsiWhiteSpace('\n')
+ XmlTag:li
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('li')
+ XmlToken:XML_TAG_END('>')
+ PsiErrorElement:Element li is not closed
+
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('Either')
+ PsiWhiteSpace(' ')
+ XmlTag:code
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('code')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('code')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('code')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('or')
+ PsiWhiteSpace(' ')
+ XmlTag:code
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('code')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('object')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('code')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('is')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('specified,')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('not')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('both.')
+ PsiWhiteSpace('\n\t ')
+ XmlTag:p
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('p')
+ XmlToken:XML_TAG_END('>')
+ PsiErrorElement:Element p is not closed
+
+ XmlText
+ PsiWhiteSpace('\n')
+ XmlTag:li
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('li')
+ XmlToken:XML_TAG_END('>')
+ PsiErrorElement:Element li is not closed
+
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('The')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('optional')
+ PsiWhiteSpace(' ')
+ XmlTag:code
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('code')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('codebase')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('code')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('attribute')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('supplies')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('a')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('relative')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('URL')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('that')
+ PsiWhiteSpace('\n ')
+ XmlToken:XML_DATA_CHARACTERS('specifies')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('the')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('location')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('of')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('the')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('applet')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('class.')
+ PsiWhiteSpace('\n\t ')
+ XmlTag:p
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('p')
+ XmlToken:XML_TAG_END('>')
+ PsiErrorElement:Element p is not closed
+
+ XmlText
+ PsiWhiteSpace('\n')
+ XmlTag:li
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('li')
+ XmlToken:XML_TAG_END('>')
+ PsiErrorElement:Element li is not closed
+
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('The')
+ PsiWhiteSpace(' ')
+ XmlTag:code
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('code')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('type')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('code')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('attribute')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('is')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('not')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('used')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('by')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('AppletViewer,')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('but')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('should')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('be')
+ PsiWhiteSpace('\n ')
+ XmlToken:XML_DATA_CHARACTERS('present')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('so')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('that')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('browsers')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('load')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('the')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('plugin')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('properly.')
+ XmlTag:br
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('br')
+ XmlToken:XML_TAG_END('>')
+ PsiErrorElement:Element br is not closed
+
+ XmlText
+ PsiWhiteSpace('\n\t ')
+ XmlToken:XML_DATA_CHARACTERS('For')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('an')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('applet,')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('the')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('value')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('should')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('be')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('something')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('like:')
+ XmlTag:br
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('br')
+ XmlToken:XML_TAG_END('>')
+ PsiErrorElement:Element br is not closed
+
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlTag:code
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('code')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_CHAR_ENTITY_REF(' ')
+ XmlToken:XML_CHAR_ENTITY_REF(' ')
+ PsiWhiteSpace('\n ')
+ XmlToken:XML_CHAR_ENTITY_REF('<')
+ XmlToken:XML_DATA_CHARACTERS('type="application/x-java-applet;version=1.1"')
+ XmlToken:XML_CHAR_ENTITY_REF('>')
+ XmlToken:XML_DATA_CHARACTERS('...')
+ PsiWhiteSpace('\n ')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('code')
+ XmlToken:XML_TAG_END('>')
+ XmlTag:br
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('br')
+ XmlToken:XML_TAG_END('>')
+ PsiErrorElement:Element br is not closed
+
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlToken:XML_DATA_CHARACTERS('or')
+ XmlTag:br
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('br')
+ XmlToken:XML_TAG_END('>')
+ PsiErrorElement:Element br is not closed
+
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlTag:code
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('code')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_CHAR_ENTITY_REF(' ')
+ XmlToken:XML_CHAR_ENTITY_REF(' ')
+ PsiWhiteSpace('\n ')
+ XmlToken:XML_CHAR_ENTITY_REF('<')
+ XmlToken:XML_DATA_CHARACTERS('type="application/x-java-applet"')
+ XmlToken:XML_CHAR_ENTITY_REF('>')
+ XmlToken:XML_DATA_CHARACTERS('...')
+ PsiWhiteSpace('\n ')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('code')
+ XmlToken:XML_TAG_END('>')
+ XmlTag:br
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('br')
+ XmlToken:XML_TAG_END('>')
+ PsiErrorElement:Element br is not closed
+
+ XmlTag:br
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('br')
+ XmlToken:XML_TAG_END('>')
+ PsiErrorElement:Element br is not closed
+
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlToken:XML_DATA_CHARACTERS('For')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('a')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('serialized')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('object')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('or')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('JavaBean,')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('the')
+ PsiWhiteSpace(' ')
+ XmlTag:code
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('code')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('type')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('code')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('param')
+ PsiWhiteSpace(' \n\t ')
+ XmlToken:XML_DATA_CHARACTERS('value')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('should')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('be')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('something')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('like:')
+ XmlTag:br
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('br')
+ XmlToken:XML_TAG_END('>')
+ PsiErrorElement:Element br is not closed
+
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlTag:code
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('code')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_CHAR_ENTITY_REF(' ')
+ XmlToken:XML_CHAR_ENTITY_REF(' ')
+ PsiWhiteSpace('\n ')
+ XmlToken:XML_CHAR_ENTITY_REF('<')
+ XmlToken:XML_DATA_CHARACTERS('type="application/x-java-bean;version=1.1"')
+ XmlToken:XML_CHAR_ENTITY_REF('>')
+ XmlToken:XML_DATA_CHARACTERS('...')
+ PsiWhiteSpace('\n ')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('code')
+ XmlToken:XML_TAG_END('>')
+ XmlTag:br
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('br')
+ XmlToken:XML_TAG_END('>')
+ PsiErrorElement:Element br is not closed
+
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlToken:XML_DATA_CHARACTERS('or')
+ XmlTag:br
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('br')
+ XmlToken:XML_TAG_END('>')
+ PsiErrorElement:Element br is not closed
+
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlTag:code
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('code')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_CHAR_ENTITY_REF(' ')
+ XmlToken:XML_CHAR_ENTITY_REF(' ')
+ PsiWhiteSpace('\n ')
+ XmlToken:XML_CHAR_ENTITY_REF('<')
+ XmlToken:XML_DATA_CHARACTERS('type="application/x-java-bean"')
+ XmlToken:XML_CHAR_ENTITY_REF('>')
+ XmlToken:XML_DATA_CHARACTERS('...')
+ PsiWhiteSpace('\n ')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('code')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n\t ')
+ XmlTag:p
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('p')
+ XmlToken:XML_TAG_END('>')
+ PsiErrorElement:Element p is not closed
+
+ XmlText
+ PsiWhiteSpace('\n')
+ XmlTag:li
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('li')
+ XmlToken:XML_TAG_END('>')
+ PsiErrorElement:Element li is not closed
+
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('The')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('"pluginspage"')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('attribute')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('is')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('not')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('used')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('by')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('AppletViewer,')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('but')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('should')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('be')
+ PsiWhiteSpace('\n ')
+ XmlToken:XML_DATA_CHARACTERS('present')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('so')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('that')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('browsers')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('load')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('the')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('plugin')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('properly.')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('It')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('should')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('point')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('to')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('a')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('Java')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('plugin')
+ PsiWhiteSpace('\n ')
+ XmlToken:XML_DATA_CHARACTERS('in')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('a')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('network')
+ PsiWhiteSpace(' ')
+ XmlTag:b
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('b')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('cab')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('b')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('file')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('with')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('a')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('value')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('like:')
+ XmlTag:br
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('br')
+ XmlToken:XML_TAG_END('>')
+ PsiErrorElement:Element br is not closed
+
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlTag:code
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('code')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_CHAR_ENTITY_REF(' ')
+ XmlToken:XML_CHAR_ENTITY_REF(' ')
+ PsiWhiteSpace('\n ')
+ XmlToken:XML_DATA_CHARACTERS('pluginspage="http://java.sun.com/products/plugin/1.1/jinstall-11-win32.cab#Version=1,1,0,0"')
+ PsiWhiteSpace('\n ')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('code')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('ul')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('blockquote')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n')
+ XmlTag:p
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('p')
+ XmlToken:XML_TAG_END('>')
+ PsiErrorElement:Element p is not closed
+
+ XmlText
+ PsiWhiteSpace('\n')
+ XmlTag:b
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('b')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('applet')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('b')
+ XmlToken:XML_TAG_END('>')
+ XmlTag:br
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('br')
+ XmlToken:XML_TAG_END('>')
+ PsiErrorElement:Element br is not closed
+
+ XmlText
+ PsiWhiteSpace('\n')
+ XmlTag:blockquote
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('blockquote')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n')
+ XmlToken:XML_DATA_CHARACTERS('The')
+ PsiWhiteSpace(' ')
+ XmlTag:code
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('code')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('applet')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('code')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('tag')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('is')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('the')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('original')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('HTML')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('3.2')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('tag')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('for')
+ PsiWhiteSpace(' \n')
+ XmlToken:XML_DATA_CHARACTERS('embedding')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('an')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('applet')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('in')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('an')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('HTML')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('page.')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('Applets')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('loaded')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('using')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('the')
+ PsiWhiteSpace('\n')
+ XmlTag:code
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('code')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('applet')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('code')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('tag')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('are')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('run')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('by')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('the')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('browser,')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('which')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('may')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('not')
+ PsiWhiteSpace('\n')
+ XmlToken:XML_DATA_CHARACTERS('be')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('using')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('the')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('latest')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('version')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('of')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('the')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('Java')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('platform.')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('To')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('ensure')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('that')
+ PsiWhiteSpace('\n')
+ XmlToken:XML_DATA_CHARACTERS('the')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('applet')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('runs')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('with')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('the')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('latest')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('version,')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('use')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('the')
+ PsiWhiteSpace(' ')
+ XmlTag:code
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('code')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('object')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('code')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n')
+ XmlToken:XML_DATA_CHARACTERS('tag')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('to')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('load')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('the')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('Java')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('plugin')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('into')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('the')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('browser.')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('The')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('plugin')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('will')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('then')
+ PsiWhiteSpace('\n')
+ XmlToken:XML_DATA_CHARACTERS('run')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('the')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('applet.')
+ PsiWhiteSpace('\n')
+ XmlTag:pre
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('pre')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n')
+ XmlToken:XML_CHAR_ENTITY_REF('<')
+ XmlToken:XML_DATA_CHARACTERS('applet')
+ PsiWhiteSpace('\n ')
+ XmlToken:XML_DATA_CHARACTERS('code="')
+ XmlTag:i
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('i')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('yourClass.class')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('i')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('"')
+ PsiWhiteSpace('\n ')
+ XmlToken:XML_DATA_CHARACTERS('object="')
+ XmlTag:i
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('i')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('serializedObjectOrJavaBean')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('i')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('"')
+ PsiWhiteSpace('\n ')
+ XmlToken:XML_DATA_CHARACTERS('codebase="')
+ XmlTag:i
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('i')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('classFileDirectory')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('i')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('"')
+ PsiWhiteSpace('\n ')
+ XmlToken:XML_DATA_CHARACTERS('width="')
+ XmlTag:i
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('i')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('pixelWidth')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('i')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('"')
+ PsiWhiteSpace('\n ')
+ XmlToken:XML_DATA_CHARACTERS('height="')
+ XmlTag:i
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('i')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('pixelHeight')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('i')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('"')
+ PsiWhiteSpace('\n')
+ XmlToken:XML_CHAR_ENTITY_REF('>')
+ PsiWhiteSpace('\n ')
+ XmlToken:XML_CHAR_ENTITY_REF('<')
+ XmlToken:XML_DATA_CHARACTERS('param')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('name="')
+ XmlTag:i
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('i')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('...')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('i')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('"')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('value="')
+ XmlTag:i
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('i')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('...')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('i')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('"')
+ XmlToken:XML_CHAR_ENTITY_REF('>')
+ PsiWhiteSpace('\n ')
+ XmlToken:XML_DATA_CHARACTERS('...')
+ PsiWhiteSpace('\n ')
+ XmlTag:i
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('i')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('alternate-text')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('i')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n')
+ XmlToken:XML_CHAR_ENTITY_REF('<')
+ XmlToken:XML_DATA_CHARACTERS('/applet')
+ XmlToken:XML_CHAR_ENTITY_REF('>')
+ PsiWhiteSpace('\n')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('pre')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n')
+ XmlTag:b
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('b')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('Notes:')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('b')
+ XmlToken:XML_TAG_END('>')
+ XmlTag:br
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('br')
+ XmlToken:XML_TAG_END('>')
+ PsiErrorElement:Element br is not closed
+
+ XmlText
+ PsiWhiteSpace('\n')
+ XmlTag:ul
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('ul')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n')
+ XmlTag:li
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('li')
+ XmlToken:XML_TAG_END('>')
+ PsiErrorElement:Element li is not closed
+
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('Either')
+ PsiWhiteSpace(' ')
+ XmlTag:code
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('code')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('code')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('code')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('or')
+ PsiWhiteSpace(' ')
+ XmlTag:code
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('code')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('object')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('code')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('is')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('specified,')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('not')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('both.')
+ PsiWhiteSpace('\n\t ')
+ XmlTag:p
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('p')
+ XmlToken:XML_TAG_END('>')
+ PsiErrorElement:Element p is not closed
+
+ XmlText
+ PsiWhiteSpace('\n')
+ XmlTag:li
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('li')
+ XmlToken:XML_TAG_END('>')
+ PsiErrorElement:Element li is not closed
+
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('The')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('optional')
+ PsiWhiteSpace(' ')
+ XmlTag:code
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('code')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('codebase')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('code')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('attribute')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('supplies')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('a')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('relative')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('URL')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('that')
+ PsiWhiteSpace('\n ')
+ XmlToken:XML_DATA_CHARACTERS('specifies')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('the')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('location')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('of')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('the')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('applet')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('class.')
+ PsiWhiteSpace('\n\t ')
+ XmlTag:p
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('p')
+ XmlToken:XML_TAG_END('>')
+ PsiErrorElement:Element p is not closed
+
+ XmlText
+ PsiWhiteSpace('\n')
+ XmlTag:li
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('li')
+ XmlToken:XML_TAG_END('>')
+ PsiErrorElement:Element li is not closed
+
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('Param')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('tags')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('supply')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('argument')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('values')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('for')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('applet')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('parameters.')
+ PsiWhiteSpace('\n')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('ul')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('blockquote')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n')
+ XmlTag:p
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('p')
+ XmlToken:XML_TAG_END('>')
+ PsiErrorElement:Element p is not closed
+
+ XmlText
+ PsiWhiteSpace('\n')
+ XmlTag:b
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('b')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('app')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('b')
+ XmlToken:XML_TAG_END('>')
+ XmlTag:br
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('br')
+ XmlToken:XML_TAG_END('>')
+ PsiErrorElement:Element br is not closed
+
+ XmlText
+ PsiWhiteSpace('\n')
+ XmlTag:blockquote
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('blockquote')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n')
+ XmlToken:XML_DATA_CHARACTERS('The')
+ PsiWhiteSpace(' ')
+ XmlTag:code
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('code')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('app')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('code')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('tag')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('was')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('a')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('short-lived')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('abbreviation')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('for')
+ PsiWhiteSpace(' \n')
+ XmlTag:code
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('code')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('applet')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('code')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('that')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('is')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('no')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('longer')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('supported.')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('AppletViewer')
+ PsiWhiteSpace(' \n')
+ XmlToken:XML_DATA_CHARACTERS('translates')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('the')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('tag')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('and')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('prints')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('out')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('an')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('equivalent')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('tag')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('that')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('is')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('supported.')
+ PsiWhiteSpace('\n')
+ XmlTag:pre
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('pre')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n')
+ XmlToken:XML_CHAR_ENTITY_REF('<')
+ XmlToken:XML_DATA_CHARACTERS('app')
+ PsiWhiteSpace('\n ')
+ XmlToken:XML_DATA_CHARACTERS('class="')
+ XmlTag:i
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('i')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('classFileName')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('i')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('"')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('(')
+ XmlTag:i
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('i')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('without')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('i')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('a')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('.class')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('suffix)')
+ PsiWhiteSpace('\n ')
+ XmlToken:XML_DATA_CHARACTERS('src="')
+ XmlTag:i
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('i')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('classFileDirectory')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('i')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('"')
+ PsiWhiteSpace('\n ')
+ XmlToken:XML_DATA_CHARACTERS('width="')
+ XmlTag:i
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('i')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('pixelWidth')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('i')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('"')
+ PsiWhiteSpace('\n ')
+ XmlToken:XML_DATA_CHARACTERS('height="')
+ XmlTag:i
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('i')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('pixelHeight')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('i')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('"')
+ PsiWhiteSpace('\n')
+ XmlToken:XML_CHAR_ENTITY_REF('>')
+ PsiWhiteSpace('\n')
+ XmlToken:XML_CHAR_ENTITY_REF('<')
+ XmlToken:XML_DATA_CHARACTERS('param')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('name="..."')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('value="..."')
+ XmlToken:XML_CHAR_ENTITY_REF('>')
+ PsiWhiteSpace('\n ')
+ XmlToken:XML_DATA_CHARACTERS('...')
+ PsiWhiteSpace('\n')
+ XmlToken:XML_CHAR_ENTITY_REF('<')
+ XmlToken:XML_DATA_CHARACTERS('/app')
+ XmlToken:XML_CHAR_ENTITY_REF('>')
+ PsiWhiteSpace('\n')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('pre')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('blockquote')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n\n')
+ XmlToken:XML_DATA_CHARACTERS('For')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('more')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('information')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('on')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('the')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('tags')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('that')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('AppletViewer')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('supports')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('and')
+ XmlTag:br
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('br')
+ XmlToken:XML_TAG_END('>')
+ PsiErrorElement:Element br is not closed
+
+ XmlText
+ PsiWhiteSpace(' \n')
+ XmlToken:XML_DATA_CHARACTERS('how')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('to')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('combine')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('them,')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('see')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('the')
+ PsiWhiteSpace(' \n')
+ XmlTag:a
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('a')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('href')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('http://java.sun.com/products/plugin/1.3/docs/tags.html')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('Java')
+ PsiWhiteSpace(' \n')
+ XmlToken:XML_DATA_CHARACTERS('PlugIn')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('HTML')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('Specification')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('a')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('.')
+ PsiWhiteSpace('\n')
+ XmlTag:P
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('P')
+ XmlToken:XML_TAG_END('>')
+ PsiErrorElement:Element P is not closed
+
+ XmlText
+ PsiWhiteSpace('\n')
+ XmlTag:HR
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('HR')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('SIZE')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ PsiErrorElement:Attribute value expected
+
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('3')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('NOSHADE>')
+ PsiWhiteSpace('\n')
+ XmlTag:TABLE
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('TABLE')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('BORDER')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('0')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('WIDTH')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('100%')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('summary')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('layout')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n')
+ XmlTag:TR
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('TR')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('VALIGN')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ PsiErrorElement:Attribute value expected
+
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('TOP')
+ PsiErrorElement:'=' expected
+
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n')
+ XmlTag:TD
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('TD')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n')
+ XmlTag:P
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('P')
+ XmlToken:XML_TAG_END('>')
+ XmlTag:FONT
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('FONT')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('SIZE')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('-2')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlTag:A
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('A')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('HREF')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('../relnotes/SMICopyright.html')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('Copyright')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('A')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace(' ')
+ XmlToken:XML_CHAR_ENTITY_REF('©')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('2001')
+ PsiWhiteSpace('\n ')
+ XmlTag:A
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('A')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('HREF')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('http://www.sun.com')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('Sun')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('Microsystems,')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('Inc.')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('A')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlToken:XML_DATA_CHARACTERS('All')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('Rights')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('Reserved.')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('FONT')
+ XmlToken:XML_TAG_END('>')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('P')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('TD')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n')
+ XmlTag:TD
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('TD')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('ALIGN')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ PsiErrorElement:Attribute value expected
+
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('RIGHT')
+ PsiErrorElement:'=' expected
+
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlTag:IMG
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('IMG')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('SRC')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('../images/sunlogo64x30.gif')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('ALT')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('Sun')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('BORDER')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ PsiErrorElement:Attribute value expected
+
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('0')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('WIDTH=64')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('HEIGHT=30>')
+ PsiWhiteSpace('\n ')
+ XmlTag:BR
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('BR')
+ XmlToken:XML_TAG_END('>')
+ PsiErrorElement:Element BR is not closed
+
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlTag:FONT
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('FONT')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('SIZE')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('+1')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlTag:i
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('i')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('Java')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_DATA_CHARACTERS('Software')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('i')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('FONT')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('TD')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('TR')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('TABLE')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n')
+ XmlTag:BR
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('BR')
+ XmlToken:XML_TAG_END('>')
+ PsiErrorElement:Element BR is not closed
+
+ XmlTag:BR
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('BR')
+ XmlToken:XML_TAG_END('>')
+ PsiErrorElement:Element BR is not closed
+
+ XmlTag:BR
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('BR')
+ XmlToken:XML_TAG_END('>')
+ PsiErrorElement:Element BR is not closed
+
+ XmlTag:BR
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('BR')
+ XmlToken:XML_TAG_END('>')
+ PsiErrorElement:Element BR is not closed
+
+ XmlTag:BR
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('BR')
+ XmlToken:XML_TAG_END('>')
+ PsiErrorElement:Element BR is not closed
+
+ XmlTag:BR
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('BR')
+ XmlToken:XML_TAG_END('>')
+ PsiErrorElement:Element BR is not closed
+
+ XmlTag:BR
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('BR')
+ XmlToken:XML_TAG_END('>')
+ PsiErrorElement:Element BR is not closed
+
+ XmlTag:BR
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('BR')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n\n')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('body')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('html')
+ XmlToken:XML_TAG_END('>')
\ No newline at end of file
diff --git a/xml/tests/testData/psi/testMultyRoots.txt b/xml/tests/testData/psi/testMultyRoots.txt
new file mode 100644
index 000000000000..75455e037432
--- /dev/null
+++ b/xml/tests/testData/psi/testMultyRoots.txt
@@ -0,0 +1,21 @@
+XmlFile:test.xml
+ PsiElement(XML_DOCUMENT)
+ PsiElement(XML_PROLOG)
+
+ XmlTag:a
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('a')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('href')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ XmlToken:XML_EMPTY_ELEMENT_END('/>')
+ PsiWhiteSpace(' ')
+ XmlTag:b
+ PsiErrorElement:Multiple root tags
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('b')
+ XmlToken:XML_EMPTY_ELEMENT_END('/>')
\ No newline at end of file
diff --git a/xml/tests/testData/psi/testMultyRootsWithErrorsBetween.txt b/xml/tests/testData/psi/testMultyRootsWithErrorsBetween.txt
new file mode 100644
index 000000000000..45d6022e0d1e
--- /dev/null
+++ b/xml/tests/testData/psi/testMultyRootsWithErrorsBetween.txt
@@ -0,0 +1,25 @@
+XmlFile:test.xml
+ PsiElement(XML_DOCUMENT)
+ PsiElement(XML_PROLOG)
+
+ XmlTag:a
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('a')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('href')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ XmlToken:XML_EMPTY_ELEMENT_END('/>')
+ PsiWhiteSpace(' ')
+ PsiErrorElement:Unexpected tokens
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('ss')
+ XmlToken:XML_TAG_END('>')
+ XmlTag:b
+ PsiErrorElement:Multiple root tags
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('b')
+ XmlToken:XML_EMPTY_ELEMENT_END('/>')
\ No newline at end of file
diff --git a/xml/tests/testData/psi/testNewParsing1.txt b/xml/tests/testData/psi/testNewParsing1.txt
new file mode 100644
index 000000000000..dfa4b916be9e
--- /dev/null
+++ b/xml/tests/testData/psi/testNewParsing1.txt
@@ -0,0 +1,11 @@
+XmlFile:test.xml
+ PsiElement(XML_DOCUMENT)
+ PsiElement(XML_PROLOG)
+
+ XmlTag:a
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('a')
+ XmlToken:XML_TAG_END('>')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('a')
+ XmlToken:XML_TAG_END('>')
\ No newline at end of file
diff --git a/xml/tests/testData/psi/testNewParsing10.txt b/xml/tests/testData/psi/testNewParsing10.txt
new file mode 100644
index 000000000000..f679b82c1c20
--- /dev/null
+++ b/xml/tests/testData/psi/testNewParsing10.txt
@@ -0,0 +1,29 @@
+XmlFile:test.xml
+ PsiElement(XML_DOCUMENT)
+ PsiElement(XML_PROLOG)
+
+ XmlTag:a
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('a')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('asd')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('asd')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace(' ')
+ XmlTag:s
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('s')
+ XmlToken:XML_TAG_END('>')
+ PsiErrorElement:Element s is not closed
+
+ XmlText
+ PsiWhiteSpace(' ')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('a')
+ XmlToken:XML_TAG_END('>')
\ No newline at end of file
diff --git a/xml/tests/testData/psi/testNewParsing11.txt b/xml/tests/testData/psi/testNewParsing11.txt
new file mode 100644
index 000000000000..8a97f89c1d87
--- /dev/null
+++ b/xml/tests/testData/psi/testNewParsing11.txt
@@ -0,0 +1,36 @@
+XmlFile:test.xml
+ PsiElement(XML_DOCUMENT)
+ PsiElement(XML_COMMENT)
+ XmlToken:XML_COMMENT_START('')
+ PsiElement(XML_PROLOG)
+ PsiWhiteSpace(' ')
+ XmlTag:a
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('a')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('asd')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('asd')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace(' ')
+ XmlTag:s
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('s')
+ XmlToken:XML_TAG_END('>')
+ PsiErrorElement:Element s is not closed
+
+ XmlText
+ PsiWhiteSpace(' ')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('a')
+ XmlToken:XML_TAG_END('>')
\ No newline at end of file
diff --git a/xml/tests/testData/psi/testNewParsing12.txt b/xml/tests/testData/psi/testNewParsing12.txt
new file mode 100644
index 000000000000..361029da0003
--- /dev/null
+++ b/xml/tests/testData/psi/testNewParsing12.txt
@@ -0,0 +1,26 @@
+XmlFile:test.xml
+ PsiElement(XML_DOCUMENT)
+ PsiElement(XML_PROLOG)
+
+ XmlTag:a
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('a')
+ XmlToken:XML_TAG_END('>')
+ XmlTag:a
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('a')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('ajsdg')
+ PsiErrorElement:'=' expected
+
+ XmlTag:a
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('a')
+ XmlToken:XML_TAG_END('>')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('a')
+ XmlToken:XML_TAG_END('>')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('a')
+ XmlToken:XML_TAG_END('>')
\ No newline at end of file
diff --git a/xml/tests/testData/psi/testNewParsing13.txt b/xml/tests/testData/psi/testNewParsing13.txt
new file mode 100644
index 000000000000..7e9417fd154c
--- /dev/null
+++ b/xml/tests/testData/psi/testNewParsing13.txt
@@ -0,0 +1,34 @@
+XmlFile:test.xml
+ PsiElement(XML_DOCUMENT)
+ PsiElement(XML_PROLOG)
+
+ XmlTag:a
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('a')
+ XmlToken:XML_TAG_END('>')
+ XmlTag:b
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('b')
+ XmlToken:XML_TAG_END('>')
+ XmlTag:c
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('c')
+ XmlToken:XML_TAG_END('>')
+ PsiErrorElement:Element c is not closed
+
+ XmlText
+ PsiWhiteSpace('\n')
+ XmlToken:XML_DATA_CHARACTERS('xxx')
+ PsiWhiteSpace(' \n')
+ XmlToken:XML_DATA_CHARACTERS('xxxx')
+ PsiWhiteSpace('\n')
+ XmlTag:
+ XmlToken:XML_START_TAG_START('<')
+ PsiErrorElement:Tag name expected
+
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('b')
+ XmlToken:XML_TAG_END('>')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('a')
+ XmlToken:XML_TAG_END('>')
\ No newline at end of file
diff --git a/xml/tests/testData/psi/testNewParsing14.txt b/xml/tests/testData/psi/testNewParsing14.txt
new file mode 100644
index 000000000000..68db9c1b892f
--- /dev/null
+++ b/xml/tests/testData/psi/testNewParsing14.txt
@@ -0,0 +1,27 @@
+XmlFile:test.xml
+ PsiElement(XML_DOCUMENT)
+ PsiElement(XML_PROLOG)
+
+ XmlTag:a
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('a')
+ XmlToken:XML_TAG_END('>')
+ XmlTag:a
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('a')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('ajsdg')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_EQ('=')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ XmlToken:XML_TAG_END('>')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('a')
+ XmlToken:XML_TAG_END('>')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('a')
+ XmlToken:XML_TAG_END('>')
\ No newline at end of file
diff --git a/xml/tests/testData/psi/testNewParsing15.txt b/xml/tests/testData/psi/testNewParsing15.txt
new file mode 100644
index 000000000000..e7ca8b7aefec
--- /dev/null
+++ b/xml/tests/testData/psi/testNewParsing15.txt
@@ -0,0 +1,47 @@
+XmlFile:test.xml
+ PsiElement(XML_DOCUMENT)
+ PsiElement(XML_PROLOG)
+ PsiElement(XML_DOCTYPE)
+ XmlToken:XML_DOCTYPE_START('')
+ XmlToken:XML_MARKUP_END(']')
+ XmlToken:XML_DOCTYPE_END('>')
+ PsiWhiteSpace(' ')
+ XmlTag:a
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('a')
+ XmlToken:XML_TAG_END('>')
+ XmlTag:a
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('a')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('ajsdg')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_EQ('=')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ XmlToken:XML_TAG_END('>')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('a')
+ XmlToken:XML_TAG_END('>')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('a')
+ XmlToken:XML_TAG_END('>')
\ No newline at end of file
diff --git a/xml/tests/testData/psi/testNewParsing16.txt b/xml/tests/testData/psi/testNewParsing16.txt
new file mode 100644
index 000000000000..4ff3d9d2a259
--- /dev/null
+++ b/xml/tests/testData/psi/testNewParsing16.txt
@@ -0,0 +1,24 @@
+XmlFile:test.xml
+ PsiElement(XML_DOCUMENT)
+ PsiElement(XML_PROLOG)
+
+ XmlTag:a
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('a')
+ XmlToken:XML_TAG_END('>')
+ XmlTag:b
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('b')
+ XmlToken:XML_TAG_END('>')
+ PsiErrorElement:Element is not closed
+
+ XmlTag:s
+ XmlToken:XML_START_TAG_START('<')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_NAME('s')
+ PsiErrorElement:Element is not closed
+
+ XmlToken:XML_DATA_CHARACTERS('/b>')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('a')
+ XmlToken:XML_TAG_END('>')
\ No newline at end of file
diff --git a/xml/tests/testData/psi/testNewParsing17.txt b/xml/tests/testData/psi/testNewParsing17.txt
new file mode 100644
index 000000000000..c6be85348dfb
--- /dev/null
+++ b/xml/tests/testData/psi/testNewParsing17.txt
@@ -0,0 +1,334 @@
+XmlFile:test.xml
+ PsiElement(XML_DOCUMENT)
+ PsiElement(XML_PROLOG)
+
+ XmlTag:project
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('project')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('default')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('make')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlTag:target
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('target')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('name')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('make')
+ PsiWhiteSpace(' ')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('description')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('Create distributable ZIP file')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('depends')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('init,clean,obfuscate,jar')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ XmlToken:XML_EMPTY_ELEMENT_END('/>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlTag:target
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('target')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('name')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('init')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlTag:property
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('property')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('name')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('deploy')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('value')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('../deploy')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ XmlToken:XML_EMPTY_ELEMENT_END('/>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlTag:mkdir
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('mkdir')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('dir')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('${deploy}')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ XmlToken:XML_EMPTY_ELEMENT_END('/>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('target')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlTag:target
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('target')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('name')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('clean')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlTag:delete
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('delete')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('includeemptydirs')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('true')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlTag:fileset
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('fileset')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('dir')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('${deploy}')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('includes')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('**/*')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ XmlToken:XML_EMPTY_ELEMENT_END('/>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('delete')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('target')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlTag:target
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('target')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('name')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('obfuscate')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlTag:exec
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('exec')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('executable')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('C:/java/zkm/zkm.bat')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('dir')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('${deploy}')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlTag:arg
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('arg')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('value')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('../plugin/obfuscate.properties')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ XmlToken:XML_EMPTY_ELEMENT_END('/>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('exec')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('target')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlTag:target
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('target')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('name')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('jar')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlTag:jar
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('jar')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('jarfile')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('${deploy}/idea4-jprofiler.jar')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlTag:metainf
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('metainf')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('dir')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('./META-INF')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('includes')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('plugin.xml')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ XmlToken:XML_EMPTY_ELEMENT_END('/>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlTag:fileset
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('fileset')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('dir')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('${deploy}')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlTag:include
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('include')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('name')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('com/**')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ XmlToken:XML_EMPTY_ELEMENT_END('/>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('fileset')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlTag:fileset
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('fileset')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('dir')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('rsc')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ XmlToken:XML_EMPTY_ELEMENT_END('/>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('jar')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('target')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('project')
+ XmlToken:XML_TAG_END('>')
\ No newline at end of file
diff --git a/xml/tests/testData/psi/testNewParsing18.txt b/xml/tests/testData/psi/testNewParsing18.txt
new file mode 100644
index 000000000000..b0a89d2f1b63
--- /dev/null
+++ b/xml/tests/testData/psi/testNewParsing18.txt
@@ -0,0 +1,1372 @@
+PsiElement(XML_DOCUMENT)
+ PsiElement(XML_PROLOG)
+
+ XmlTag:root
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('root')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('type')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('com.ubsw.eq.dm.mercury.app.MercurySpec')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlTag:_xmlProperties
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('_xmlProperties')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('type')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('java.util.HashMap')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlTag:entries
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('entries')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('type')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('com.ubsw.common.serialization.delegates.MapDelegate$MapEntry[]')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlTag:element
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('element')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlTag:key
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('key')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('type')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('java.lang.String')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlTag:value
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('value')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('type')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('string')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('xml:space')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('preserve')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('DSApplication')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('value')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('key')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlTag:value
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('value')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('type')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('java.lang.String')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlTag:value
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('value')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('type')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('string')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('xml:space')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('preserve')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('Mercury')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('value')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('value')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('element')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlTag:element
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('element')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlTag:key
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('key')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('type')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('java.lang.String')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlTag:value
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('value')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('type')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('string')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('xml:space')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('preserve')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('DSEnvironment')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('value')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('key')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlTag:value
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('value')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('type')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('java.lang.String')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlTag:value
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('value')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('type')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('string')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('xml:space')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('preserve')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('Mercury/ExtIDCleanUp')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('value')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('value')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('element')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlTag:element
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('element')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlTag:key
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('key')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('type')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('java.lang.String')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlTag:value
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('value')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('type')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('string')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('xml:space')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('preserve')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('DSLocation')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('value')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('key')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlTag:value
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('value')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('type')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('java.lang.String')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlTag:value
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('value')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('type')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('string')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('xml:space')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('preserve')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('london')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('value')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('value')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('element')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlTag:element
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('element')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlTag:key
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('key')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('type')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('java.lang.String')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlTag:value
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('value')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('type')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('string')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('xml:space')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('preserve')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('DSLanguage')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('value')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('key')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlTag:value
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('value')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('type')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('java.lang.String')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlTag:value
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('value')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('type')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('string')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('xml:space')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('preserve')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('Java')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('value')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('value')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('element')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlTag:element
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('element')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlTag:key
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('key')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('type')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('java.lang.String')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlTag:value
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('value')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('type')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('string')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('xml:space')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('preserve')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('outputOperationList')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('value')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('key')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlTag:value
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('value')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('type')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('java.lang.String')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlTag:value
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('value')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('type')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('string')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('xml:space')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('preserve')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('Commit')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('value')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('value')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('element')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlTag:element
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('element')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlTag:key
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('key')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('type')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('java.lang.String')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlTag:value
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('value')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('type')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('string')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('xml:space')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('preserve')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('Objects_InTransaction')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('value')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('key')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlTag:value
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('value')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('type')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('java.lang.String')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlTag:value
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('value')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('type')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('string')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('xml:space')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('preserve')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('Commit')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('value')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('value')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('element')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlTag:element
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('element')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlTag:key
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('key')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('type')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('java.lang.String')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlTag:value
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('value')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('type')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('string')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('xml:space')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('preserve')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('LogFolder')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('value')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('key')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlTag:value
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('value')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('type')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('java.lang.String')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlTag:value
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('value')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('type')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('string')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('xml:space')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('preserve')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('value')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('value')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('element')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlTag:element
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('element')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlTag:key
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('key')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('type')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('java.lang.String')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlTag:value
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('value')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('type')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('string')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('xml:space')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('preserve')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('ReportFileDir')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('value')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('key')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlTag:value
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('value')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('type')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('java.lang.String')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlTag:value
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('value')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('type')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('string')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('xml:space')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('preserve')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/logs/')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('value')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('value')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('element')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlTag:element
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('element')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlTag:key
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('key')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('type')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('java.lang.String')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlTag:value
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('value')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('type')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('string')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('xml:space')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('preserve')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('ExcludedInstrumentListPath')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('value')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('key')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlTag:value
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('value')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('type')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('java.lang.String')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlTag:value
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('value')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('type')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('string')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('xml:space')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('preserve')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('C:/Developer/view_local/sherrach_instr.ext.id_local_nt/EQ_INSTR_EXT_ID/config/excludedStocks.txt')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('value')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('value')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('element')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlTag:element
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('element')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlTag:key
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('key')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('type')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('java.lang.String')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlTag:value
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('value')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('type')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('string')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('xml:space')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('preserve')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('ExcludeRefSymList')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('value')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('key')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlTag:value
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('value')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('type')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('java.lang.String')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlTag:value
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('value')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('type')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('string')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('xml:space')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('preserve')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('value')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('element')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlTag:element
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('element')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlTag:key
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('key')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('type')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('java.lang.String')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlTag:value
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('value')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('type')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('string')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('xml:space')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('preserve')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('IncludeRefSymList')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('value')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('key')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlTag:value
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('value')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('type')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('java.lang.String')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlTag:value
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('value')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('type')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('string')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('xml:space')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('preserve')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('value')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('value')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('element')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlTag:element
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('element')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlTag:key
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('key')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('type')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('java.lang.String')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlTag:value
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('value')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('type')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('string')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('xml:space')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('preserve')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('ExcludeMarkingRunList')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('value')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('key')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlTag:value
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('value')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('type')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('java.lang.String')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlTag:value
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('value')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('type')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('string')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('xml:space')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('preserve')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('?:AUTO-NonMarking')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('value')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('value')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('element')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlTag:element
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('element')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlTag:key
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('key')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('type')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('java.lang.String')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlTag:value
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('value')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('type')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('string')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('xml:space')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('preserve')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ XmlToken:XML_DATA_CHARACTERS('IncludeMarkingRunList')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('value')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('key')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlTag:value
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('value')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('type')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('java.lang.String')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlTag:value
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('value')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('type')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('string')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ PsiWhiteSpace(' ')
+ PsiElement(XML_ATTRIBUTE)
+ XmlToken:XML_NAME('xml:space')
+ XmlToken:XML_EQ('=')
+ PsiElement(XML_ATTRIBUTE_VALUE)
+ XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
+ XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('preserve')
+ XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('value')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n ')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('value')
+ Xml
diff --git a/xml/tests/testData/psi/testNewParsing19.txt b/xml/tests/testData/psi/testNewParsing19.txt
new file mode 100644
index 000000000000..e16bf8b863fc
--- /dev/null
+++ b/xml/tests/testData/psi/testNewParsing19.txt
@@ -0,0 +1,65 @@
+XmlFile:test.xml
+ PsiElement(XML_DOCUMENT)
+ PsiElement(XML_PROLOG)
+ PsiElement(XML_DOCTYPE)
+ XmlToken:XML_DOCTYPE_START('')
+ PsiElement(XML_ATTLIST_DECL)
+ XmlToken:XML_ATTLIST_DECL_START('')
+ XmlToken:XML_MARKUP_END(']')
+ XmlToken:XML_DOCTYPE_END('>')
+ PsiWhiteSpace('\n')
+ XmlTag:a
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('a')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace(' ')
+ XmlTag:b
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('b')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace(' ')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('b')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace(' ')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('a')
+ XmlToken:XML_TAG_END('>')
\ No newline at end of file
diff --git a/xml/tests/testData/psi/testNewParsing2.txt b/xml/tests/testData/psi/testNewParsing2.txt
new file mode 100644
index 000000000000..10df473828d7
--- /dev/null
+++ b/xml/tests/testData/psi/testNewParsing2.txt
@@ -0,0 +1,13 @@
+XmlFile:test.xml
+ PsiElement(XML_DOCUMENT)
+ PsiElement(XML_PROLOG)
+
+ XmlTag:a
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('a')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace(' ')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('a')
+ XmlToken:XML_TAG_END('>')
\ No newline at end of file
diff --git a/xml/tests/testData/psi/testNewParsing20.txt b/xml/tests/testData/psi/testNewParsing20.txt
new file mode 100644
index 000000000000..5dbd3a7aa2f3
--- /dev/null
+++ b/xml/tests/testData/psi/testNewParsing20.txt
@@ -0,0 +1,26 @@
+XmlFile:test.xml
+ PsiElement(XML_DOCUMENT)
+ PsiElement(XML_PROLOG)
+ PsiElement(XML_DOCTYPE)
+ XmlToken:XML_DOCTYPE_START('')
+ PsiWhiteSpace('\n')
+ XmlTag:root
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('root')
+ XmlToken:XML_TAG_END('>')
+ XmlText
+ PsiWhiteSpace('\n\n')
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('root')
+ XmlToken:XML_TAG_END('>')
\ No newline at end of file
diff --git a/xml/tests/testData/psi/testNewParsing3.txt b/xml/tests/testData/psi/testNewParsing3.txt
new file mode 100644
index 000000000000..a6b55edf03e2
--- /dev/null
+++ b/xml/tests/testData/psi/testNewParsing3.txt
@@ -0,0 +1,14 @@
+XmlFile:test.xml
+ PsiElement(XML_DOCUMENT)
+ PsiElement(XML_PROLOG)
+
+ XmlTag:a
+ XmlToken:XML_START_TAG_START('<')
+ XmlToken:XML_NAME('a')
+ PsiErrorElement:Tag start is not closed
+
+ PsiWhiteSpace(' ')
+ PsiErrorElement:Top level element is not completed
+ XmlToken:XML_END_TAG_START('')
+ XmlToken:XML_NAME('a')
+ XmlToken:XML_TAG_END('>')
\ No newline at end of file
diff --git a/xml/tests/testData/psi/testNewParsing4.txt b/xml/tests/testData/psi/testNewParsing4.txt
new file mode 100644
index 000000000000..0f27ec925c99
--- /dev/null
+++ b/xml/tests/testData/psi/testNewParsing4.txt
@@ -0,0 +1,21 @@
+XmlFile:test.xml
+ PsiElement(XML_DOCUMENT)
+ PsiElement(XML_PROLOG)
+