33bits
Una ayudita con el jodido XML por favor - Versión para impresión

+- 33bits (https://33bits.net/foro)
+-- Foro: Temas de debate (https://33bits.net/foro/Foro-Temas-de-debate)
+--- Foro: Off Topic (https://33bits.net/foro/Foro-Off-Topic)
+--- Tema: Una ayudita con el jodido XML por favor (/Tema-Una-ayudita-con-el-jodido-XML-por-favor)



Una ayudita con el jodido XML por favor - Tolo - 02-06-2014

Pues eso, XML me está trayendo por la calle de la amargura. Tengo que hacerle un schema a este código XML:

Código:
<?xml version="1.0" encoding="ISO-8859-1"?>
<Libro xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="enunciado2.xsd">
<Titulo>Java y XML</Titulo>
<Contenido>

          <Capitulo materia="XML">
┬á ┬á ┬á ┬á ┬á  <Tema>INTRODUCCION</Tema>
┬á ┬á ┬á ┬á ┬á  <Seccion apartados="7">Qué es</Seccion>
┬á ┬á ┬á ┬á ┬á  <Seccion apartados="3">Cómo se usa</Seccion>
          </Capitulo>

          <Capitulo materia="XML">
┬á ┬á ┬á ┬á ┬á  <Tema>CREANDO XML</Tema>
┬á ┬á ┬á ┬á ┬á  <Seccion apartados="0">Un documento XML</Seccion>
┬á ┬á ┬á ┬á ┬á  <Seccion apartados="2">La cabecera</Seccion>
┬á ┬á ┬á ┬á ┬á  <Seccion apartados="6">El contenido</Seccion>
          </Capitulo>

          <Capitulo>
┬á ┬á ┬á ┬á ┬á  <Tema>ANALIZANDO XML</Tema>
┬á ┬á ┬á ┬á ┬á  <Seccion apartados="3">Preparación</Seccion>
┬á ┬á ┬á ┬á ┬á  <Seccion apartados="3" dificil="true">SAX</Seccion>
┬á ┬á ┬á ┬á ┬á  <Seccion apartados="9" dificil="true">Manejadores</Seccion>
┬á ┬á ┬á ┬á ┬á  <Seccion apartados="0">Una forma mejor de cargar el analizador</Seccion>
          </Capitulo>

          <Separacion/>

          <Capitulo materia="Java">
┬á ┬á ┬á ┬á ┬á  <Tema>JDOM</Tema>
┬á ┬á ┬á ┬á ┬á  <Seccion apartados="2">Introducción</Seccion>
┬á ┬á ┬á ┬á ┬á  <Seccion apartados="4" dificil="true">DOM&JDOM</Seccion>
          </Capitulo>
 
</Contenido>

<Copyright>OReillyCopyright</Copyright>

</Libro>

Una de las restricciones es que el Título de los libros debe ser en mayúsculas y hasta 25 caracteres, teniendo en cuenta que hay espacios en blanco. Si no tuviera espacios en blanco me hubiera bastado con esto:

Código:
<xsd:simpleType> 
                  <xsd:restriction base="xsd:token">
                          <xsd:pattern value="[A-Z]{25}" />
┬á ┬á ┬á ┬á ┬á ┬á ┬á ┬á ┬á  </xsd:restriction>┬á ┬á ┬á ┬á ┬á  
┬á ┬á ┬á ┬á  </xsd:simpleType>

Pero el XML tiene espacios en blanco. No tengo ni puta idea sobre como tratarlos, así que cualquier aportación es bienvenida.
Gracias shurmanus por vuestro tiempo.


Re:Una ayudita con el jodido XML por favor - Lamont - 02-06-2014

Nunca he trabajado con XML, pero leyéndote creo que tu problema no es con XML sino que se basa en encontrar una expresión regular para los títulos, ¿me equivoco?

En ese caso, prueba con lo siguiente:

Código:
[A-Z0-9\s]{1,25}

He metido números porque imagino que también deberás tenerlos en cuenta, pero si no los quitas y listo. Breve explicación:

A-Z busca cualquier letra mayúscula.
0-9 busca cualquier dígito.
\s busca cualquier espacio en blanco.
{1,25} busca entre 1 y 25 caracteres.

Tu expresión, a parte de sólo buscar letras mayúsculas y no espacios en blanco, sólo coincidirá cuando el título tenga exactamente 25 caracteres.


Re:Una ayudita con el jodido XML por favor - Tolo - 02-06-2014

(02-06-2014 14:50)Lamont link escribió:Nunca he trabajado con XML, pero leyéndote creo que tu problema no es con XML sino que se basa en encontrar una expresión regular para los títulos, ¿me equivoco?

En ese caso, prueba con lo siguiente:

Código:
[A-Z0-9\s]{1,25}

He metido números porque imagino que también deberás tenerlos en cuenta, pero si no los quitas y listo. Breve explicación:

A-Z busca cualquier letra mayúscula.
0-9 busca cualquier dígito.
\s busca cualquier espacio en blanco.
{1,25} busca entre 1 y 25 caracteres.

Tu expresión, a parte de sólo buscar letras mayúsculas y no espacios en blanco, sólo coincidirá cuando el título tenga exactamente 25 caracteres.

No sabes la de quebraderos de cabeza que te ahorras XD
Muchas gracias, porque me has solucionado mi problema aunque ahora me ha aparecido otro:

Error at line 34, column 53: unexpected meta character


Re:Una ayudita con el jodido XML por favor - Lamont - 02-06-2014

¿Esa línea cuál es?


Re:Una ayudita con el jodido XML por favor - Tolo - 02-06-2014

(02-06-2014 15:11)Lamont link escribió:¿Esa línea cuál es?

Ésta al parecer:

<Seccion apartados="4" dificil="true">DOM&JDOM</Seccion>


Re:Una ayudita con el jodido XML por favor - Lamont - 02-06-2014

Tiene pinta de que el problema lo causa el ampersand, pero no te puedo decir mucho más.


Re:Una ayudita con el jodido XML por favor - Tolo - 02-06-2014

(02-06-2014 15:55)Lamont link escribió:Tiene pinta de que el problema lo causa el ampersand, pero no te puedo decir mucho más.

Eso es lo que yo pensé, pero ni quitándolo del XML me valida. Gracias por tu tiempo Wink


Re:Una ayudita con el jodido XML por favor - Tolo - 03-06-2014

Señores, pueden cerrar el hilo, ya pude hacer que funcionara Wink


Re:Una ayudita con el jodido XML por favor - Lamont - 03-06-2014

(03-06-2014 23:54)Tolo link escribió:Señores, pueden cerrar el hilo, ya pude hacer que funcionara Wink

Pero da la solución, hombre, no vaya a ser que alguien algún día tenga un problema similar mola