-
Notifications
You must be signed in to change notification settings - Fork 25.3k
Add XmlProcessor initial implementation #130337
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
🔍 Preview links for changed docs: 🔔 The preview site may take up to 3 minutes to finish building. These links will become live once it completes. |
5bd50d5
to
95df637
Compare
95df637
to
67dd264
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
Adds a new XML pipeline processor that parses XML into JSON-like maps using a streaming parser, with options for error handling, case conversion, and empty-value filtering.
- Introduces
XmlProcessor
with configurable parsing options - Provides factory integration, plugin registration, and comprehensive unit tests
- Updates module dependencies and documentation for the XML processor
Reviewed Changes
Copilot reviewed 8 out of 8 changed files in this pull request and generated 2 comments.
Show a summary per file
File | Description |
---|---|
modules/ingest-common/src/main/java/org/elasticsearch/ingest/common/XmlProcessor.java | New processor implementation with streaming XML parsing |
modules/ingest-common/src/test/java/org/elasticsearch/ingest/common/XmlProcessorTests.java | Unit tests covering parsing scenarios and options |
modules/ingest-common/src/test/java/org/elasticsearch/ingest/common/XmlProcessorFactoryTests.java | Tests for factory config and defaults |
modules/ingest-common/src/main/java/org/elasticsearch/ingest/common/IngestCommonPlugin.java | Registered XML processor in plugin |
modules/ingest-common/src/main/java/module-info.java | Added java.xml module requirement |
docs/reference/enrich-processor/xml-processor.md | Documentation for the XML processor |
docs/reference/enrich-processor/toc.yml | Added processor to TOC |
docs/reference/enrich-processor/index.md | Linked XML processor in index |
Comments suppressed due to low confidence (2)
docs/reference/enrich-processor/xml-processor.md:12
- [nitpick] Verify that the
$$$xml-options$$$
macro is correct and renders all available XML processor options in the docs.
$$$xml-options$$$
modules/ingest-common/src/main/java/org/elasticsearch/ingest/common/XmlProcessor.java:185
- [nitpick] There are no tests for XML namespace handling. Consider adding a unit test with namespace-qualified elements to validate namespace awareness settings.
factory.setProperty(XMLInputFactory.IS_NAMESPACE_AWARE, false);
modules/ingest-common/src/main/java/org/elasticsearch/ingest/common/XmlProcessor.java
Outdated
Show resolved
Hide resolved
modules/ingest-common/src/main/java/org/elasticsearch/ingest/common/XmlProcessor.java
Show resolved
Hide resolved
Pinging @elastic/es-data-management (Team:Data Management) |
Hi @marc-gr, I've created a changelog YAML for you. |
Adds a new Xml pipeline processor
Closes #97364