trait DefaultCrossrefUpdateFormat extends scalaxb.XMLFormat[org.crossref.Update] with scalaxb.CanWriteChildNodes[org.crossref.Update] {
def reads(seq: scala.xml.NodeSeq, stack: List[scalaxb.ElemName]): Either[String, org.crossref.Update] = seq match {
case node: scala.xml.Node => Right(org.crossref.Update(Seq.concat(p1.toList, // Stops compiling here
Seq(p2),
p3.toList),
scalaxb.fromXML[String]((node \ "@label"), scalaxb.ElemName(node) :: stack),
scalaxb.fromXML[String]((node \ "@type"), scalaxb.ElemName(node) :: stack),
scalaxb.fromXML[javax.xml.datatype.XMLGregorianCalendar]((node \ "@date"), scalaxb.ElemName(node) :: stack)))
case _ => Left("reads failed: seq must be scala.xml.Node")
}
override def writesAttribute(__obj: org.crossref.Update, __scope: scala.xml.NamespaceBinding): scala.xml.MetaData = {
var attr: scala.xml.MetaData = scala.xml.Null
attr = scala.xml.Attribute(null, "label", __obj.label.toString, attr)
attr = scala.xml.Attribute(null, "type", __obj.typeValue.toString, attr)
attr = scala.xml.Attribute(null, "date", __obj.date.toString, attr)
attr
}
def writesChildNodes(__obj: org.crossref.Update, __scope: scala.xml.NamespaceBinding): Seq[scala.xml.Node] =
__obj.mixed.toSeq flatMap { x => scalaxb.toXML[scalaxb.DataRecord[Any]](x, x.namespace, x.key, __scope, false) }
}