- Notifications
You must be signed in to change notification settings - Fork 91
Procesamiento de documentos XML
Scala ha sido usado para crear, parsear y procesar de forma fácil documentos XML. Datos XML pueden ser representados en Scala tanto usando una representación genérica, o con una representación específica. Este último es soportado por la herramienta de data-bindingschema2src.
Los datos en XML son representados como árboles etiquetados. A partir de Scala 1.2 (versiones previas debían usar la opción -Xmarkup), es posible crear convenientemente tales nodos etiquetados utilizando sintaxis XML.
Considera el siguiente documento XMl:
<html><head><title>Hello XHTML world</title></head><body><h1>Hello world</h1><p><ahref="http://scala-lang.org/">Scala</a> talks XHTML</p></body></html>Este documento puede ser creado por el siguiente programa en Scala:
objectXMLTest1extendsApp{valpage= <html> <head> <title>HelloXHTML world</title> </head> <body> <h1>Hello world</h1> <p><ahref="scala-lang.org">Scala</a> talks XHTML</p> </body> </html> println(page.toString()) }Es posible mezclar expresiones Scala y XML:
objectXMLTest2extendsApp{importscala.xml._valdf= java.text.DateFormat.getDateInstance() valdateString= df.format(new java.util.Date()) deftheDate(name: String) = <dateMsgaddressedTo={name }> Hello,{name }!Today is{dateString } </dateMsg> println(theDate("John Doe").toString()) }En muchos casos se tiene un DTD para los documentos XML que se quieren procesar. En este caso se quieren crear clases especiales para esto, y algo de código para parsear y guardar el XML. Scala tiene una ingeniosa herramienta que transforma tus DTDs en una colección de definiciones de clases en Scala que hacen todo el trabajo.
La documentación y ejemplos para la herramienta schema2src se pueden encontrar en el libro de Burak draft scala xml book.