Use with FS2

sbt
libraryDependencies += "uk.gov.nationalarchives" %% "preservica-client-fs2" % "0.0.128"
Maven
<dependencies>
  <dependency>
    <groupId>uk.gov.nationalarchives</groupId>
    <artifactId>preservica-client-fs2_3</artifactId>
    <version>0.0.128</version>
  </dependency>
</dependencies>
Gradle
dependencies {
  implementation "uk.gov.nationalarchives:preservica-client-fs2_3:0.0.128"
}
object XmlValidatorFs2 {
  import cats.effect.IO
  import uk.gov.nationalarchives.dp.client.ValidateXmlAgainstXsd
  import uk.gov.nationalarchives.dp.client.ValidateXmlAgainstXsd.PreservicaSchema.XipXsdSchemaV7
  import uk.gov.nationalarchives.dp.client.fs2.Fs2Client

  val xmlValidator: ValidateXmlAgainstXsd[IO] =
    Fs2Client.xmlValidator(XipXsdSchemaV7) // a path to any schema can be passed in
  val xmlStringToValidate: String = <XIP xmlns="http://preservica.com/XIP/v7.0">
    <InformationObject>
      <Title>A Test Title</Title>
      <Description></Description>
      <SecurityTag>open</SecurityTag>
      <Parent>3fbc5b0e-c5d7-42a4-8a49-5ffad4cae761</Parent>
    </InformationObject>
  </XIP>.toString

  def checkIdXmlIsValid(): IO[Boolean] = for (isXmlValid <- xmlValidator.xmlStringIsValid(xmlStringToValidate))
    yield isXmlValid
}