-
Notifications
You must be signed in to change notification settings - Fork 89
updating the xsd schema for zap #1646
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
updating the xsd schema for zap #1646
Conversation
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.
Summary of Changes
Hello @brdandu, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!
This pull request updates the ZCL (Zigbee Cluster Library) XML Schema Definition (XSD) to align with evolving specification requirements. The changes introduce new structural elements and attributes across various ZCL components, such as clusters, attributes, commands, and events. This enhancement allows for a more precise and comprehensive description of ZCL entities, facilitating better tooling and validation for ZCL-based applications.
Highlights
- New Schema Elements for Features and Quality: Introduced new top-level elements, 'features' and 'feature', to support the definition of cluster features, and a 'quality' element for specifying attribute quality characteristics within the ZCL schema.
- Enhanced Event Field Definitions: The 'eventField' complex type has been extended with new attributes including 'optional', 'isFabricSensitive', 'fieldIdentifier', 'introducedIn', and 'removedIn' to provide more granular control and versioning for event fields.
- Extended Argument and Item Attributes: The 'arg' complex type now includes 'min', 'max', 'minLength', and 'maxLength' attributes for value and length constraints, while the 'item' complex type gains a 'removedIn' attribute for version management.
- Updated Cluster Element Structure: The 'cluster' element has been modified to incorporate the newly added 'features' element, allowing clusters to explicitly define their supported features.
- Comprehensive Attribute Updates: The 'attribute' element has been significantly updated to include 'removedIn', 'reportableChangeLength', 'sceneRequired', 'minLength', and 'maxLength' attributes, and now integrates the new 'quality' element for detailed attribute specifications.
- Command and Event Element Refinements: Both 'command' and 'event' elements have been refined with additional attributes such as 'removedIn' and 'apiMaturity' for commands, and 'introducedIn', 'removedIn', and 'optional' for events, along with the integration of the 'quality' element for commands.
- Improved XSD Readability: Additional newlines have been strategically inserted throughout the XSD file to enhance its readability and maintainability.
Using Gemini Code Assist
The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.
Invoking Gemini
You can request assistance from Gemini at any point in your pull request via creating an issue comment (i.e. comment on the pull request page) using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands.
| Feature | Command | Description |
|---|---|---|
| Code Review | /gemini review |
Performs a code review for the current pull request in its current state. |
| Pull Request Summary | /gemini summary |
Provides a summary of the current pull request in its current state. |
| Comment | @gemini-code-assist | Responds in comments when explicitly tagged, both in issue comments and review comments. |
| Help | /gemini help |
Displays a list of available commands. |
Customization
To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.
Limitations & Feedback
Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.
You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.
Footnotes
-
Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution. ↩
|
May have to look into the chip repo xsd as well. |
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.
Code Review
This pull request updates the ZCL schema (zcl.xsd) to align with newer specifications, likely from Matter/CSA. The changes include adding new elements for features (features, feature) and quality (quality), as well as extending existing elements like cluster, attribute, command, and event with many new attributes. The file has also been restructured for better readability by moving major element definitions to the top and adding whitespace. The review comments focus on improving type consistency across the schema for better maintainability and validation.
2642cb0 to
e0f466a
Compare
9b7c087 to
d75d033
Compare
… validate script to check the data-model xml within the zap repo - Fixing the xsd validation for chip repo Data Model xml - ZAP#1609
d75d033 to
ba0c692
Compare
Github: ZAP#1609