# Interface CanonicalizationMethod

All Superinterfaces:
  `AlgorithmMethod, Transform, XMLStructure`

public interface CanonicalizationMethod extends Transform
A representation of the XML `CanonicalizationMethod` element as defined in the W3C Recommendation for XML-Signature Syntax and Processing. The XML Schema Definition is defined as:

      <element name="CanonicalizationMethod" type="ds:CanonicalizationMethodType"/>
        <complexType name="CanonicalizationMethodType" mixed="true">
          <sequence>
            <any namespace="##any" minOccurs="0" maxOccurs="unbounded"/>
              <!-- (0,unbounded) elements from (1,1) namespace -->
          </sequence>
          <attribute name="Algorithm" type="anyURI" use="required"/>
        </complexType>

A `CanonicalizationMethod` instance may be created by invoking the `newCanonicalizationMethod` method of the `XMLSignatureFactory` class.

Since:
  1.6
See Also:
  - `XMLSignatureFactory.newCanonicalizationMethod(String, C14NMethodParameterSpec)`

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final String`
  `EXCLUSIVE`
  The Exclusive Canonical XML (without comments) canonicalization method algorithm URI.
  `static final String`
  `EXCLUSIVE_WITH_COMMENTS`
  The Exclusive Canonical XML with comments canonicalization method algorithm URI.
  `static final String`
  `INCLUSIVE`
  The Canonical XML (without comments) canonicalization method algorithm URI.
  `static final String`
  `INCLUSIVE_11`
  The Canonical XML 1.1 (without comments) canonicalization method algorithm URI.
  `static final String`
  `INCLUSIVE_11_WITH_COMMENTS`
  The Canonical XML 1.1 with comments canonicalization method algorithm URI.
  `static final String`
  `INCLUSIVE_WITH_COMMENTS`
  The Canonical XML with comments canonicalization method algorithm URI.

  ### Fields declared in interface Transform

  `BASE64, ENVELOPED, XPATH, XPATH2, XSLT`
  Modifier and Type
  Field
  Description
  `static final String`
  `BASE64`
  The Base64 transform algorithm URI.
  `static final String`
  `ENVELOPED`
  The Enveloped Signature transform algorithm URI.
  `static final String`
  `XPATH`
  The XPath transform algorithm URI.
  `static final String`
  `XPATH2`
  The XPath Filter 2 transform algorithm URI.
  `static final String`
  `XSLT`
  The XSLT transform algorithm URI.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `AlgorithmParameterSpec`
  `getParameterSpec()`
  Returns the algorithm-specific input parameters associated with this `CanonicalizationMethod`.

  ### Methods declared in interface AlgorithmMethod

  `getAlgorithm`
  Modifier and Type
  Method
  Description
  `String`
  `getAlgorithm()`
  Returns the algorithm URI of this `AlgorithmMethod`.

  ### Methods declared in interface Transform

  `transform, transform`
  Modifier and Type
  Method
  Description
  `Data`
  `transform(Data data, XMLCryptoContext context)`
  Transforms the specified data using the underlying transform algorithm.
  `Data`
  `transform(Data data, XMLCryptoContext context, OutputStream os)`
  Transforms the specified data using the underlying transform algorithm.

  ### Methods declared in interface XMLStructure

  `isFeatureSupported`
  Modifier and Type
  Method
  Description
  `boolean`
  `isFeatureSupported(String feature)`
  Indicates whether a specified feature is supported.

- ## Field Details

  - ### INCLUSIVE

    static final String INCLUSIVE
    The Canonical XML (without comments) canonicalization method algorithm URI.
    See Also:
      - Constant Field Values

  - ### INCLUSIVE_WITH_COMMENTS

    static final String INCLUSIVE_WITH_COMMENTS
    The Canonical XML with comments canonicalization method algorithm URI.
    See Also:
      - Constant Field Values

  - ### EXCLUSIVE

    static final String EXCLUSIVE
    The Exclusive Canonical XML (without comments) canonicalization method algorithm URI.
    See Also:
      - Constant Field Values

  - ### EXCLUSIVE_WITH_COMMENTS

    static final String EXCLUSIVE_WITH_COMMENTS
    The Exclusive Canonical XML with comments canonicalization method algorithm URI.
    See Also:
      - Constant Field Values

  - ### INCLUSIVE_11

    static final String INCLUSIVE_11
    The Canonical XML 1.1 (without comments) canonicalization method algorithm URI.
    Since:
      13
    See Also:
      - Constant Field Values

  - ### INCLUSIVE_11_WITH_COMMENTS

    static final String INCLUSIVE_11_WITH_COMMENTS
    The Canonical XML 1.1 with comments canonicalization method algorithm URI.
    Since:
      13
    See Also:
      - Constant Field Values

- ## Method Details

  - ### getParameterSpec

    AlgorithmParameterSpec getParameterSpec()
    Returns the algorithm-specific input parameters associated with this `CanonicalizationMethod`.

    The returned parameters can be typecast to a `C14NMethodParameterSpec` object.

    Specified by:
      `getParameterSpec` in interface `AlgorithmMethod`
    Specified by:
      `getParameterSpec` in interface `Transform`
    Returns:
      the algorithm-specific input parameters (may be `null` if not specified)