anchor.diff:  ----
   
   then Isis core' implementation of `XmlSnapshotService` service is automatically registered and injected (it is annotated with `@DomainService`) so no further configuration is required.
  +
  +
  +== Related Services
  +
  +The xref:_ug_reference-services-api_manpage-BookmarkService[`BookmarkService`] provides a mechanism for obtaining a string representations of a single domain object.
  +
  +The xref:_ug_reference-services-api_manpage-MementoService[`MementoService`] also provides a mechanism for generating string representations of domain objects.
  +
  +
  +
  +
  
positive.code: ----
  
  
  === Usage
  
  The most straight-forward usage of this service is simply:
  
  [source,java]
  
negative.code: 
  The `XmlSnapshotService` provides the capability to generate XML snapshots (and if required corresponding XSD schemas) based on graphs of domain objects.
  
  Typical use cases include creating mementos for business-focused auditing, such that a report could be generated as to which end-user performed a business action (perhaps for legal reasons).  For one system that we know of, a digest of this snapshot of data is signed with the public encryption key so as to enforce non-repudiation.
  
  Another use case is to grab raw data such that it could be merged into a report template or communication.
  
  The service offers a basic API to create a snapshot of a single object, and an more flexible API that allows the size of the graph to be customized.
  
  The core framework provides an implementation of this service (`o.a.i.core.runtime.services.xmlsnapshot.XmlSnapshotServiceDefault`).
  
  
  
  == Standard API
  
  The (basic) API of `XmlSnapshotService` is:
  
  