Una ayudita con el jodido XML por favor
#1
Cita
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.
#2
Cita
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.
#3
Cita
(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
#4
Cita
¿Esa línea cuál es?
#5
Cita
(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>
#6
Cita
Tiene pinta de que el problema lo causa el ampersand, pero no te puedo decir mucho más.
#7
Cita
(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
#8
Cita
Señores, pueden cerrar el hilo, ya pude hacer que funcionara Wink
#9
Cita
(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


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)