Skip to content

Conversation

@filipelautert
Copy link
Collaborator

@filipelautert filipelautert commented Sep 19, 2025

This pull request updates the XML schema definition in dbchangelog-latest.xsd to make several change elements more extensible. The main improvement is allowing additional, non-standard XML elements and attributes within the dropTable, createSequence, alterSequence, and dropSequence change types, which increases flexibility for future extensions or integrations.

Schema extensibility enhancements:

  • Added an <xsd:choice> block with <xsd:any> to each of the following elements: dropTable, createSequence, alterSequence, and dropSequence, allowing arbitrary XML elements from other namespaces to be included. [1] [2]
  • Added <xsd:anyAttribute> to each of these elements, permitting additional attributes from other namespaces. [1] [2]

Impact

  • Bug fix (non-breaking change which fixes expected existing functionality)
  • Enhancement/New feature (adds functionality without impacting existing logic)
  • Breaking change (fix or feature that would cause existing functionality to change)

Description

Added support for anyAttribute in dbchangelog-latest.xsd complex types to improve flexibility and extensibility when working with XML schemas.

This change allows users to define additional attributes seamlessly while maintaining XML schema compliance.

Things to be aware of

None.

Things to worry about

None.

Additional Context

None.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This pull request enhances XML schema extensibility by adding support for arbitrary XML elements and attributes from other namespaces in specific Liquibase change types. The changes make the schema more flexible for future extensions while maintaining backward compatibility.

  • Added <xsd:choice> blocks with <xsd:any> elements to allow arbitrary XML content from other namespaces
  • Added <xsd:anyAttribute> declarations to permit additional attributes from external namespaces
  • Applied these extensibility enhancements consistently across four change types: dropTable, createSequence, alterSequence, and dropSequence

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

Copilot reviewed 1 out of 1 changed files in this pull request and generated 2 comments.


Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

<!-- dropTable -->
<xsd:element name="dropTable">
<xsd:complexType>
<xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
Copy link

Copilot AI Sep 19, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The xsd:any element should be wrapped in a xsd:choice or xsd:sequence container for consistency with the other modified elements and to follow XSD best practices.

Suggested change
<xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
<xsd:sequence>
<xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>

Copilot uses AI. Check for mistakes.
<xsd:element name="createSequence">
<xsd:complexType>
<xsd:choice minOccurs="0" maxOccurs="unbounded">
<xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
Copy link

Copilot AI Sep 19, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The minOccurs=\"0\" and maxOccurs=\"unbounded\" attributes on the xsd:any element are redundant since the parent xsd:choice already has minOccurs=\"0\" maxOccurs=\"unbounded\". Remove these attributes from the xsd:any element.

Copilot uses AI. Check for mistakes.
@filipelautert filipelautert merged commit ce7eb2e into master Sep 19, 2025
11 of 12 checks passed
@filipelautert filipelautert deleted the snowflake-requirements branch September 19, 2025 18:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants