From 62ea1b4aa8efaee3af8529415e4bc2db6b29cfa5 Mon Sep 17 00:00:00 2001 From: Dmitry Avdeev Date: Wed, 24 Jul 2013 17:22:52 +0400 Subject: [PATCH] XmlDocumentationTest goes back home --- .../codeInsight/CodeInsightTestCase.java | 1 + .../codeInsight/XmlDocumentationTest.java | 167 ++ xml/tests/testData/documentation/1.xml | 6 + xml/tests/testData/documentation/2.html | 4 + xml/tests/testData/documentation/2.xml | 7 + xml/tests/testData/documentation/3.html | 4 + xml/tests/testData/documentation/3.xml | 8 + xml/tests/testData/documentation/3_2.xml | 8 + xml/tests/testData/documentation/3_3.xml | 8 + xml/tests/testData/documentation/4.html | 3 + xml/tests/testData/documentation/4.xml | 8 + xml/tests/testData/documentation/5.xml | 8 + xml/tests/testData/documentation/6.xsd | 4 + xml/tests/testData/documentation/7.html | 5 + xml/tests/testData/documentation/7.xml | 6 + xml/tests/testData/documentation/8.html | 5 + xml/tests/testData/documentation/8.xml | 7 + xml/tests/testData/documentation/9.html | 11 + xml/tests/testData/documentation/9.xml | 5 + .../testData/documentation/SchemaPrefix.xml | 17 + xml/tests/testData/documentation/XmlDoc2.xml | 12 + .../documentation/XmlDoc2.xml.expected.html | 3 + xml/tests/testData/documentation/XmlDoc3.xml | 9 + .../documentation/XmlDoc3.xml.expected.html | 4 + xml/tests/testData/documentation/XmlDoc4.xml | 1 + .../documentation/XmlDoc4.xml.expected.html | 1 + xml/tests/testData/documentation/XmlDoc4.xsd | 19 + xml/tests/testData/documentation/XmlDoc5.xml | 3 + .../documentation/XmlDoc5.xml.expected.html | 2 + xml/tests/testData/documentation/XmlDoc6.xml | 6 + .../XmlDoc6.xml.expected.completion.html | 1 + .../documentation/XmlDoc6.xml.expected.html | 1 + xml/tests/testData/documentation/XmlDoc6.xsd | 61 + xml/tests/testData/documentation/XmlDoc7.xml | 2 + .../XmlDoc7.xml.expected.completion.html | 1 + .../documentation/XmlDoc7.xml.expected.html | 1 + xml/tests/testData/documentation/XmlDoc7.xsd | 26 + .../documentation/XmlDocWithCData.xml | 13 + .../XmlDocWithCData.xml.expected.html | 2 + .../documentation/XmlDocWithCData2.xml | 14 + .../XmlDocWithCData2.xml.expected.html | 11 + xml/tests/testData/documentation/dtd.dtd | 3 + xml/tests/testData/documentation/dtd.xml | 5 + .../documentation/hibernate-mapping-3.0.dtd | 1036 ++++++++ xml/tests/testData/documentation/j2ee_1_4.xsd | 1607 ++++++++++++ .../testData/documentation/maven-4.0.0.xsd | 2213 +++++++++++++++++ .../testData/documentation/spring-beans.xsd | 1077 ++++++++ .../testData/documentation/web-app_2_3.dtd | 1063 ++++++++ .../testData/documentation/web-app_2_4.xsd | 1242 +++++++++ 49 files changed, 8731 insertions(+) create mode 100644 xml/tests/src/com/intellij/codeInsight/XmlDocumentationTest.java create mode 100644 xml/tests/testData/documentation/1.xml create mode 100644 xml/tests/testData/documentation/2.html create mode 100644 xml/tests/testData/documentation/2.xml create mode 100644 xml/tests/testData/documentation/3.html create mode 100644 xml/tests/testData/documentation/3.xml create mode 100644 xml/tests/testData/documentation/3_2.xml create mode 100644 xml/tests/testData/documentation/3_3.xml create mode 100644 xml/tests/testData/documentation/4.html create mode 100644 xml/tests/testData/documentation/4.xml create mode 100644 xml/tests/testData/documentation/5.xml create mode 100644 xml/tests/testData/documentation/6.xsd create mode 100644 xml/tests/testData/documentation/7.html create mode 100644 xml/tests/testData/documentation/7.xml create mode 100644 xml/tests/testData/documentation/8.html create mode 100644 xml/tests/testData/documentation/8.xml create mode 100644 xml/tests/testData/documentation/9.html create mode 100644 xml/tests/testData/documentation/9.xml create mode 100644 xml/tests/testData/documentation/SchemaPrefix.xml create mode 100644 xml/tests/testData/documentation/XmlDoc2.xml create mode 100644 xml/tests/testData/documentation/XmlDoc2.xml.expected.html create mode 100644 xml/tests/testData/documentation/XmlDoc3.xml create mode 100644 xml/tests/testData/documentation/XmlDoc3.xml.expected.html create mode 100644 xml/tests/testData/documentation/XmlDoc4.xml create mode 100644 xml/tests/testData/documentation/XmlDoc4.xml.expected.html create mode 100644 xml/tests/testData/documentation/XmlDoc4.xsd create mode 100644 xml/tests/testData/documentation/XmlDoc5.xml create mode 100644 xml/tests/testData/documentation/XmlDoc5.xml.expected.html create mode 100644 xml/tests/testData/documentation/XmlDoc6.xml create mode 100644 xml/tests/testData/documentation/XmlDoc6.xml.expected.completion.html create mode 100644 xml/tests/testData/documentation/XmlDoc6.xml.expected.html create mode 100644 xml/tests/testData/documentation/XmlDoc6.xsd create mode 100644 xml/tests/testData/documentation/XmlDoc7.xml create mode 100644 xml/tests/testData/documentation/XmlDoc7.xml.expected.completion.html create mode 100644 xml/tests/testData/documentation/XmlDoc7.xml.expected.html create mode 100644 xml/tests/testData/documentation/XmlDoc7.xsd create mode 100644 xml/tests/testData/documentation/XmlDocWithCData.xml create mode 100644 xml/tests/testData/documentation/XmlDocWithCData.xml.expected.html create mode 100644 xml/tests/testData/documentation/XmlDocWithCData2.xml create mode 100644 xml/tests/testData/documentation/XmlDocWithCData2.xml.expected.html create mode 100644 xml/tests/testData/documentation/dtd.dtd create mode 100644 xml/tests/testData/documentation/dtd.xml create mode 100644 xml/tests/testData/documentation/hibernate-mapping-3.0.dtd create mode 100644 xml/tests/testData/documentation/j2ee_1_4.xsd create mode 100644 xml/tests/testData/documentation/maven-4.0.0.xsd create mode 100644 xml/tests/testData/documentation/spring-beans.xsd create mode 100644 xml/tests/testData/documentation/web-app_2_3.dtd create mode 100644 xml/tests/testData/documentation/web-app_2_4.xsd diff --git a/java/testFramework/src/com/intellij/codeInsight/CodeInsightTestCase.java b/java/testFramework/src/com/intellij/codeInsight/CodeInsightTestCase.java index 71e2bb73950d..22de04f053b9 100644 --- a/java/testFramework/src/com/intellij/codeInsight/CodeInsightTestCase.java +++ b/java/testFramework/src/com/intellij/codeInsight/CodeInsightTestCase.java @@ -110,6 +110,7 @@ public abstract class CodeInsightTestCase extends PsiTestCase { } protected VirtualFile configureByFiles(@Nullable String projectRoot,String... files) throws Exception { + if (files.length == 0) return null; final VirtualFile[] vFiles = new VirtualFile[files.length]; for (int i = 0; i < files.length; i++) { String path = files[i]; diff --git a/xml/tests/src/com/intellij/codeInsight/XmlDocumentationTest.java b/xml/tests/src/com/intellij/codeInsight/XmlDocumentationTest.java new file mode 100644 index 000000000000..f8e8fbc5ead1 --- /dev/null +++ b/xml/tests/src/com/intellij/codeInsight/XmlDocumentationTest.java @@ -0,0 +1,167 @@ +package com.intellij.codeInsight; + +import com.intellij.codeInsight.daemon.DaemonAnalyzerTestCase; +import com.intellij.codeInsight.documentation.DocumentationManager; +import com.intellij.lang.documentation.DocumentationProvider; +import com.intellij.openapi.util.text.StringUtil; +import com.intellij.openapi.vfs.LocalFileSystem; +import com.intellij.openapi.vfs.VfsUtilCore; +import com.intellij.openapi.vfs.VirtualFile; +import com.intellij.psi.PsiDocumentManager; +import com.intellij.psi.PsiElement; +import com.intellij.psi.PsiFile; +import com.intellij.testFramework.PlatformTestUtil; +import org.jetbrains.annotations.Nullable; + +import java.io.File; + +/** + * @by maxim + */ +public class XmlDocumentationTest extends DaemonAnalyzerTestCase { + + public void testXmlDoc() throws Exception { + doOneTest("1.xml", "display-name", false, "web-app_2_3.dtd"); + doOneTest("2.xml", null, false, "web-app_2_4.xsd"); + doOneTest("3.xml", null, false, "web-app_2_4.xsd", "j2ee_1_4.xsd"); + doOneTest("3_2.xml", null, false, "web-app_2_4.xsd", "j2ee_1_4.xsd"); + doOneTest("3_3.xml", null, false, "web-app_2_4.xsd", "j2ee_1_4.xsd"); + + testOne("4.xml", "context-param", false, false, "web-app_2_4.xsd"); + testOne("5.xml", "aaa:context-param", false, false, "web-app_2_4.xsd"); + testOne("6.xsd", "xs:complexType", true, true); + doOneTest("7.xml", "bbb", false); + doOneTest("8.xml", "bbb", false); + doOneTest("9.xml", "laquo", false); + } + + public void testXmlDocWithCData() throws Exception { + doQuickDocGenerationTestWithCheckExpectedResult(getTestName(false) + ".xml","spring-beans.xsd"); + doQuickDocGenerationTestWithCheckExpectedResult(getTestName(false) + "2.xml","spring-beans.xsd"); + } + + public void testXmlDoc2() throws Exception { + doQuickDocGenerationTestWithCheckExpectedResult(getTestName(false) + ".xml", "web-app_2_4.xsd"); + } + + public void testXmlDoc3() throws Exception { + doQuickDocGenerationTestWithCheckExpectedResult(getTestName(false) + ".xml", "hibernate-mapping-3.0.dtd"); + } + + public void testXmlDoc4() throws Exception { + final String testName = getTestName(false); + doQuickDocGenerationTestWithCheckExpectedResult(testName + ".xml", testName + ".xsd"); + } + + public void testXmlDoc5() throws Exception { + doQuickDocGenerationTestWithCheckExpectedResult(getTestName(false) + ".xml", "maven-4.0.0.xsd"); + } + + public void testSchemaPrefix() throws Exception { + DocumentationTestContext context = new DocumentationTestContext("SchemaPrefix.xml"); + assertEquals("XML Namespace Prefix \"xs\" (http://www.w3.org/2001/XMLSchema)", context.getQuickNavigateInfo()); + } + + public void testXmlDoc6() throws Exception { + final String testName = getTestName(false); + doQuickDocGenerationTestWithCheckExpectedResult((Object)"car",testName + ".xml", testName + ".xsd"); + } + + public void testXmlDoc7() throws Exception { + final String testName = getTestName(false); + doQuickDocGenerationTestWithCheckExpectedResult((Object)"$Paste",testName + ".xml", testName + ".xsd"); + } + + private void doQuickDocGenerationTestWithCheckExpectedResult(final String... baseFileNames) throws Exception { + doQuickDocGenerationTestWithCheckExpectedResult(null, baseFileNames); + } + + private void doQuickDocGenerationTestWithCheckExpectedResult(Object completionVariant, final String... baseFileNames) throws Exception { + final DocumentationTestContext context = new DocumentationTestContext(baseFileNames); + VirtualFile vfile = + LocalFileSystem.getInstance().findFileByIoFile(new File(getTestDataPath() +baseFileNames[0] + ".expected.html")); + String expectedText = StringUtil.convertLineSeparators(VfsUtilCore.loadText(vfile)); + assertEquals(expectedText, context.generateDoc()); + + if (completionVariant != null) { + vfile = LocalFileSystem.getInstance().findFileByIoFile(new File(getTestDataPath() +baseFileNames[0] + ".expected.completion.html")); + expectedText = StringUtil.convertLineSeparators(VfsUtilCore.loadText(vfile)); + assertEquals(expectedText, context.generateDocForCompletion(completionVariant)); + } + } + + public void testDtdDoc() throws Exception { + testOne("dtd.dtd", "foo", false, true, "web-app_2_4.xsd"); + testOne("dtd.xml", "foo", false, true, "web-app_2_4.xsd"); + } + + private void doOneTest(String fileName, String lookupObject, boolean testExternal, String... additional) throws Exception { + configureByFiles(null, additional); + testOne(fileName, lookupObject, testExternal, true, "web-app_2_4.xsd"); + } + + public class DocumentationTestContext { + final DocumentationProvider documentationProvider; + final PsiElement originalElement; + PsiElement element; + final PsiFile psiFile; + + DocumentationTestContext(String... fileNames) throws Exception { + configureByFiles(null,fileNames); + psiFile = PsiDocumentManager.getInstance(myProject).getPsiFile(myEditor.getDocument()); + originalElement = psiFile.findElementAt(myEditor.getCaretModel().getOffset()); + element = DocumentationManager.getInstance(myProject).findTargetElement(myEditor, myFile, originalElement); + + if (element == null) { + element = originalElement; + } + + documentationProvider = DocumentationManager.getProviderFromElement(element); + } + + @Nullable + String generateDoc() { + return documentationProvider.generateDoc(element, originalElement); + } + + @Nullable + String getQuickNavigateInfo() { + return documentationProvider.getQuickNavigateInfo(element, originalElement); + } + + @Nullable + public String generateDocForCompletion(Object completionVariant) { + PsiElement lookupItem = documentationProvider.getDocumentationElementForLookupItem(myPsiManager, completionVariant, originalElement); + assert lookupItem != null; + return documentationProvider.generateDoc(lookupItem, originalElement); + } + } + + private void testOne(String fileName, String lookupObject, boolean testExternal, boolean testForElementUnderCaret, String... additional) throws Exception { + + configureByFiles(null, additional); + final DocumentationTestContext context = new DocumentationTestContext(fileName); + + if (testForElementUnderCaret) { + assertNotNull( "inline help for " + fileName, context.generateDoc() ); + if (testExternal) { + assertNotNull( "external help", context.documentationProvider.getUrlFor(context.element, context.originalElement) ); + } + } + + if(lookupObject!=null) { + PsiElement docElement = context.documentationProvider.getDocumentationElementForLookupItem( + context.psiFile.getManager(), lookupObject,context.originalElement); + assertNotNull("no element for " + fileName, docElement); + assertNotNull( "inline help for lookup", context.documentationProvider.generateDoc(docElement, context.originalElement) ); + if (testExternal) { + assertNotNull( "external help for lookup", context.documentationProvider.getUrlFor(docElement, context.originalElement) ); + } + } + } + + @Override + protected String getTestDataPath() { + return PlatformTestUtil.getCommunityPath() + "/xml/tests/testData/documentation/"; + } +} \ No newline at end of file diff --git a/xml/tests/testData/documentation/1.xml b/xml/tests/testData/documentation/1.xml new file mode 100644 index 000000000000..40e49779e7c1 --- /dev/null +++ b/xml/tests/testData/documentation/1.xml @@ -0,0 +1,6 @@ + + + + +b-app> + \ No newline at end of file diff --git a/xml/tests/testData/documentation/2.html b/xml/tests/testData/documentation/2.html new file mode 100644 index 000000000000..6373c16826d4 --- /dev/null +++ b/xml/tests/testData/documentation/2.html @@ -0,0 +1,4 @@ + + or="blue"> + + \ No newline at end of file diff --git a/xml/tests/testData/documentation/2.xml b/xml/tests/testData/documentation/2.xml new file mode 100644 index 000000000000..e937206a8036 --- /dev/null +++ b/xml/tests/testData/documentation/2.xml @@ -0,0 +1,7 @@ + + +pp xmlns="http://java.sun.com/xml/ns/j2ee" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee web-app_2_4.xsd" + version="2.4"> + \ No newline at end of file diff --git a/xml/tests/testData/documentation/3.html b/xml/tests/testData/documentation/3.html new file mode 100644 index 000000000000..c1e02ecdd50a --- /dev/null +++ b/xml/tests/testData/documentation/3.html @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/xml/tests/testData/documentation/3.xml b/xml/tests/testData/documentation/3.xml new file mode 100644 index 000000000000..a537c4674105 --- /dev/null +++ b/xml/tests/testData/documentation/3.xml @@ -0,0 +1,8 @@ + + + + + \ No newline at end of file diff --git a/xml/tests/testData/documentation/3_2.xml b/xml/tests/testData/documentation/3_2.xml new file mode 100644 index 000000000000..c098618fdab6 --- /dev/null +++ b/xml/tests/testData/documentation/3_2.xml @@ -0,0 +1,8 @@ + + + + + \ No newline at end of file diff --git a/xml/tests/testData/documentation/3_3.xml b/xml/tests/testData/documentation/3_3.xml new file mode 100644 index 000000000000..bd454398ff20 --- /dev/null +++ b/xml/tests/testData/documentation/3_3.xml @@ -0,0 +1,8 @@ + + + + > + \ No newline at end of file diff --git a/xml/tests/testData/documentation/4.html b/xml/tests/testData/documentation/4.html new file mode 100644 index 000000000000..ad77a1a69a80 --- /dev/null +++ b/xml/tests/testData/documentation/4.html @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/xml/tests/testData/documentation/4.xml b/xml/tests/testData/documentation/4.xml new file mode 100644 index 000000000000..62d4d03d072d --- /dev/null +++ b/xml/tests/testData/documentation/4.xml @@ -0,0 +1,8 @@ + + + + <ejb-ref> + \ No newline at end of file diff --git a/xml/tests/testData/documentation/5.xml b/xml/tests/testData/documentation/5.xml new file mode 100644 index 000000000000..85938d58595c --- /dev/null +++ b/xml/tests/testData/documentation/5.xml @@ -0,0 +1,8 @@ + + + + < + \ No newline at end of file diff --git a/xml/tests/testData/documentation/6.xsd b/xml/tests/testData/documentation/6.xsd new file mode 100644 index 000000000000..9234c160ff46 --- /dev/null +++ b/xml/tests/testData/documentation/6.xsd @@ -0,0 +1,4 @@ + + + clude schemaLocation="XsiSchemaLocation3.xsd"/> + diff --git a/xml/tests/testData/documentation/7.html b/xml/tests/testData/documentation/7.html new file mode 100644 index 000000000000..3890c8567034 --- /dev/null +++ b/xml/tests/testData/documentation/7.html @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/xml/tests/testData/documentation/7.xml b/xml/tests/testData/documentation/7.xml new file mode 100644 index 000000000000..56129c999ac1 --- /dev/null +++ b/xml/tests/testData/documentation/7.xml @@ -0,0 +1,6 @@ + + + ]> +bb="ccc"/> diff --git a/xml/tests/testData/documentation/8.html b/xml/tests/testData/documentation/8.html new file mode 100644 index 000000000000..bc0bd9726a14 --- /dev/null +++ b/xml/tests/testData/documentation/8.html @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/xml/tests/testData/documentation/8.xml b/xml/tests/testData/documentation/8.xml new file mode 100644 index 000000000000..05b075cb66c2 --- /dev/null +++ b/xml/tests/testData/documentation/8.xml @@ -0,0 +1,7 @@ + + + + ]> +bb="ccc"/> diff --git a/xml/tests/testData/documentation/9.html b/xml/tests/testData/documentation/9.html new file mode 100644 index 000000000000..da71b1e59942 --- /dev/null +++ b/xml/tests/testData/documentation/9.html @@ -0,0 +1,11 @@ + + + + + + &n<caret>bsp; + + + + \ No newline at end of file diff --git a/xml/tests/testData/documentation/9.xml b/xml/tests/testData/documentation/9.xml new file mode 100644 index 000000000000..8a837978823d --- /dev/null +++ b/xml/tests/testData/documentation/9.xml @@ -0,0 +1,5 @@ + + ]> + diff --git a/xml/tests/testData/documentation/SchemaPrefix.xml b/xml/tests/testData/documentation/SchemaPrefix.xml new file mode 100644 index 000000000000..9929db069fdb --- /dev/null +++ b/xml/tests/testData/documentation/SchemaPrefix.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + +s:schema> \ No newline at end of file diff --git a/xml/tests/testData/documentation/XmlDoc2.xml b/xml/tests/testData/documentation/XmlDoc2.xml new file mode 100644 index 000000000000..efcb0dcb5dd3 --- /dev/null +++ b/xml/tests/testData/documentation/XmlDoc2.xml @@ -0,0 +1,12 @@ + + + + + Faces Servlet + *.seam + + + diff --git a/xml/tests/testData/documentation/XmlDoc2.xml.expected.html b/xml/tests/testData/documentation/XmlDoc2.xml.expected.html new file mode 100644 index 000000000000..a627f0f766fe --- /dev/null +++ b/xml/tests/testData/documentation/XmlDoc2.xml.expected.html @@ -0,0 +1,3 @@ +Complex type: servlet-nameType
Description : The servlet-name element contains the canonical name of the + servlet. Each servlet name is unique within the web + application. \ No newline at end of file diff --git a/xml/tests/testData/documentation/XmlDoc3.xml b/xml/tests/testData/documentation/XmlDoc3.xml new file mode 100644 index 000000000000..004d3665b454 --- /dev/null +++ b/xml/tests/testData/documentation/XmlDoc3.xml @@ -0,0 +1,9 @@ + + + + + + class/> + + + \ No newline at end of file diff --git a/xml/tests/testData/documentation/XmlDoc3.xml.expected.html b/xml/tests/testData/documentation/XmlDoc3.xml.expected.html new file mode 100644 index 000000000000..24d43f973500 --- /dev/null +++ b/xml/tests/testData/documentation/XmlDoc3.xml.expected.html @@ -0,0 +1,4 @@ +Tag name: subclass
Description : Subclass declarations are nested beneath the root class declaration to achieve
+ polymorphic persistence with the table-per-hierarchy mapping strategy.
+
+ See the note on the class element regarding <pojo/> vs. @name usage... \ No newline at end of file diff --git a/xml/tests/testData/documentation/XmlDoc4.xml b/xml/tests/testData/documentation/XmlDoc4.xml new file mode 100644 index 000000000000..5b13d87c444f --- /dev/null +++ b/xml/tests/testData/documentation/XmlDoc4.xml @@ -0,0 +1 @@ +ribute="aaa" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="XmlDoc4.xsd"/> \ No newline at end of file diff --git a/xml/tests/testData/documentation/XmlDoc4.xml.expected.html b/xml/tests/testData/documentation/XmlDoc4.xml.expected.html new file mode 100644 index 000000000000..3d80f11b15ea --- /dev/null +++ b/xml/tests/testData/documentation/XmlDoc4.xml.expected.html @@ -0,0 +1 @@ +Complex type: myRefType
Description : Hello, world! \ No newline at end of file diff --git a/xml/tests/testData/documentation/XmlDoc4.xsd b/xml/tests/testData/documentation/XmlDoc4.xsd new file mode 100644 index 000000000000..6e075d9132de --- /dev/null +++ b/xml/tests/testData/documentation/XmlDoc4.xsd @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + Hello, world! + + + + + \ No newline at end of file diff --git a/xml/tests/testData/documentation/XmlDoc5.xml b/xml/tests/testData/documentation/XmlDoc5.xml new file mode 100644 index 000000000000..4303cefe8ecd --- /dev/null +++ b/xml/tests/testData/documentation/XmlDoc5.xml @@ -0,0 +1,3 @@ +ject xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 maven-4.0.0.xsd"> + \ No newline at end of file diff --git a/xml/tests/testData/documentation/XmlDoc5.xml.expected.html b/xml/tests/testData/documentation/XmlDoc5.xml.expected.html new file mode 100644 index 000000000000..f2f8cd645567 --- /dev/null +++ b/xml/tests/testData/documentation/XmlDoc5.xml.expected.html @@ -0,0 +1,2 @@ +Tag name: project
Description : The <code>&lt;project&gt;</code> element is the root of the descriptor. + The following table lists all of the possible child elements.
Version : 3.0.0+ \ No newline at end of file diff --git a/xml/tests/testData/documentation/XmlDoc6.xml b/xml/tests/testData/documentation/XmlDoc6.xml new file mode 100644 index 000000000000..c9515d1ef739 --- /dev/null +++ b/xml/tests/testData/documentation/XmlDoc6.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/xml/tests/testData/documentation/XmlDoc6.xml.expected.completion.html b/xml/tests/testData/documentation/XmlDoc6.xml.expected.completion.html new file mode 100644 index 000000000000..d0211d404da1 --- /dev/null +++ b/xml/tests/testData/documentation/XmlDoc6.xml.expected.completion.html @@ -0,0 +1 @@ +Enumeration value: car
Description : A vehicle to get you from A to B \ No newline at end of file diff --git a/xml/tests/testData/documentation/XmlDoc6.xml.expected.html b/xml/tests/testData/documentation/XmlDoc6.xml.expected.html new file mode 100644 index 000000000000..87aeb0d9c110 --- /dev/null +++ b/xml/tests/testData/documentation/XmlDoc6.xml.expected.html @@ -0,0 +1 @@ +Enumeration value: bar
Description : A great place to get a drink \ No newline at end of file diff --git a/xml/tests/testData/documentation/XmlDoc6.xsd b/xml/tests/testData/documentation/XmlDoc6.xsd new file mode 100644 index 000000000000..a7ecb63df49f --- /dev/null +++ b/xml/tests/testData/documentation/XmlDoc6.xsd @@ -0,0 +1,61 @@ + + + + + + + The root of foo + + + + + + + + + + A generic non-useful element + + + + + + + A value for Foo + + + + + + + + A great place to get a drink + + + + + + + A vehicle to get you from A to B + + + + + + + A made up word + + + + + + + + + + + \ No newline at end of file diff --git a/xml/tests/testData/documentation/XmlDoc7.xml b/xml/tests/testData/documentation/XmlDoc7.xml new file mode 100644 index 000000000000..a0253aaeaae9 --- /dev/null +++ b/xml/tests/testData/documentation/XmlDoc7.xml @@ -0,0 +1,2 @@ +gero cum \ No newline at end of file diff --git a/xml/tests/testData/documentation/XmlDoc7.xml.expected.completion.html b/xml/tests/testData/documentation/XmlDoc7.xml.expected.completion.html new file mode 100644 index 000000000000..b8200aa7c47c --- /dev/null +++ b/xml/tests/testData/documentation/XmlDoc7.xml.expected.completion.html @@ -0,0 +1 @@ +Enumeration value: $Paste
Description : Ctrl+V \ No newline at end of file diff --git a/xml/tests/testData/documentation/XmlDoc7.xml.expected.html b/xml/tests/testData/documentation/XmlDoc7.xml.expected.html new file mode 100644 index 000000000000..0c3926313f7c --- /dev/null +++ b/xml/tests/testData/documentation/XmlDoc7.xml.expected.html @@ -0,0 +1 @@ +Enumeration value: $Cut
Description : Ctrl+X, Shift+Delete \ No newline at end of file diff --git a/xml/tests/testData/documentation/XmlDoc7.xsd b/xml/tests/testData/documentation/XmlDoc7.xsd new file mode 100644 index 000000000000..055da8210710 --- /dev/null +++ b/xml/tests/testData/documentation/XmlDoc7.xsd @@ -0,0 +1,26 @@ + + + + + + + + + + + Ctrl+C, Ctrl+Insert + + + + + Ctrl+X, Shift+Delete + + + + + Ctrl+V + + + + + diff --git a/xml/tests/testData/documentation/XmlDocWithCData.xml b/xml/tests/testData/documentation/XmlDocWithCData.xml new file mode 100644 index 000000000000..1386d40b9fb9 --- /dev/null +++ b/xml/tests/testData/documentation/XmlDocWithCData.xml @@ -0,0 +1,13 @@ + +ans xmlns="http://www.springframework.org/schema/beans" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:util="http://www.springframework.org/schema/util" + xsi:schemaLocation="http://www.springframework.org/schema/beans spring-beans.xsd + http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd"> + + + + + + + \ No newline at end of file diff --git a/xml/tests/testData/documentation/XmlDocWithCData.xml.expected.html b/xml/tests/testData/documentation/XmlDocWithCData.xml.expected.html new file mode 100644 index 000000000000..ede11d80edb6 --- /dev/null +++ b/xml/tests/testData/documentation/XmlDocWithCData.xml.expected.html @@ -0,0 +1,2 @@ +Tag name: beans
Description : The top level (typically root) element. Allows the definition <>"'/>
+ of default values for all nested bean definitions. \ No newline at end of file diff --git a/xml/tests/testData/documentation/XmlDocWithCData2.xml b/xml/tests/testData/documentation/XmlDocWithCData2.xml new file mode 100644 index 000000000000..a8ae51922936 --- /dev/null +++ b/xml/tests/testData/documentation/XmlDocWithCData2.xml @@ -0,0 +1,14 @@ + + + + + nstructor-arg value="foo"/> + + + diff --git a/xml/tests/testData/documentation/XmlDocWithCData2.xml.expected.html b/xml/tests/testData/documentation/XmlDocWithCData2.xml.expected.html new file mode 100644 index 000000000000..f6c63d90f42f --- /dev/null +++ b/xml/tests/testData/documentation/XmlDocWithCData2.xml.expected.html @@ -0,0 +1,11 @@ +Tag name: constructor-arg
Description : Bean definitions can specify zero or more constructor arguments.
+ This is an alternative to "autowire constructor".
+ Arguments correspond to either a specific index of the constructor
+ argument list or are supposed to be matched generically by type.
+
+ Note: A single generic argument value will just be used once, rather
+ than potentially matched multiple times (as of Spring 1.1).
+
+ constructor-arg elements are also used in conjunction with the
+ factory-method element to construct beans using static or instance
+ factory methods. \ No newline at end of file diff --git a/xml/tests/testData/documentation/dtd.dtd b/xml/tests/testData/documentation/dtd.dtd new file mode 100644 index 000000000000..4043164cbadf --- /dev/null +++ b/xml/tests/testData/documentation/dtd.dtd @@ -0,0 +1,3 @@ + + +oo)> diff --git a/xml/tests/testData/documentation/dtd.xml b/xml/tests/testData/documentation/dtd.xml new file mode 100644 index 000000000000..8219bc630925 --- /dev/null +++ b/xml/tests/testData/documentation/dtd.xml @@ -0,0 +1,5 @@ + + + ]> +oo /> diff --git a/xml/tests/testData/documentation/hibernate-mapping-3.0.dtd b/xml/tests/testData/documentation/hibernate-mapping-3.0.dtd new file mode 100644 index 000000000000..de7bf3d1ff1d --- /dev/null +++ b/xml/tests/testData/documentation/hibernate-mapping-3.0.dtd @@ -0,0 +1,1036 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/xml/tests/testData/documentation/j2ee_1_4.xsd b/xml/tests/testData/documentation/j2ee_1_4.xsd new file mode 100644 index 000000000000..3955cef2982a --- /dev/null +++ b/xml/tests/testData/documentation/j2ee_1_4.xsd @@ -0,0 +1,1607 @@ + + + + + @(#)j2ee_1_4.xsds 1.43 03/09/16 + + + + + + + Copyright 2003 Sun Microsystems, Inc., 901 San Antonio + Road, Palo Alto, California 94303, 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 J2EE 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 which 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. 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 expected type of the referenced enterprise bean + - the expected local home and local interfaces of the + referenced enterprise bean + - optional ejb-link information, used to specify the + referenced enterprise bean + + + + + + + + + + + + + + + + + + + + + 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. 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 expected type of the referenced enterprise bean + - the expected home and remote interfaces of the referenced + enterprise bean + - optional ejb-link information, used to specify the + referenced enterprise bean + + + + + + + + + + + + + + + + + + + + + + + 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, and an + optional value. If a value is not specified, one must be + supplied during deployment. + + It is used by env-entry elements. + + + + + + + + + + minAmount + + ]]> + + + + + + + + + + 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 or + JPEG 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 + + ]]> + + + + + + + + + + + + + + + + + + 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 J2EE deployment descriptors. + + + + + + + + + + + + + + + + + + + + + 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 J2EE 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. + + + + + + + + + + + + + + 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. + + + + + + + + + + + + + + + + + + + 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 J2EE 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/documentation/maven-4.0.0.xsd b/xml/tests/testData/documentation/maven-4.0.0.xsd new file mode 100644 index 000000000000..4f7e708a2960 --- /dev/null +++ b/xml/tests/testData/documentation/maven-4.0.0.xsd @@ -0,0 +1,2213 @@ + + + + + 3.0.0+ + + The <code>&lt;project&gt;</code> element is the root of the descriptor. + The following table lists all of the possible child elements. + + + + + + 3.0.0+ + + The <code>&lt;project&gt;</code> element is the root of the descriptor. + The following table lists all of the possible child elements. + + + + + + 4.0.0 + + The location of the parent project, if one exists. Values from the + parent project will be the default for this project if they are + left unspecified. The location is given as a group ID, artifact ID and version. + + + + + + 4.0.0 + Declares to which version of project descriptor this POM conforms. + + + + + 3.0.0+ + + A universally unique identifier for a project. It is normal to + use a fully-qualified package name to distinguish it from other projects with a similar name + (eg. <code>org.apache.maven</code>). + + + + + + 3.0.0+ + + The identifier for this artifact that is unique within the group given by the group ID. + An artifact is something that is either produced or used by a project. Examples of artifacts produced by + Maven for a project include: JARs, source and binary distributions, and WARs. + + + + + + 4.0.0 + + The type of artifact this project produces, for example <code>jar</code> + <code>war</code> + <code>ear</code> + <code>pom</code>. + Plugins can create their own packaging, and + therefore their own packaging types, + so this list does not contain all possible types. + + + + + + 3.0.0+ + + The full name of the project. + + + + + + 4.0.0 + + The current version of the artifact produced by this project. + + + + + + 3.0.0+ + + A detailed description of the project, used by Maven whenever it needs to describe the project, + such as on the web site. While this element can be specified as CDATA to enable + the use of HTML tags within the description, it is discouraged to allow plain text representation. + If you need to modify the index page of the generated web site, you are able to specify your own instead + of adjusting this text. + + + + + + 3.0.0+ + + The URL to the project's homepage. + + + + + + 4.0.0 + + Describes the prerequisites in the build environment for this project. + + + + + + 4.0.0 + The project's issue management system information. + + + + + 4.0.0 + The project's continuous integration information. + + + + + 3.0.0+ + + The year of the project's inception, specified with 4 digits. + This value is used when generating copyright notices as well as being informational. + + + + + + 3.0.0+ + + Contains information about a project's mailing lists. + + + + + + + + + + + 3.0.0+ + + Describes the committers of a project. + + + + + + + + + + + 3.0.0+ + + Describes the contributors to a project that are not yet committers. + + + + + + + + + + + 3.0.0+ + + This element describes all of the licenses for this project. + Each license is described by a <code>license</code> element, which + is then described by additional elements. + Projects should only list the license(s) that applies to the project + and not the licenses that apply to dependencies. + If multiple licenses are listed, it is assumed that the user can select any of them, not that they + must accept all. + + + + + + + + + + + 4.0.0 + + Specification for the SCM used by the project, such as CVS, Subversion, etc. + + + + + 3.0.0+ + + This element describes various attributes of the organization to + which the project belongs. These attributes are utilized when + documentation is created (for copyright notices and links). + + + + + + 3.0.0+ + Information required to build the project. + + + + + 4.0.0 + + A listing of project-local build profiles which will modify the build process when activated. + + + + + + + + + + + 4.0.0 + + The modules (sometimes called subprojects) to build as a part of this project. + Each module listed is a relative path to the directory containing the module. + + + + + + + + + + + 4.0.0 + The lists of the remote repositories for discovering dependencies and + extensions. + + + + + + + + + + 4.0.0 + + The lists of the remote repositories for discovering plugins for builds and reports. + + + + + + + + + + 3.0.0+ + + This element describes all of the dependencies associated with a + project. + These dependencies are used to construct a classpath for your + project during the build process. They are automatically downloaded from the + repositories defined in this project. + See <a href="http://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html">the + dependency mechanism</a> for more information. + + + + + + + + + + + 4.0.0 + + <b>Deprecated</b>. Now ignored by Maven. + + + + + + + + + + + 4.0.0 + + This element includes the specification of report plugins to use to generate the reports on the + Maven-generated site. These reports will be run when a user executes <code>mvn site</code>. All of the + reports will be included in the navigation bar for browsing. + + + + + + 4.0.0 + + Default dependency information for projects that inherit from + this one. The dependencies in this section are not immediately resolved. + Instead, when a POM derived from this one declares a dependency + described by a matching groupId and artifactId, the version and other values from this + section are used for that dependency if they were not already specified. + + + + + + 4.0.0 + Distribution information for a project that enables deployment of the site + and artifacts to remote web servers and repositories respectively. + + + + + 4.0.0 + + Properties that can be used throughout the POM as a substitution, and are used as filters in resources + if enabled. The format is <code>&lt;name&gt;value&lt;/name&gt;</code>. + + + + + + + + + + + + + 3.0.0+ + + Description of a person who has contributed to the project, but who does + not have commit privileges. Usually, these contributions come in the + form of patches submitted. + + + + + + 3.0.0+ + The full name of the contributor. + + + + + 3.0.0+ + The email address of the contributor. + + + + + 3.0.0+ + The URL for the homepage of the contributor. + + + + + 3.0.0+ + The organization to which the contributor belongs. + + + + + 3.0.0+ + The URL of the organization. + + + + + 3.0.0+ + + The roles the contributor plays in the project. Each role is + described by a <code>role</code> element, the body of which is a + role name. This can also be used to describe the contribution. + + + + + + + + + + + 3.0.0+ + + The timezone the contributor is in. This is a number in the range -11 to 12. + + + + + + 3.0.0+ + + Properties about the contributor, such as an instant messenger handle. + + + + + + + + + + + + + 4.0.0 + + Modifications to the build process which is activated based on environmental parameters or command line arguments. + + + + + + 4.0.0 + The identifier of this build profile. This used both for command line activation, and identifies + identical profiles to merge with during inheritance. + + + + + 4.0.0 + The conditional logic which will automatically + trigger the inclusion of this profile. + + + + + 4.0.0 + Information required to build the project. + + + + + 4.0.0 + + The modules (sometimes called subprojects) to build as a part of this project. + Each module listed is a relative path to the directory containing the module. + + + + + + + + + + + 4.0.0 + The lists of the remote repositories for discovering dependencies and + extensions. + + + + + + + + + + 4.0.0 + + The lists of the remote repositories for discovering plugins for builds and reports. + + + + + + + + + + 3.0.0+ + + This element describes all of the dependencies associated with a + project. + These dependencies are used to construct a classpath for your + project during the build process. They are automatically downloaded from the + repositories defined in this project. + See <a href="http://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html">the + dependency mechanism</a> for more information. + + + + + + + + + + + 4.0.0 + + <b>Deprecated</b>. Now ignored by Maven. + + + + + + + + + + + 4.0.0 + + This element includes the specification of report plugins to use to generate the reports on the + Maven-generated site. These reports will be run when a user executes <code>mvn site</code>. All of the + reports will be included in the navigation bar for browsing. + + + + + + 4.0.0 + + Default dependency information for projects that inherit from + this one. The dependencies in this section are not immediately resolved. + Instead, when a POM derived from this one declares a dependency + described by a matching groupId and artifactId, the version and other values from this + section are used for that dependency if they were not already specified. + + + + + + 4.0.0 + Distribution information for a project that enables deployment of the site + and artifacts to remote web servers and repositories respectively. + + + + + 4.0.0 + + Properties that can be used throughout the POM as a substitution, and are used as filters in resources + if enabled. The format is <code>&lt;name&gt;value&lt;/name&gt;</code>. + + + + + + + + + + + + + 4.0.0 + + The conditions within the build runtime environment which will trigger + the automatic inclusion of the build profile. + + + + + + 4.0.0 + Flag specifying whether this profile is active by default. + + + + + 4.0.0 + + Specifies that this profile will be activated when a matching JDK is detected. For example, <code>1.4</code> + only activates on JDKs versioned 1.4, while <code>!1.4</code> matches any JDK that is not version 1.4. + + + + + + 4.0.0 + + Specifies that this profile will be activated when matching operating system attributes are detected. + + + + + + 4.0.0 + + Specifies that this profile will be activated when this system property is specified. + + + + + + 4.0.0 + + Specifies that this profile will be activated based on existence of a file. + + + + + + + + 4.0.0 + + This is the file specification used to activate the profile. The missing value will be the location + of a file that needs to exist, and if it doesn't the profile will be activated. On the other hand exists will test + for the existence of the file and if it is there the profile will be activated. + + + + + + 4.0.0 + The name of the file that must be missing to activate the profile. + + + + + 4.0.0 + The name of the file that must exist to activate the profile. + + + + + + + 4.0.0 + + This is the property specification used to activate a profile. If the value field is empty, + then the existence of the named property will activate the profile, otherwise it does a case-sensitive + match against the property value as well. + + + + + + 4.0.0 + The name of the property to be used to activate a profile. + + + + + 4.0.0 + The value of the property required to activate a profile. + + + + + + + 4.0.0 + + This is an activator which will detect an operating system's attributes in order to activate + its profile. + + + + + + 4.0.0 + The name of the operating system to be used to activate the profile. This must be an exact match + of the <code>${os.name}</code> Java property, such as <code>Windows XP</code>. + + + + + 4.0.0 + + The general family of the OS to be used to activate the profile, such as <code>windows</code> or <code>unix</code>. + + + + + 4.0.0 + The architecture of the operating system to be used to activate the profile. + + + + + 4.0.0 + The version of the operating system to be used to activate the profile. + + + + + + + 4.0.0 + + Section for management of default dependency information for use in a group of POMs. + + + + + + 4.0.0 + + The dependencies specified here are not used until they + are referenced in a POM within the group. This allows the + specification of a "standard" version for a particular + dependency. + + + + + + + + + + + + + 3.0.0+ + + + + + 3.0.0+ + + The project group that produced the dependency, e.g. + <code>org.apache.maven</code>. + + + + + + 3.0.0+ + + The unique id for an artifact produced by the project group, e.g. + <code>maven-artifact</code>. + + + + + + 3.0.0+ + + The version of the dependency, e.g. <code>3.2.1</code>. In Maven 2, this can also be + specified as a range of versions. + + + + + + 4.0.0 + + The type of dependency. This defaults to <code>jar</code>. While it usually represents the extension on + the filename of the dependency, that is not always the case. A type can be mapped to a different + extension and a classifier. + The type often correspongs to the packaging used, though this is also not always the case. + Some examples are <code>jar</code>, <code>war</code>, <code>ejb-client</code> and <code>test-jar</code>. + New types can be defined by plugins that set + <code>extensions</code> to <code>true</code>, so this is not a complete list. + + + + + + 4.0.0 + + The classifier of the dependency. This allows distinguishing two artifacts that belong to the same POM but + were built differently, and is appended to the filename after the version. For example, + <code>jdk14</code> and <code>jdk15</code>. + + + + + + 4.0.0 + + The scope of the dependency - <code>compile</code>, <code>runtime</code>, <code>test</code>, + <code>system</code>, and <code>provided</code>. Used to + calculate the various classpaths used for compilation, testing, and so on. It also assists in determining + which artifacts to include in a distribution of this project. For more information, see + <a href="http://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html">the + dependency mechanism</a>. + + + + + + 4.0.0 + + FOR SYSTEM SCOPE ONLY. Note that use of this property is <b>discouraged</b> and may be replaced in later + versions. This specifies the path on the filesystem for this dependency. + Requires an absolute path for the value, not relative. + Use a property that gives the machine specific absolute path, + e.g. <code>${java.home}</code>. + + + + + + 4.0.0 + + Lists a set of artifacts that should be excluded from this dependency's artifact list when it comes to + calculating transitive dependencies. + + + + + + + + + + + 4.0.0 + + Indicates the dependency is optional for use of this library. While the version of the dependency will be + taken into account for dependency calculation if the library is used elsewhere, it will not be passed on + transitively. + + + + + + + + 4.0.0 + + + + + 4.0.0 + The artifact ID of the project to exclude. + + + + + 4.0.0 + The group ID of the project to exclude. + + + + + + + 4.0.0 + Section for management of reports and their configuration. + + + + + 4.0.0 + If true, then the default reports are not included in the site generation. This includes the + reports in the "Project Info" menu. + + + + + 4.0.0 + + Where to store all of the generated reports. The default is + <code>${project.build.directory}/site</code> + . + + + + + + 4.0.0 + The reporting plugins to use and their configuration. + + + + + + + + + + + + 4.0.0 + + + + + 4.0.0 + The group ID of the reporting plugin in the repository. + + + + + 4.0.0 + The artifact ID of the reporting plugin in the repository. + + + + + 4.0.0 + The version of the reporting plugin to be used. + + + + + 4.0.0 + Whether the configuration in this plugin should be made available to projects that + inherit from this one. + + + + + 4.0.0 + The configuration of the reporting plugin. + + + + + + + + + + 4.0.0 + Multiple specifications of a set of reports, each having (possibly) different + configuration. This is the reporting parallel to an <code>execution</code> in the build. + + + + + + + + + + + + 4.0.0 + Represents a set of reports and configuration to be used to generate them. + + + + + 0.0.0+ + The unique id for this report set, to be used during POM inheritance. + + + + + 4.0.0 + Configuration of the report to be used when generating this set. + + + + + + + + + + 4.0.0 + + Whether any configuration should be propagated to child POMs. + + + + + 4.0.0 + + The list of reports from this plugin which should be generated from this set. + + + + + + + + + + + + + 3.0.0+ + + + + + 3.0.0+ + + The default goal (or phase in Maven 2) to execute when none is specified for the project. + + + + + + 3.0.0+ + + This element describes all of the classpath resources such as properties files associated with a + project. These resources are often included in the final package. + + + + + + + + + + + 4.0.0 + + This element describes all of the classpath resources such as properties files associated with a + project's unit tests. + + + + + + + + + + + 4.0.0 + + The directory where all files generated by the build are placed. + + + + + + 4.0.0 + + The filename (excluding the extension, and with no path information) that the produced artifact + will be called. The default value is <code>${artifactId}-${version}</code>. + + + + + + 4.0.0 + + The list of filter properties files that are used when filtering is enabled. + + + + + + + + + + + 4.0.0 + + Default plugin information to be made available for reference by + projects derived from this one. This plugin configuration will not + be resolved or bound to the lifecycle unless referenced. Any local + configuration for a given plugin will override the plugin's entire + definition here. + + + + + + 4.0.0 + + The list of plugins to use. + + + + + + + + + + + + + 4.0.0 + + + + + 4.0.0 + The group ID of the plugin in the repository. + + + + + 4.0.0 + The artifact ID of the plugin in the repository. + + + + + 4.0.0 + The version (or valid range of verisons) of the plugin to be used. + + + + + 4.0.0 + Whether to load Maven extensions (such as packaging and type handlers) from this + plugin. For performance reasons, this should only be enabled when necessary. + + + + + 4.0.0 + Multiple specifications of a set of goals to execute during the build lifecycle, each having + (possibly) different + configuration. + + + + + + + + + + 4.0.0 + Additional dependencies that this project needs to introduce to the plugin's + classloader. + + + + + + + + + + 4.0.0 + + <b>Deprecated</b>. Unused by Maven. + + + + + + + + + + + 4.0.0 + + Whether any configuration should be propagated to child POMs. + + + + + 0.0.0+ + + + + + + + + + + + + 4.0.0 + + + + + 4.0.0 + The identifier of this execution for labelling the goals during the build, and for matching + exections to merge during inheritance. + + + + + 4.0.0 + The build lifecycle phase to bind the goals in this execution to. If omitted, the goals will + be bound to the default specified in their metadata. + + + + + 4.0.0 + The goals to execute with the given configuration. + + + + + + + + + + 4.0.0 + + Whether any configuration should be propagated to child POMs. + + + + + 0.0.0+ + + + + + + + + + + + + 4.0.0 + + Section for management of default plugin information for use in a group of POMs. + + + + + + 4.0.0 + + The list of plugins to use. + + + + + + + + + + + + + 3.0.0+ + + This element describes all of the classpath resources associated with a project or + unit tests. + + + + + + 3.0.0+ + + Describe the resource target path. For example, if you want that + resource to appear in a specific package + (<code>org.apache.maven.messages</code>), you must specify this + element with this value: <code>org/apache/maven/messages</code>. + This is not required if you simply put the resources in that directory structure at the source, however. + + + + + + 3.0.0+ + + Whether resources are filtered to replace tokens with parameterised values or not. + The values are taken from the <code>properties</code> element and from the properties in the files listed + in the <code>filters</code> element. + + + + + + 3.0.0+ + + Describe the directory where the resources are stored. + The path is relative to the POM. + + + + + + 3.0.0+ + A list of patterns to include, e.g. <code>**&#47;*.xml</code>. + + + + + + + + + + 3.0.0+ + A list of patterns to exclude, e.g. <code>**&#47;*.xml</code> + + + + + + + + + + + + 4.0.0 + + This elements describes all that pertains to distribution for a project. + It is primarily used for deployment of artifacts and the site + produced by the build. + + + + + + 4.0.0 + + Information needed to deploy the artifacts generated by the project to a remote repository. + + + + + + 4.0.0 + + Where to deploy snapshots of artifacts to. If not given, it defaults to the <code>repository</code> element. + + + + + + 4.0.0 + + Information needed for deploying the web site of the project. + + + + + + 4.0.0+ + + The URL of the project's download page. If not given users will be referred to the homepage given by + <code>url</code>. This is given to assist in locating artifacts that are not in the repository due to + licensing restrictions. + + + + + + 4.0.0 + + Relocation information of the artifact if it has been moved to a new group ID and/or artifact ID. + + + + + + 4.0.0 + + Gives the status of this artifact in the remote repository. This must not be set in your local + project, as it is updated by tools placing it in the reposiory. Valid values are: <code>none</code> (default), + <code>converted</code> (repository manager converted this from an Maven 1 POM), <code>partner</code> + (directly synced from a partner Maven 2 repository), <code>deployed</code> (was deployed from a Maven 2 + instance), <code>verified</code> (has been hand verified as correct and final). + + + + + + + + 4.0.0 + + Contains the information needed for deploying websites. + + + + + + 4.0.0 + + A unique identifier for a deployment locataion. This is used to match the site to configuration in + the <code>settings.xml</code> file, for example. + + + + + + 4.0.0 + + Human readable name of the deployment location. + + + + + + 4.0.0 + + The url of the location where website is deployed, in the form <code>protocol://hostname/path</code>. + + + + + + + + 4.0.0 + Describes where an artifact has moved to. If any of the values are omitted, it is assumed to be the + same as it was before. + + + + + 4.0.0 + The group ID the artifact has moved to. + + + + + 4.0.0 + The new artifact ID of the artifact. + + + + + 4.0.0 + The new version of the artifact. + + + + + 4.0.0 + An additional message to show the user about the move, such as the reason. + + + + + + + 4.0.0 + + Repository contains the information needed for deploying to the remote repoistory. + + + + + + 4.0.0 + Whether to assign snapshots a unique version comprised of the timestamp and build number, or to + use the same version each time + + + + + 4.0.0 + + A unique identifier for a repository. This is used to match the repository to configuration in + the <code>settings.xml</code> file, for example. + + + + + + 4.0.0 + + Human readable name of the repository. + + + + + + 4.0.0 + + The url of the repository, in the form <code>protocol://hostname/path</code>. + + + + + + 4.0.0 + + The type of layout this repository uses for locating and storing artifacts - can be <code>legacy</code> or + <code>default</code>. + + + + + + + + 4.0.0 + + A repository contains the information needed for establishing connections with remote repoistory. + + + + + + 4.0.0 + How to handle downloading of releases from this repository. + + + + + 4.0.0 + How to handle downloading of snapshots from this repository. + + + + + 4.0.0 + + A unique identifier for a repository. This is used to match the repository to configuration in + the <code>settings.xml</code> file, for example. + + + + + + 4.0.0 + + Human readable name of the repository. + + + + + + 4.0.0 + + The url of the repository, in the form <code>protocol://hostname/path</code>. + + + + + + 4.0.0 + + The type of layout this repository uses for locating and storing artifacts - can be <code>legacy</code> or + <code>default</code>. + + + + + + + + 4.0.0 + Download policy + + + + + 4.0.0 + Whether to use this repository for downloading this type of artifact. + + + + + 4.0.0 + + The frequency for downloading updates - can be + <code>always,</code> + <code>daily</code> + (default), + <code>interval:XXX</code> + (in minutes) or + <code>never</code> + (only if it doesn't exist locally). + + + + + + 4.0.0 + + What to do when verification of an artifact checksum fails. Valid values are + <code>ignore</code> + , + <code>fail</code> + or + <code>warn</code> + (the default). + + + + + + + + 3.0.0+ + + This element describes all of the mailing lists associated with + a project. The auto-generated site references this information. + + + + + + 3.0.0+ + The name of the mailing list. + + + + + 3.0.0+ + + The email address or link that can be used to subscribe to the mailing list. + If this is an email address, a + <code>mailto:</code> link will automatically be created when + the documentation is created. + + + + + + 3.0.0+ + + The email address or link that can be used to unsubscribe to + the mailing list. If this is an email address, a + <code>mailto:</code> link will automatically be created + when the documentation is created. + + + + + + 3.0.0+ + + The email address or link that can be used to post to + the mailing list. If this is an email address, a + <code>mailto:</code> link will automatically be created + when the documentation is created. + + + + + + 3.0.0+ + + The link to a URL where you can browse the mailing list archive. + + + + + + 3.0.0+ + + The link to alternate URLs where you can browse the list archive. + + + + + + + + + + + + + 3.0.0+ + + + + + 3.0.0+ + + This element specifies a directory containing the source + of the project. The generated build system will compile + the source in this directory when the project is built. + The path given is relative to the project descriptor. + + + + + + 4.0.0 + + This element specifies a directory containing the script sources + of the project. This directory is meant to be different from the + sourceDirectory, in that its contents will be copied to the output + directory in most cases (since scripts are interpreted rather than + compiled). + + + + + + 4.0.0 + + This element specifies a directory containing the unit test + source of the project. The generated build system will + compile these directories when the project is being tested. + The path given is relative to the project descriptor. + + + + + + 4.0.0 + + The directory where compiled application classes are placed. + + + + + + 4.0.0 + + The directory where compiled test classes are placed. + + + + + + 4.0.0 + A set of build extensions to use from this project. + + + + + + + + + + 3.0.0+ + + The default goal (or phase in Maven 2) to execute when none is specified for the project. + + + + + + 3.0.0+ + + This element describes all of the classpath resources such as properties files associated with a + project. These resources are often included in the final package. + + + + + + + + + + + 4.0.0 + + This element describes all of the classpath resources such as properties files associated with a + project's unit tests. + + + + + + + + + + + 4.0.0 + + The directory where all files generated by the build are placed. + + + + + + 4.0.0 + + The filename (excluding the extension, and with no path information) that the produced artifact + will be called. The default value is <code>${artifactId}-${version}</code>. + + + + + + 4.0.0 + + The list of filter properties files that are used when filtering is enabled. + + + + + + + + + + + 4.0.0 + + Default plugin information to be made available for reference by + projects derived from this one. This plugin configuration will not + be resolved or bound to the lifecycle unless referenced. Any local + configuration for a given plugin will override the plugin's entire + definition here. + + + + + + 4.0.0 + + The list of plugins to use. + + + + + + + + + + + + + 4.0.0 + Describes a build extension to utilise. + + + + + 4.0.0 + The group ID of the extension's artifact. + + + + + 4.0.0 + The artifact ID of the extension. + + + + + 4.0.0 + The version of the extension. + + + + + + + 4.0.0 + + Information about the issue tracking (or bug tracking) system used to manage this project. + + + + + + 4.0.0 + The name of the issue management system, e.g. Bugzilla + + + + + 4.0.0 + URL for the issue management system used by the project. + + + + + + + 4.0.0 + + + + + 4.0.0 + The artifact id of the parent project to inherit from. + + + + + 4.0.0 + The group id of the parent project to inherit from. + + + + + 4.0.0 + The version of the parent project to inherit. + + + + + 4.0.0 + + The relative path of the parent <code>pom.xml</code> file within the check out. + The default value is <code>../pom.xml</code>. + Maven looks for the parent pom first in the reactor of currently building projects, then in this location on + the filesystem, then the local repository, and lastly in the remote repo. + <code>relativePath</code> allows you to select a different location, + for example when your structure is flat, or deeper without an intermediate parent pom. + However, the group ID, artifact ID and version are still required, + and must match the file in the location given or it will revert to the repository for the POM. + This feature is only for enhancing the development in a local checkout of that project. + + + + + + + + 4.0.0 + Describes the prerequisites a project can have. + + + + + 4.0.0 + The minimum version of Maven required to build the project, or to use this plugin. + + + + + + + 4.0.0 + + + + + 4.0.0 + + The name of the continuous integration system, e.g. <code>continuum</code>. + + + + + 4.0.0 + + URL for the continuous integration system used by the project if it has a web interface. + + + + + 4.0.0 + + Configuration for notifying developers/users when a build is + unsuccessful, including user information and notification mode. + + + + + + + + + + + + + 4.0.0 + + Configures one method for notifying users/developers when a build breaks. + + + + + + 4.0.0 + The mechanism used to deliver notifications. + + + + + 4.0.0 + Whether to send notifications on error. + + + + + 4.0.0 + Whether to send notifications on failure. + + + + + 4.0.0 + Whether to send notifications on success. + + + + + 4.0.0 + Whether to send notifications on warning. + + + + + 4.0.0 + + <b>Deprecated</b>. Where to send the notification to - eg email address. + + + + + + 0.0.0+ + Extended configuration specific to this notifier goes here. + + + + + + + + + + + + 3.0.0+ + + Describes the licenses for this project. This is used to generate + the license page of the project's web site, as well as being taken into consideration in other reporting and + validation. The licenses listed for the project are that of the project itself, and not of dependencies. + + + + + + 3.0.0+ + The full legal name of the license. + + + + + 3.0.0+ + The official url for the license text. + + + + + 3.0.0+ + + The primary method by which this project may be distributed. + <dl> + <dt>repo</dt> + <dd>may be downloaded from the Maven repository</dd> + <dt>manual</dt> + <dd>user must manually download and install the dependency.</dd> + </dl> + + + + + + 3.0.0+ + + Addendum information pertaining to this license. + + + + + + + + 3.0.0+ + + Information about one of the committers on this project. + + + + + + 3.0.0+ + The unique ID of the developer in the SCM. + + + + + 3.0.0+ + The full name of the contributor. + + + + + 3.0.0+ + The email address of the contributor. + + + + + 3.0.0+ + The URL for the homepage of the contributor. + + + + + 3.0.0+ + The organization to which the contributor belongs. + + + + + 3.0.0+ + The URL of the organization. + + + + + 3.0.0+ + + The roles the contributor plays in the project. Each role is + described by a <code>role</code> element, the body of which is a + role name. This can also be used to describe the contribution. + + + + + + + + + + + 3.0.0+ + + The timezone the contributor is in. This is a number in the range -11 to 12. + + + + + + 3.0.0+ + + Properties about the contributor, such as an instant messenger handle. + + + + + + + + + + + + + 4.0.0 + + + + + 4.0.0 + + The source control management system URL + that describes the repository and how to connect to the + repository. For more information, see the + <a href="http://maven.apache.org/scm/scm-url-format.html">URL format</a> + and <a href="http://maven.apache.org/scm/scms-overview.html">list of supported SCMs</a>. + This connection is read-only. + + + + + + 4.0.0 + + Just like <code>connection</code>, but for developers, i.e. this scm connection + will not be read only. + + + + + + 4.0.0 + + The tag of current code. By default, it's set to HEAD during development. + + + + + + 4.0.0 + + The URL to the project's browsable SCM repository, such as ViewVC or Fisheye. + + + + + + + 3.0.0+ + Specifies the organization that produces this project. + + + + + 3.0.0+ + The full name of the organization. + + + + + 3.0.0+ + The URL to the organization's home page. + + + + + \ No newline at end of file diff --git a/xml/tests/testData/documentation/spring-beans.xsd b/xml/tests/testData/documentation/spring-beans.xsd new file mode 100644 index 000000000000..04f42d5fe513 --- /dev/null +++ b/xml/tests/testData/documentation/spring-beans.xsd @@ -0,0 +1,1077 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + "'/> + of default values for all nested bean definitions. + ]]> + + + + + + + + + + + + + + /' 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/documentation/web-app_2_3.dtd b/xml/tests/testData/documentation/web-app_2_3.dtd new file mode 100644 index 000000000000..5e3ab01c0fe8 --- /dev/null +++ b/xml/tests/testData/documentation/web-app_2_3.dtd @@ -0,0 +1,1063 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/xml/tests/testData/documentation/web-app_2_4.xsd b/xml/tests/testData/documentation/web-app_2_4.xsd new file mode 100644 index 000000000000..9e4f58dc238a --- /dev/null +++ b/xml/tests/testData/documentation/web-app_2_4.xsd @@ -0,0 +1,1242 @@ + + + + + @(#)web-app_2_4.xsds 1.61 04/04/16 + + + + + + + DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. + + Copyright 2003-2007 Sun Microsystems, Inc. All rights reserved. + + The contents of this file are subject to the terms of either the + GNU General Public License Version 2 only ("GPL") or the Common + Development and Distribution License("CDDL") (collectively, the + "License"). You may not use this file except in compliance with + the License. You can obtain a copy of the License at + https://glassfish.dev.java.net/public/CDDL+GPL.html or + glassfish/bootstrap/legal/LICENSE.txt. See the License for the + specific language governing permissions and limitations under the + License. + + When distributing the software, include this License Header + Notice in each file and include the License file at + glassfish/bootstrap/legal/LICENSE.txt. Sun designates this + particular file as subject to the "Classpath" exception as + provided by Sun in the GPL Version 2 section of the License file + that accompanied this code. If applicable, add the following + below the License Header, with the fields enclosed by brackets [] + replaced by your own identifying information: + "Portions Copyrighted [year] [name of copyright owner]" + + Contributor(s): + + If you wish your version of this file to be governed by only the + CDDL or only the GPL Version 2, indicate your decision by adding + "[Contributor] elects to include this software in this + distribution under the [CDDL or GPL Version 2] license." If you + don't indicate a single choice of license, a recipient has the + option to distribute your version of this file under either the + CDDL, the GPL Version 2 or to extend the choice of license to its + licensees as provided above. However, if you add GPL Version 2 + code and therefore, elected the GPL Version 2 license, then the + option applies only if the new code is made subject to such + option by the copyright holder. + + + + + + + + ... + + + The instance documents may indicate the published version of + the schema using the xsi:schemaLocation attribute for J2EE + namespace with the following location: + + http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd + + ]]> + + + + + + + The following conventions apply to all J2EE + 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 concatinate the element contents. The multiple occurance + 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. + + + + + + + + + + + + + + + + + The http-method contains an HTTP method recognized by the + web-app, for example GET, POST, ... + + + + + + + + + + + + + + + + + + + + + + + + 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 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 + + + + + + + + + +