xml: breve introducci´on a los servicios webantares.sip.ucm.es/luis/java06-07/xml.pdf · xml:...
TRANSCRIPT
XML: breve introduccion a los servicios Web
Luis Fernando Llana Dıaz
Departamento de Sistemas Informaticos y ComputacionUniversidad Complutense de Madrid
22 de mayo de 2007
Luis Fernando Llana Dıaz Departamento de Sistemas Informaticos y ComputacionUniversidad Complutense de Madrid
XML: breve introduccion a los servicios Web
EXtensible Markup Language (XML)
Formato de texto marcado simple inspirado en HTML.
Publicacion de documentos a gran escala.
Intercambio electronico de datos.
Luis Fernando Llana Dıaz Departamento de Sistemas Informaticos y ComputacionUniversidad Complutense de Madrid
XML: breve introduccion a los servicios Web
Formato Open Document Format (odt) I
Luis Fernando Llana Dıaz Departamento de Sistemas Informaticos y ComputacionUniversidad Complutense de Madrid
XML: breve introduccion a los servicios Web
Formato Open Document Format (odt) II
1<?xml version="1.0" encoding="UTF -8"?>
2<office:document -content
3xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1 .0"
4xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1 .0"
5xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1 .0"
6xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1 .0"
7xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1 .0"
8xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl -fo-compatible:1 .0"
9xmlns:xlink="http: //www.w3.org /1999/ xlink"
10xmlns:dc="http: //purl.org/dc/elements /1.1/"
11xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1 .0"
12xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1 .0"
13xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg -compatible:1 .0"
14xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1 .0"
15xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1 .0"
16xmlns:math="http: //www.w3.org /1998/ Math/MathML"
17xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1 .0"
18xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1 .0"
19xmlns:ooo="http:// openoffice.org /2004/ office"
20xmlns:ooow="http: // openoffice.org /2004/ writer"
21xmlns:oooc="http: // openoffice.org /2004/ calc"
22xmlns:dom="http://www.w3.org /2001/xml -events"
23xmlns:xforms="http://www.w3.org /2002/ xforms"
24xmlns:xsd="http://www.w3.org /2001/ XMLSchema"
25xmlns:xsi="http://www.w3.org /2001/ XMLSchema -instance"
Luis Fernando Llana Dıaz Departamento de Sistemas Informaticos y ComputacionUniversidad Complutense de Madrid
XML: breve introduccion a los servicios Web
Formato Open Document Format (odt) III
26office:version="1.0">
27<office:scripts/>
28<office:font -face -decls >
29<style:font -face
30style:name="DejaVu Sans Mono"
31svg:font -family="'DejaVu Sans Mono'"
32style:font -family -generic="modern"
33style:font -pitch="fixed"/>
34<style:font -face style:name="DejaVu Sans"
35svg:font -family="'DejaVu Sans'"
36style:font -family -generic="roman"
37style:font -pitch="variable"/>
38<style:font -face style:name="DejaVu Sans1"
39svg:font -family="'DejaVu Sans'"
40style:font -family -generic="swiss"
41style:font -pitch="variable"/>
42<style:font -face style:name="DejaVu Sans2"
43svg:font -family="'DejaVu Sans'"
44style:font -family -generic="system"
45style:font -pitch="variable"/>
46</office:font -face -decls>
47<office:automatic -styles/>
48<office:body >
49<office:text >
50<office:forms
51form:automatic -focus="false"
52form:apply -design -mode="false"/>
53<text:sequence -decls>
Luis Fernando Llana Dıaz Departamento de Sistemas Informaticos y ComputacionUniversidad Complutense de Madrid
XML: breve introduccion a los servicios Web
Formato Open Document Format (odt) IV
54<text:sequence -decl
55text:display -outline -level="0"
56text:name="Illustration"/>
57<text:sequence -decl
58text:display -outline -level="0"
59text:name="Table"/>
60<text:sequence -decl
61text:display -outline -level="0"
62text:name="Text"/>
63<text:sequence -decl
64text:display -outline -level="0"
65text:name="Drawing"/>
66</text:sequence -decls >
67<text:h text:style -name="Heading_20_1" text:outline -level="1">
68Primera parte del ingenioso hidalgo don Quijote de la Mancha
69</text:h >
70<text:h text:style -name="Heading_20_2" text:outline -level="2">
71Capıtulo primero. Que trata de la condicion y ejercicio del famoso hidalgo don Quijote de la Mancha
72</text:h >
73<text:p text:style -name="Text_20_body">
74En un lugar de la Mancha ,
75de cuyo nombre no quiero acordarme , no ha mucho tiempo que vivıa un
76hidalgo de los de lanza en astillero , adarga antigua , rocın flaco y
77galgo corredor. Una olla de algo mas vaca que carnero , salpicon las
78mas noches , duelos y quebrantos los sabados , lantejas los viernes ,
79algun palomino de a~nadidura los domingos , consumıan las tres partes de
80su hacienda. El resto della concluıan sayo de velarte , calzas de
81velludo para las fiestas , con sus pantuflos de lo mesmo , y los dıas de
Luis Fernando Llana Dıaz Departamento de Sistemas Informaticos y ComputacionUniversidad Complutense de Madrid
XML: breve introduccion a los servicios Web
Formato Open Document Format (odt) V
82entresemana se honraba con su vellorı de lo mas fino. Tenıa en su casa
83una ama que pasaba de los cuarenta , y una sobrina que no llegaba a los
84veinte , y un mozo de campo y plaza , que ası ensillaba el rocın como
85tomaba la podadera. Frisaba la edad de nuestro hidalgo con los
86cincuenta a~nos; era de complexion recia , seco de carnes , enjuto de
87rostro , gran madrugador y amigo de la caza. Quieren decir que tenıa el
88sobrenombre de Quijada , o Quesada , que en esto hay alguna diferencia
89en los autores que deste caso escriben; aunque , por conjeturas
90verosımiles , se deja entender que se llamaba Quejana. Pero esto
91importa poco a nuestro cuento; basta que en la narracion del no se
92salga un punto de la verdad.
93</text:p >
94<text:p text:style -name="Text_20_body">
95Es , pues , de saber que este sobredicho hidalgo , los ratos que
96estaba ocioso , que eran los mas del a~no , se daba a leer libros de
97caballerıas , con tanta aficion y gusto , que olvido casi de todo punto
98el ejercicio de la caza , y aun la administracion de su hacienda. Y
99llego a tanto su curiosidad y desatino en esto , que vendio muchas
100hanegas de tierra de sembradura para comprar libros de caballerıas en
101que leer , y ası , llevo a su casa todos cuantos pudo haber dellos; y de
102todos , ningunos le parecıan tan bien como los que compuso el famoso
103Feliciano de Silva , porque la claridad de su prosa y aquellas
104entricadas razones suyas le parecıan de perlas , y mas cuando llegaba a
105leer aquellos requiebros y cartas de desafıos , donde en muchas partes
106hallaba escrito: La razon de la sinrazon que a mi razon se hace , de
107tal manera mi razon enflaquece , que con razon me quejo de la vuestra
108fermosura. Y tambien cuando leıa: ... los altos cielos que de vuestra
109divinidad divinamente con las estrellas os fortifican , y os hacen
Luis Fernando Llana Dıaz Departamento de Sistemas Informaticos y ComputacionUniversidad Complutense de Madrid
XML: breve introduccion a los servicios Web
Formato Open Document Format (odt) VI
110merecedora del merecimiento que merece la vuestra grandeza.
111</text:p >
112<text:p text:style -name="Text_20_body">
113Con estas razones perdıa el pobre caballero el juicio , y
114desvelabase por entenderlas y desentra~narles el sentido , que no se lo
115sacara ni las entendiera el mesmo Aristoteles , si resucitara para solo
116ello. No estaba muy bien con las heridas que don Belianıs daba y
117recebıa , porque se imaginaba que , por grandes maestros que le hubiesen
118curado , no dejarıa de tener el rostro y todo el cuerpo lleno de
119cicatrices y se~nales. Pero , con todo , alababa en su autor aquel acabar
120su libro con la promesa de aquella inacabable aventura , y muchas veces
121le vino deseo de tomar la pluma y dalle fin al pie de la letra , como
122allı se promete; y sin duda alguna lo hiciera , y aun saliera con ello ,
123si otros mayores y continuos pensamientos no se lo estorbaran. Tuvo
124muchas veces competencia con el cura de su lugar -que era hombre
125docto , graduado en Siguenza -, sobre cual habıa sido mejor caballero:
126Palmerın de Ingalaterra o Amadıs de Gaula; mas maese Nicolas , barbero
127del mesmo pueblo , decıa que ninguno llegaba al Caballero del Febo , y
128que si alguno se le podıa comparar , era don Galaor , hermano de Amadıs
129de Gaula , porque tenıa muy acomodada condicion para todo; que no era
130caballero melindroso , ni tan lloron como su hermano , y que en lo de la
131valentıa no le iba en zaga.
132</text:p >
133</office:text >
134</office:body >
135</office:document -content >
Luis Fernando Llana Dıaz Departamento de Sistemas Informaticos y ComputacionUniversidad Complutense de Madrid
XML: breve introduccion a los servicios Web
Formato Scalable Vector Graphics (svg) I
Luis Fernando Llana Dıaz Departamento de Sistemas Informaticos y ComputacionUniversidad Complutense de Madrid
XML: breve introduccion a los servicios Web
Formato Scalable Vector Graphics (svg) II
1<?xml version="1.0" encoding="UTF -8" standalone="no"?>
2<!-- Created with Inkscape (http: // www.inkscape.org /) -->
3<svg
4xmlns:dc="http: //purl.org/dc/elements /1.1/"
5xmlns:cc="http: //web.resource.org/cc/"
6xmlns:rdf="http://www.w3.org /1999/02/22 -rdf -syntax -ns#"
7xmlns:svg="http://www.w3.org /2000/ svg"
8xmlns="http://www.w3.org /2000/ svg"
9xmlns:sodipodi="http:// sodipodi.sourceforge.net/DTD/sodipodi -0. dtd"
10xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
11width="210mm"
12height="297mm"
13id="svg2"
14sodipodi:version="0.32"
15inkscape:version="0.44.1"
16sodipodi:docbase="/home/luis/docencia/Java06 -07/ transparencias/XML"
17sodipodi:docname="dibujo.svg"
18inkscape:export -filename="/home/luis/docencia/Java06 -07/ transparencias/XML/dibujo.png"
19inkscape:export -xdpi="90"
20inkscape:export -ydpi="90">
21<defs
22id="defs4" />
23<sodipodi:namedview
24id="base"
25pagecolor="#ffffff"
26bordercolor="#666666"
27borderopacity="1.0"
Luis Fernando Llana Dıaz Departamento de Sistemas Informaticos y ComputacionUniversidad Complutense de Madrid
XML: breve introduccion a los servicios Web
Formato Scalable Vector Graphics (svg) III
28inkscape:pageopacity="0.0"
29inkscape:pageshadow="2"
30inkscape:zoom="2.7766144"
31inkscape:cx="344.20917"
32inkscape:cy="791.81311"
33inkscape:document -units="px"
34inkscape:current -layer="layer1"
35inkscape:window -width="1272"
36inkscape:window -height="944"
37inkscape:window -x="0"
38inkscape:window -y="0" />
39<metadata
40id="metadata7">
41<rdf:RDF >
42<cc:Work
43rdf:about="">
44<dc:format >image/svg+xml</dc:format >
45<dc:type
46rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
47</cc:Work >
48</rdf:RDF >
49</metadata >
50<g
51inkscape:label="Capa 1"
52inkscape:groupmode="layer"
53id="layer1">
54<rect
55style="fill:blue;fill -opacity:1;fill -rule:evenodd;stroke:black;stroke -width:1px;stroke -linecap:butt;stroke -linejoin:miter;stroke -opacity:1"
Luis Fernando Llana Dıaz Departamento de Sistemas Informaticos y ComputacionUniversidad Complutense de Madrid
XML: breve introduccion a los servicios Web
Formato Scalable Vector Graphics (svg) IV
56id="rect1871"
57width="220.72549"
58height="252.05428"
59x="185.1246"
60y="213.60532" />
61<path
62style="fill:#c83737;fill -opacity:1;fill -rule:evenodd;stroke:black;stroke -width:1px;stroke -linecap:butt;stroke -linejoin:round;stroke -opacity:1"
63d="M 184.99964 ,213.40085 L 405.96018 ,213.4385 L 297.91558 ,90.454429 L 184.99964 ,213.40085 z "
64id="path3693"
65sodipodi:nodetypes="cccc" />
66<rect
67style="opacity:0 .98000004; fill:yellow;fill -opacity:1;stroke -linejoin:round"
68id="rect4580"
69width="38.231209"
70height="47.789009"
71x="216.84264"
72y="243.53319" />
73<rect
74style="opacity:0 .98000004; fill:yellow;fill -opacity:1;stroke -linejoin:round"
75id="rect4582"
76width="34.647034"
77height="54.360001"
78x="334.52307"
79y="279.37494" />
80<rect
81style="opacity:0 .98000004; fill:yellow;fill -opacity:1;stroke -linejoin:round"
82id="rect4584"
83width="60.930988"
Luis Fernando Llana Dıaz Departamento de Sistemas Informaticos y ComputacionUniversidad Complutense de Madrid
XML: breve introduccion a los servicios Web
Formato Scalable Vector Graphics (svg) V
84height="78.254501"
85x="264.03427"
86y="388.09494" />
87</g>
88</svg>
Luis Fernando Llana Dıaz Departamento de Sistemas Informaticos y ComputacionUniversidad Complutense de Madrid
XML: breve introduccion a los servicios Web
Ventajas e inconvenientes
Pros
Facilidad para el uso automatico.
Facilidad para transformacion de datos.
Cons
Potencia de calculo.
Consumo de memoria.
Luis Fernando Llana Dıaz Departamento de Sistemas Informaticos y ComputacionUniversidad Complutense de Madrid
XML: breve introduccion a los servicios Web
Tratamiento automatico de datos
Luis Fernando Llana Dıaz Departamento de Sistemas Informaticos y ComputacionUniversidad Complutense de Madrid
XML: breve introduccion a los servicios Web
Definicion de documento XML
Fichero xml/resumenValor.dtd
1<?xml version="1.0" encoding="iso -8859 -15" ?>
2<!ELEMENT valor (nombre , dato*)>
3<!ELEMENT dato (# PCDATA)>
4<!ATTLIST dato fecha CDATA #REQUIRED >
Datos:
1<?xml version="1.0" encoding="iso -8859 -15" ?>
2<!DOCTYPE valor SYSTEM "/home/luis/WEB/aplicaciones/hola/xml/resumenValor.dtd">
3<valor ><nombre >Endesa </nombre >
4<dato fecha="01/01/2007" >35 ,8300</dato>
5<dato fecha="02/01/2007" >35 ,5700</dato>
6<dato fecha="03/01/2007" >35 ,4000</dato>
7<dato fecha="04/01/2007" >35 ,5500</dato>
8<dato fecha="05/01/2007" >35 ,3000</dato>
9<dato fecha="08/01/2007" >35 ,2100</dato>
10<dato fecha="09/01/2007" >35 ,4400</dato>
11<dato fecha="10/01/2007" >36 ,4800</dato>
12<dato fecha="11/01/2007" >37 ,1300</dato>
13.................................
14<dato fecha="31/01/2007" >38 ,5700</dato>
15</valor >
Luis Fernando Llana Dıaz Departamento de Sistemas Informaticos y ComputacionUniversidad Complutense de Madrid
XML: breve introduccion a los servicios Web
XSL a HTML I
Fichero datosValorHTML.xsl
1<?xml version="1.0" encoding="ISO -8859 -15"?>
2<!-- $Id: transparencias .tex ,v 1.3 2007 -05 -21 17 :32:46 luis Exp $ -->
3<xsl:stylesheet
4xmlns:xsl="http://www.w3.org /1999/ XSL/Transform"
5xmlns="http://www.w3.org/TR/html4"
6version="1.0"
7>
89<xsl:output method="html" />
10<xsl:template match="/" >
11<xsl:apply -templates />
12</xsl:template >
13<xsl:template match="valor" >
14<table >
15<tr><th>Fecha </th><th>Precio </th></tr>
16<xsl:for -each select="//dato">
17<tr>
18<xsl:choose >
19<xsl:when test="position () mod 2 = 0">
20<xsl:attribute name="class">par</xsl:attribute >
21</xsl:when >
22<xsl:when test="position () mod 2 = 1">
23<xsl:attribute name="class">impar </xsl:attribute >
24</xsl:when >
25</xsl:choose >
Luis Fernando Llana Dıaz Departamento de Sistemas Informaticos y ComputacionUniversidad Complutense de Madrid
XML: breve introduccion a los servicios Web
XSL a HTML II
26<td><xsl:value -of select="@fecha"/></td><td><xsl:value -of select="."/></td>
27</tr>
2829</xsl:for -each>
30</table >
31</xsl:template >
32</xsl:stylesheet >
Resultado
1<h1 >Datos de Endesa entre el 01/01/2007 y el fin 31/01/2007 </h1>
2<table xmlns="http :// www.w3.org/TR/html4">
3<tr>
4<th>Fecha </th>
5<th>Precio </th>
6</tr>
7<tr class="impar">
8<td>01/01/2007 </td>
9<td>35 ,8300</td>
10</tr>
11<tr class="par">
12<td>02/01/2007 </td>
1314<td>35 ,5700</td>
15</tr>
16<tr class="impar">
17<td>03/01/2007 </td>
Luis Fernando Llana Dıaz Departamento de Sistemas Informaticos y ComputacionUniversidad Complutense de Madrid
XML: breve introduccion a los servicios Web
XSL a HTML III
18<td>35 ,4000</td>
19</tr>
20<tr class="par">
21<td>04/01/2007 </td>
22<td>35 ,5500</td>
23</tr>
24<tr class="impar">
25<td>05/01/2007 </td>
26..........................
27<tr class="impar">
28<td>31/01/2007 </td>
2930<td>38 ,5700</td>
31</tr>
32</table >
Luis Fernando Llana Dıaz Departamento de Sistemas Informaticos y ComputacionUniversidad Complutense de Madrid
XML: breve introduccion a los servicios Web
XSL a LATEX I
Fichero datosValorLaTeX.xsl
1<?xml version="1.0" encoding="ISO -8859 -15"?>
2<!-- $Id: transparencias .tex ,v 1.3 2007 -05 -21 17 :32:46 luis Exp $ -->
3<xsl:stylesheet
4xmlns:xsl="http://www.w3.org /1999/ XSL/Transform"
5xmlns="http://www.w3.org/TR/html4"
6version="1.0"
7>
89<xsl:output method="text" />
10<xsl:param name="valor" />
11<xsl:param name="fechaIni" />
12<xsl:param name="fechaFin" />
13<xsl:template match="/" >
14\def\valor{<xsl:value -of select="$valor"/>}
15\def\fechaIni{<xsl:value -of select="$fechaIni"/>}
16\def\fechaFin{<xsl:value -of select="$fechaFin"/>}
17<xsl:apply -templates />
18</xsl:template >
19<xsl:template match="valor" >
20\section *{<xsl:value -of select="nombre"/>}
21\begin{longtable }{cr}
22Fecha & Precio \\\ hline\endhead
23<xsl:for -each select="//dato">
24<xsl:choose >
25<xsl:when test="position () mod 2 = 0">
Luis Fernando Llana Dıaz Departamento de Sistemas Informaticos y ComputacionUniversidad Complutense de Madrid
XML: breve introduccion a los servicios Web
XSL a LATEX II
26\filaPar
27</xsl:when >
28<xsl:when test="position () mod 2 = 1">
29\filaImpar
30</xsl:when >
31</xsl:choose >
32<xsl:value -of select="@fecha"/> & <xsl:value -of select="."/>\\
33</xsl:for -each>
34\end{longtable}
35</xsl:template >
36</xsl:stylesheet >
12\def\valor{Endesa}
3\def\fechaIni {01/01/2007}
4\def\fechaFin {31/01/2007}
56\section *{ Endesa}
7\begin{longtable }{cr}
8Fecha & Precio \\\ hline\endhead
910\filaImpar
1101/01/2007 & 35 ,8300\\
1213\filaPar
1402/01/2007 & 35 ,5700\\
15
Luis Fernando Llana Dıaz Departamento de Sistemas Informaticos y ComputacionUniversidad Complutense de Madrid
XML: breve introduccion a los servicios Web
XSL a LATEX III
16\filaImpar
1703/01/2007 & 35 ,4000\\
1819\filaPar
2004/01/2007 & 35 ,5500\\
2122...................................
23...................................
24\filaImpar
2531/01/2007 & 38 ,5700\\
2627\end{longtable}
Luis Fernando Llana Dıaz Departamento de Sistemas Informaticos y ComputacionUniversidad Complutense de Madrid
XML: breve introduccion a los servicios Web
Generacion de XML
1public class DatosValorXML {
2private String path;
3private int valor;
4private Date fechaIni , fechaFin;
5private Connection con;
6.......
7.......
8public String datos () throws SQLException {
9String nombreValor = null;
10PreparedStatement pstmt =
11con.prepareStatement("select valores.nombre , datos.fecha , datos.precio "+
12"from datos left join valores on valores.id=datos.valor "+
13"where datos.valor =? and datos.fecha >=? and datos.fecha <=?");
14pstmt.setInt(1,valor ); pstmt.setDate(2,fechaIni ); pstmt.setDate(3,fechaFin );
15ResultSet rs = pstmt.executeQuery ();
16StringBuffer datos = new StringBuffer ();
17SimpleDateFormat df = new SimpleDateFormat("dd/MM/yyyy");
18DecimalFormat nf = new DecimalFormat("# ,###.0000");
19while (rs.next ()) {
20if (nombreValor ==null)
21nombreValor = rs.getString("valores.nombre");
22datos.append(Tags.tag(xml_dato ,Tags.attribute(xml_fecha ,df.format(rs.getDate("datos.fecha"))),
23nf.format(rs.getDouble("datos.precio"))));
24}
25return cabecera ()+ Tags.tag(xml_valor ,"",
26Tags.tag(xml_nombre ,"",nombreValor )+
27datos ,true);
28}
29}
Luis Fernando Llana Dıaz Departamento de Sistemas Informaticos y ComputacionUniversidad Complutense de Madrid
XML: breve introduccion a los servicios Web
Transformacion HTML
1public class DatosValor extends HttpServlet {
2................
3................
4protected String muestraDatos(ValorFechas vf ,HttpServletRequest request ,
5HttpServletResponse response ,
6Connection con)
7throws ServletException , SQLException ,
8ParserConfigurationException ,SAXException ,IOException ,
9TransformerConfigurationException ,TransformerException{
10DatosValorXML dv = new DatosValorXML(vf.getValor(),
11new java.sql.Date(vf.getIni (). getTime ()),
12new java.sql.Date(vf.getFin (). getTime ()),
13getServletContext (). getRealPath("."),
14con);
15.....................
16.....................
17String ficheroXSL=getServletContext (). getRealPath("xml/datosValorHTML.xsl");
18TransformerFactory xsltFactory = TransformerFactory.newInstance ();
19Templates xsltTemplate = xsltFactory.newTemplates(new StreamSource(ficheroXSL ));
20Transformer transf = xsltTemplate.newTransformer ();
2122CharArrayWriter datos = new CharArrayWriter ();
23transf.transform(new DOMSource(docDV),new StreamResult (datos ));
2425response.setContentType("text/html");
26return Tags.h(1,"","Datos de "+nombre+" entre el "+ini+" y el fin "+fin)+
27datos.toString ();
28}
29}
Luis Fernando Llana Dıaz Departamento de Sistemas Informaticos y ComputacionUniversidad Complutense de Madrid
XML: breve introduccion a los servicios Web
Transformacion PDF (vıa LATEX) I
1public class DatosValorPDF extends DatosValor {
2...........................
3public String muestraDatos(ValorFechas vf ,
4HttpServletRequest request ,
5HttpServletResponse response ,
6Connection con)
7throws ServletException , IOException , SQLException , ParserConfigurationException ,
8SAXException , IOException , TransformerConfigurationException , TransformerException {
9String directorio = getDirLaTeX ();
10generaContenido(vf ,
11getServletContext (). getRealPath(directorio+"/"+strContenido),
12request ,response ,con);
13int term = compilaLaTeX(directorio ,strFicheroLaTeX );
14response.setContentType("application/pdf");
15ServletOutputStream out = response.getOutputStream ();
16out.println(IncluyeFichero.incluye(getServletContext (). getRealPath(directorio+"/"+strFicheroLaTeX+".pdf")));
17borraDir(directorio );
18return "";
19}
2021private void generaContenido(ValorFechas vf , String fich ,
22HttpServletRequest request ,
23HttpServletResponse response ,
24Connection con)
25throws ServletException , SQLException , ParserConfigurationException ,
26SAXException , IOException , TransformerConfigurationException , TransformerException {
27.............................
Luis Fernando Llana Dıaz Departamento de Sistemas Informaticos y ComputacionUniversidad Complutense de Madrid
XML: breve introduccion a los servicios Web
Transformacion PDF (vıa LATEX) II
28.............................
29String ficheroXSL=getServletContext (). getRealPath("xml/datosValorLaTeX.xsl");
30TransformerFactory xsltFactory = TransformerFactory.newInstance ();
31Templates xsltTemplate = xsltFactory.newTemplates(new StreamSource(ficheroXSL ));
32Transformer transf = xsltTemplate.newTransformer ();
33transf.setParameter("valor",nombre );
34transf.setParameter("fechaIni",ini);
35transf.setParameter("fechaFin",fin);
36transf.transform(new DOMSource(docDV),new StreamResult (fich ));
37}
38}
Luis Fernando Llana Dıaz Departamento de Sistemas Informaticos y ComputacionUniversidad Complutense de Madrid
XML: breve introduccion a los servicios Web
Servicios Web
¿Que ocurre cuando el cliente no es un humano?http://weather.noaa.gov/pub/data/observations/metar/stations/LEMD.TXT
12007/05/22 16:00
2LEMD 221600Z 04003 KT 340 V100 9999 FEW025TCU SCT045 BKN200 23/13 Q1012 NOSIG
Luis Fernando Llana Dıaz Departamento de Sistemas Informaticos y ComputacionUniversidad Complutense de Madrid
XML: breve introduccion a los servicios Web
Servicios Web
¿Que ocurre cuando el cliente no es un humano?http://weather.noaa.gov/pub/data/observations/metar/stations/LEMD.TXT
12007/05/22 16:00
2LEMD 221600Z 04003 KT 340 V100 9999 FEW025TCU SCT045 BKN200 23/13 Q1012 NOSIG
Luis Fernando Llana Dıaz Departamento de Sistemas Informaticos y ComputacionUniversidad Complutense de Madrid
XML: breve introduccion a los servicios Web
Servicios Web
Quiero sumar 2 y 3
1<?xml version="1.0" ?>
2<methodCall >
3<methodName >Calculator.add</methodName >
4<params >
5<param ><value ><int>2</int></value ></param >
6<param ><value ><int>3</int></value ></param >
7</params >
8</methodCall >
El resultado es 5
1<?xml version="1.0" encoding="UTF -8"?>
2<methodResponse xmlns:ex="http: //ws.apache.org/xmlrpc/namespaces/extensions">
3<params >
4<param ><value ><i4>5</i4></value ></param >
5</params >
6</methodResponse >
Luis Fernando Llana Dıaz Departamento de Sistemas Informaticos y ComputacionUniversidad Complutense de Madrid
XML: breve introduccion a los servicios Web
Servicios Web
Quiero sumar 2 y 3
1<?xml version="1.0" ?>
2<methodCall >
3<methodName >Calculator.add</methodName >
4<params >
5<param ><value ><int>2</int></value ></param >
6<param ><value ><int>3</int></value ></param >
7</params >
8</methodCall >
El resultado es 5
1<?xml version="1.0" encoding="UTF -8"?>
2<methodResponse xmlns:ex="http: //ws.apache.org/xmlrpc/namespaces/extensions">
3<params >
4<param ><value ><i4>5</i4></value ></param >
5</params >
6</methodResponse >
Luis Fernando Llana Dıaz Departamento de Sistemas Informaticos y ComputacionUniversidad Complutense de Madrid
XML: breve introduccion a los servicios Web