Problema con etiquetas XML/XSL
Publicado por DiGEON (2 intervenciones) el 30/08/2005 12:47:29
Muy buenas, os comento en problemilla que tengo exactamente. Es relativamente sencillo pero no encuentro la forma de conseguir lo que quiero y ya no se como hacerlo, he probado varias declaraciones de la dtd.
Fichero DTD:
...
< ! ELEMENT parrafo (texto|cursiva|negrita|link) * >
< ! ELEMENT texto (#PCDATA) >
< ! ELEMENT cursiva (#PCDATA) >
< ! ELEMENT negrita (#PCDATA) >> ...
Fichero XML:
...
< parrafo>
<texto >Pues esto no es mas que otra prueba mas</texto >
<negrita >N para ver q tal va todo esto</negrita >
<texto >Mas texto para que lo flipes</texto >
</parrafo > ...
Fichero XSL:
...
<xsl:for-each select="documento/parrafo">
<xsl:for-each select="texto">
<xsl:value-of select="."/>
<strong>
<xsl:value-of select="../negrita"/>
</strong>
<em>
<xsl:value-of select="../cursiva"/>
</em>
</xsl:for-each>
</xsl:for-each>...
Pues bien lo que yo deseo conseguir es exactamente que el texto que yo escriba aparezca en orden, es deicr, texto normal, texto negrita, texto normal, etc ... no se si la declaracion de la dtd deberia de ser de otra forma, pero lo que hace es poner todas las etiquetas texto y a continuacion las cursiva o las negritas ... sin respetar el orden del documento xml.
Muchas gracias de antemano, un saludo.
Fichero DTD:
...
< ! ELEMENT parrafo (texto|cursiva|negrita|link) * >
< ! ELEMENT texto (#PCDATA) >
< ! ELEMENT cursiva (#PCDATA) >
< ! ELEMENT negrita (#PCDATA) >> ...
Fichero XML:
...
< parrafo>
<texto >Pues esto no es mas que otra prueba mas</texto >
<negrita >N para ver q tal va todo esto</negrita >
<texto >Mas texto para que lo flipes</texto >
</parrafo > ...
Fichero XSL:
...
<xsl:for-each select="documento/parrafo">
<xsl:for-each select="texto">
<xsl:value-of select="."/>
<strong>
<xsl:value-of select="../negrita"/>
</strong>
<em>
<xsl:value-of select="../cursiva"/>
</em>
</xsl:for-each>
</xsl:for-each>...
Pues bien lo que yo deseo conseguir es exactamente que el texto que yo escriba aparezca en orden, es deicr, texto normal, texto negrita, texto normal, etc ... no se si la declaracion de la dtd deberia de ser de otra forma, pero lo que hace es poner todas las etiquetas texto y a continuacion las cursiva o las negritas ... sin respetar el orden del documento xml.
Muchas gracias de antemano, un saludo.
Valora esta pregunta


0