High-level CDXML structure

This topic lists the structure of a CDXML document.

CDXML documents are divided into two major sections, or elements. The elements are in the "https://schemas.microsoft.com/cmdlets-over-objects/2009/11" namespace.

  • InstanceCmdlets element - Defines cmdlets that map to instance methods.
  • StaticCmdlets element - Defines cmdlets that map to static methods.

The instance cmdlets element (InstanceCmdlets) is further divided into the following sections.

  • GetCmdletParameters element - This element contains the definition of parameters that are used to retrieve class instances that will be passed to instance methods.
  • GetCmdlet element - This element contains the definition of the Get-<noun> cmdlet.
  • Method element - This element defines the sequence of instance cmdlet mappings.

The following list shows the structure of a CDXML document where the value before the hyphen is the CDXML element name and the text after the hyphen is the description of that element.

  • PowerShellMetadata - The root element for a CDXML document

    • Class - Describes the CIM class. The class should have the fully qualified path of the CIM class including namespace and class name.

      • InstanceCmdlets - Describes the cmdlets mapped to instance operations.

        • GetCmdletParameters - A global set of query parameters used by all instance cmdlets. The cmdlet can define its own set of query parameters.

        • GetCmdlet - Describes the metadata for Get Cmdlet. Get Cmdlet is treated differently than other instance cmdlets. This element is optional and is used only when overriding.

        • Cmdlet - One <cmdlet> node that corresponds to each cmdlet defined by the CDXML.

          • CmdletMetadata - Describes the metadata for the cmdlet. This includes the Noun and Verb for the cmdlet, as well as aliases and flags for specifying ConfirmImpact Setting.

          • Method - The name of the CIM Instance method invoked by the cmdlet.

            • Parameters - Describes the parameters of the method.

              • Parameter - Individual parameters of the method. This defines the name and type of the parameter and Windows PowerShell-specific attributes such as IsMandatory and PipeLine binding
          • GetCmdletParameters - Specified when a cmdlet replaces the global definition.

      • StaticCmdlets - Describes cmdlets mapped to a static method.

        • Cmdlet - One <cmdlet> node that corresponds to each cmdlet defined by the CDXML.

          • CmdletMetadata - Describes the metadata for the cmdlet. This includes the Noun and Verb for the cmdlet, as well as aliases and flags for specifying ConfirmImpact Setting.

          • Method - Describes static methods called by the cmdlet for a static method. There can be one method per parameter set.

            • Parameters - The collection of parameters for this method.

              • Parameter - Describes one parameter of the method and how it appears in the cmdlet signature.
          • GetCmdletParameters - Used to override the default behavior for CDXML processing.

      • Enums - Defines the enumerations to be used by the cmdlets.