XML catalog is loaded by LemMinX but not used to resolve the XSD in Wild Web Developer (works in VS Code with the same catalog.xml)
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 45/100
Research direction
Unpack issue.tar.gz and inspect .vscode/catalog.xml, dataset.xml, and schemas/src/main/resources/schemas/schema.xsd; start by reproducing the catalog resolution difference in Wild Web Developer and reviewing the initialize settings shown in the report. Done means the catalog maps the dataset namespace to the XSD in Eclipse and validation reports the same child and attribute errors as VS Code.
Written by the indexing model from the issue text.
Description
I am trying to understand why the XML catalog resolution behaves differently between VS Code (LemMinX 0.31.2 it seems) and Wild Web Developer (LemMinX 0.31.0 it seems), using the same catalog.xml and the same XML file.
Reproducer project: issue.tar.gz
It is a multi module Maven project. The catalog is at .vscode/catalog.xml:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE catalog PUBLIC "-//OASIS//DTD Entity Resolution XML Catalog V1.1//EN" "http://www.oasis-open.org/committees/entity/release/1.1/catalog.dtd">
<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog">
<uri name="http://www.acme.org/ns/dataset" uri="../schemas/src/main/resources/schemas/schema.xsd" />
</catalog>
The schema declares dataset as an xs:string element:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns="http://www.acme.org/ns/dataset"
targetNamespace="http://www.acme.org/ns/dataset"
elementFormDefault="qualified">
<xs:element name="dataset" type="xs:string" />
</xs:schema>
And the XML file to validate is:
<?xml version="1.0" encoding="UTF-8"?>
<dataset xmlns="http://www.acme.org/ns/dataset" x="a">
<A />
</dataset>
Steps to reproduce:
- Open the project in VS Code with the redhat.vscode-xml extension, catalog registered through
xml.catalogs. - Open
dataset.xml. - Open the same project in Eclipse, with Wild Web Developer, catalog registered in Window > Preferences > XML (Wild Web Developer) > Catalogs.
- Open
dataset.xml.
Expected result:
The catalog resolves the namespace http://www.acme.org/ns/dataset to the XSD and validation reports that dataset cannot have children or attributes, since it is declared as xs:string.
Actual result in VS Code:
cvc-type.3.1.2: Element 'dataset' is a simple type, so it must have no element information item [children].
cvc-type.3.1.1: Element 'dataset' is a simple type, so it cannot have attributes, excepting those whose namespace name is identical to 'http://www.w3.org/2001/XMLSchema-instance' and whose [local name] is one of 'type', 'nil', 'schemaLocation' or 'noNamespaceSchemaLocation'. However, the attribute, 'x' was found.
This is correct and matches the schema.
Actual result in Eclipse with Wild Web Developer:
No error at all, and the "Bind to grammar/schema ..." action is proposed, meaning no grammar was found for the document. The catalog entry is simply not used to resolve the XSD.
If I add an explicit xsi:schemaLocation pointing to the same XSD:
<?xml version="1.0" encoding="UTF-8"?>
<dataset xmlns="http://www.acme.org/ns/dataset"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.acme.org/ns/dataset ../../../../schemas/src/main/resources/schemas/schema.xsd" x="a">
<A />
</dataset>
I get the same errors as VS Code, so the XSD itself is fine and reachable. The problem is specific to the catalog based resolution in Eclipse. I would rather not have to reference the XSD directly in every file, that defeats the purpose of the catalog.
I enabled the LSP logs and the catalog is indeed known to the server at initialize time:
{
"jsonrpc": "2.0",
"id": "1",
"method": "initialize",
"params": {
"processId": 30448,
"rootPath": "/C:/repos/lemminx-catalog/xmlfiles/",
"rootUri": "file:///C:/repos/lemminx-catalog/xmlfiles/",
"initializationOptions": {
"settings": {
"xml": {
"maven": {},
"downloadExternalResources": {
"enabled": true
},
"catalogs": [
"C:\\eclipse-lemminx-catalog\\ws\\.metadata\\.plugins\\org.eclipse.wildwebdeveloper.xml\\system-catalog.xml",
"C:\\repos\\lemminx-catalog\\.vscode\\catalog.xml"
],
"format": {
"xsiSchemaLocationSplit": "onPair",
"maxLineWidth": 150,
"preserveAttributeLineBreaks": true,
"closingBracketNewLine": false,
"grammarAwareFormatting": false,
"joinContentLines": false,
"splitAttributes": "preserve",
"joinCDATALines": false,
"preserveSpace": [
"xsl:text",
"xsl:comment",
"xsl:processing-instruction",
"literallayout",
"programlisting",
"screen",
"synopsis",
"pre",
"xd:pre"
],
"trimFinalNewlines": false,
"emptyElements": "ignore",
"spaceBeforeEmptyCloseTag": true,
"splitAttributesIndentSize": 2,
"preservedNewlines": 2,
"enforceQuoteStyle": "ignore",
"joinCommentLines": false,
"insertFinalNewline": false,
"trimTrailingWhitespace": false
},
"codeLens": {
"enabled": true
},
"foldings": {
"includeClosingTagInFold": true
},
"validation": {
"schema": {
"enabled": "always"
},
"noGrammar": "hint",
"resolveExternalEntities": false,
"enabled": true,
"namespaces": {
"enabled": "onNamespaceEncountered"
},
"disallowDocTypeDecl": false
}
}
},
"extendedClientCapabilities": {
"bindingWizardSupport": true,
"codeLens": {
"codeLensKind": {
"valueSet": [
"association"
]
}
}
}
},
"capabilities": {
"workspace": {
"applyEdit": true,
"workspaceEdit": {
"documentChanges": true,
"resourceOperations": [
"create",
"delete",
"rename"
],
"failureHandling": "undo",
"changeAnnotationSupport": {
"groupsOnLabel": true
}
},
"didChangeWatchedFiles": {
"relativePatternSupport": true,
"dynamicRegistration": true
},
"symbol": {
"tagSupport": { "valueSet": [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22 ] },
"dynamicRegistration": true
},
"executeCommand": {
"dynamicRegistration": true
},
"workspaceFolders": true,
"configuration": true,
"codeLens": {
"refreshSupport": true
},
"fileOperations": {
"willCreate": true,
"willRename": true,
"willDelete": true
}
},
"textDocument": {
"synchronization": {
"willSave": true,
"willSaveWaitUntil": true,
"didSave": true
},
"completion": {
"completionItem": {
"snippetSupport": true,
"documentationFormat": [ "markdown", "plaintext" ],
"resolveSupport": { "properties": [ "documentation", "detail", "additionalTextEdits" ] },
"insertTextModeSupport": { "valueSet": [ 1, 2 ] }
},
"contextSupport": true,
"insertTextMode": 2,
"completionList": { "itemDefaults": [ "commitCharacters", "editRange", "insertTextFormat", "insertTextMode" ] },
"dynamicRegistration": true
},
"hover": {
"contentFormat": [
"markdown",
"plaintext"
]
},
"signatureHelp": {},
"references": {},
"documentHighlight": {},
"documentSymbol": {
"symbolKind": { "valueSet": [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26 ] },
"hierarchicalDocumentSymbolSupport": true,
"tagSupport": { "valueSet": [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22 ] }
},
"formatting": {
"dynamicRegistration": true
},
"rangeFormatting": {},
"onTypeFormatting": {
"dynamicRegistration": true
},
"definition": {
"linkSupport": true
},
"typeDefinition": {
"linkSupport": true
},
"codeAction": {
"codeActionLiteralSupport": {
"codeActionKind": { "valueSet": [ "quickfix", "refactor", "refactor.extract", "refactor.inline", "refactor.rewrite", "source", "source.organizeImports" ] }
},
"dataSupport": true,
"resolveSupport": {
"properties": [
"edit"
]
},
"dynamicRegistration": true
},
"codeLens": {},
"documentLink": {},
"colorProvider": {},
"rename": {
"prepareSupport": true
},
"publishDiagnostics": {},
"foldingRange": {
"lineFoldingOnly": true,
"foldingRangeKind": {
"valueSet": [
"comment",
"imports",
"region"
]
},
"foldingRange": {
"collapsedText": false
}
},
"callHierarchy": {},
"selectionRange": {},
"inlayHint": {}
},
"window": {
"workDoneProgress": true,
"showMessage": {},
"showDocument": {
"support": true
}
}
},
"clientInfo": {
"name": "Eclipse IDE",
"version": "0.19.13.202605190944"
},
"trace": "off",
"workspaceFolders": [
{
"uri": "file:///C:/eclipse-lemminx-catalog/ws/languageServers-log/",
"name": "languageServers-log"
},
{
"uri": "file:///C:/repos/lemminx-catalog/",
"name": "parent"
},
{
"uri": "file:///C:/repos/lemminx-catalog/schemas/",
"name": "schemas"
},
{
"uri": "file:///C:/repos/lemminx-catalog/xmlfiles/",
"name": "xmlfiles"
}
]
}
}
So both the catalog path and its content are received by the server, but nothing indicates that the catalog is actually used or rejected when I open dataset.xml. No error, no warning, just the "no grammar" hint.
Environment:
Eclipse 2026-06, Java 21, installed through Oomph.
| Feature | Version | Id | Provider |
|---|---|---|---|
| Wild Web Developer HTML, CSS, JSON, Yaml, JavaScript, TypeScript, Node tools | 1.4.0.202511281851 | org.eclipse.wildwebdeveloper.feature.feature.group | Eclipse Wild Web Developer project |
| Wild Web Developer XML tools | 1.3.8.202511131403 | org.eclipse.wildwebdeveloper.xml.feature.feature.group | Eclipse Wild Web Developer project |
- Dominant language
- Java
- Stars
- 203
- Forks
- 76
- Avg merge
- 1d 5h
- Merged PRs (30d)
- 30
Getting set up
- No Dockerfile or Docker Compose file
- No pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from eclipse-wildwebdeveloper/wildwebdeveloper
-
Markdown and Astro language servers do not start when the project path contains a non-ASCII character or a spacePossibly taken @RoiSoleil claimed this today. Open
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
eclipse-wildwebdeveloper/wildwebdeveloper#2277 ·
Maintainers usually reply within 1 day
-
Difficulty 3/5 1-2 days Newbie friendliness 65/100
eclipse-wildwebdeveloper/wildwebdeveloper#2236 ·
Maintainers usually reply within 1 day
-
SQL Language serverOpenenhancement
Difficulty 5/5 Over a week Newbie friendliness 25/100
eclipse-wildwebdeveloper/wildwebdeveloper#2122 · 2 comments ·
Maintainers usually reply within 1 day
-
enhancement
Difficulty 4/5 3-5 days Newbie friendliness 35/100
eclipse-wildwebdeveloper/wildwebdeveloper#2070 · 1 comment ·
Maintainers usually reply within 1 day
-
ESLintLanguageServer and JSTSLanguageServer do not support node memory limits (--max-old-space-size)Open
Difficulty 3/5 1-2 days Newbie friendliness 48/100
eclipse-wildwebdeveloper/wildwebdeveloper#2027 · 2 comments ·
Maintainers usually reply within 1 day
All issues in eclipse-wildwebdeveloper/wildwebdeveloper
Similar issues
-
面渣逆袭Spring事务传播机制勘误Open
Difficulty 1/5 Under an hour Newbie friendliness 80/100
itwanger/toBeBetterJavaer#218 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
johanhaleby/occurrent#1462 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 66/100
SasanLabs/VulnerableApp#912 ·
Maintainers usually reply within 1 day
-
area/build area/events area/storage area/storage/kafkasql area/storage/sql
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Apicurio/apicurio-registry#11079 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
OpenAEV-Platform/openaev#9139 ·
Maintainers usually reply within 1 day