XMLObject (Java Platform SE 8 )
Keywords: javax.xml.crypto.dsig.XMLObject interface
Date: 2026-07-22

compact3
javax.xml.crypto.dsig

## Interface XMLObject

- All Superinterfaces:
    XMLStructure

      public interface XMLObject
      extends XMLStructure

  A representation of the XML `Object` element as defined in the W3C Recommendation for XML-Signature Syntax and Processing. An `XMLObject` may contain any data and may include optional MIME type, ID, and encoding attributes. The XML Schema Definition is defined as:

       <element name="Object" type="ds:ObjectType"/>
       <complexType name="ObjectType" mixed="true">
         <sequence minOccurs="0" maxOccurs="unbounded">
           <any namespace="##any" processContents="lax"/>
         </sequence>
         <attribute name="Id" type="ID" use="optional"/>
         <attribute name="MimeType" type="string" use="optional"/>
         <attribute name="Encoding" type="anyURI" use="optional"/>
       </complexType>

  A `XMLObject` instance may be created by invoking the `newXMLObject` method of the `XMLSignatureFactory` class; for example:

         XMLSignatureFactory fac = XMLSignatureFactory.getInstance("DOM");
         List content = Collections.singletonList(fac.newManifest(references)));
         XMLObject object = factory.newXMLObject(content, "object-1", null, null);

  Note that this class is named `XMLObject` rather than `Object` to avoid naming clashes with the existing `java.lang.Object` class.

  Since:
    1.6
  See Also:
    `XMLSignatureFactory.newXMLObject(List, String, String, String)`

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static String` | `TYPE` URI that identifies the `Object` element (this can be specified as the value of the `type` parameter of the `Reference` class to identify the referent's type).

  - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `List` | `getContent()` Returns an `unmodifiable list` of `XMLStructure`s contained in this `XMLObject`, which represent elements from any namespace.
    `String` | `getEncoding()` Returns the encoding URI of this `XMLObject`.
    `String` | `getId()` Returns the Id of this `XMLObject`.
    `String` | `getMimeType()` Returns the mime type of this `XMLObject`.

    - ### Methods inherited from interface javax.xml.crypto.XMLStructure

      `isFeatureSupported`

- - ### Field Detail

    - #### TYPE

          static final String TYPE

      URI that identifies the `Object` element (this can be specified as the value of the `type` parameter of the `Reference` class to identify the referent's type).
      See Also:
        Constant Field Values

  - ### Method Detail

    - #### getContent

          List getContent()

      Returns an `unmodifiable list` of `XMLStructure`s contained in this `XMLObject`, which represent elements from any namespace.

      If there is a public subclass representing the type of `XMLStructure`, it is returned as an instance of that class (ex: a `SignatureProperties` element would be returned as an instance of `SignatureProperties`).

      Returns:
        an unmodifiable list of `XMLStructure`s (may be empty but never `null`)

    - #### getId

          String getId()

      Returns the Id of this `XMLObject`.
      Returns:
        the Id (or `null` if not specified)

    - #### getMimeType

          String getMimeType()

      Returns the mime type of this `XMLObject`. The mime type is an optional attribute which describes the data within this `XMLObject` (independent of its encoding).
      Returns:
        the mime type (or `null` if not specified)

    - #### getEncoding

          String getEncoding()

      Returns the encoding URI of this `XMLObject`. The encoding URI identifies the method by which the object is encoded.
      Returns:
        the encoding URI (or `null` if not specified)

Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2026, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.