Чтобы создать атрибуты в XML, добавив столбцы, которые начинаются со специального префикса. Из документов:
attributePrefix: Префикс для атрибутов, чтобы мы могли различать атрибуты и элементы. Это будет префикс для имен полей. По умолчанию _.
Так что в вашем случае вам нужно всего лишь добавить дополнительный столбец в ваш набор данных:
df
.withColumn("_book-id", $"id") //this column is prefixed with _
.repartition(1)
.write
.format("com.databricks.spark.xml")
.option("rootTag", "category")
.option("rowTag", "book")
.mode("overwrite")
.save("C:\\Users\\RK03GJ\\ProcesDevel\\dump")