Reemplazar los fragmentos XML usando XSLT? -- xslt camp Relacionados El problema

Replace XML fragments using XSLT?


0
vote

problema

Español

Tengo este poco de XML:

  t-test0  

quiero esta salida:

  t-test1  

Este es el XSLT que estoy usando en este momento:

  t-test2  

... lo que produce esta la salida:

  t-test3  

¿Cómo elimino los prefijos y los atributos de espacio de nombres de la salida? ¿O hay una mejor manera de hacer esto?

Original en ingles

I've got this bit of XML:

<?xml version="1.0" encoding="UTF-8"?> <photo-caption>     <p>         <?EM-dummyText caption?>         <ld pattern=" "/>         <s2>Photo </s2>         <source>             <?EM-dummyText photographer?>         </source>     </p> </photo-caption> 

I want this output:

<?xml version="1.0" encoding="UTF-8"?> <photo-caption>       <p>         <s2><?EM-dummyText heading?></s2>         <?EM-dummyText caption?>       </p> </photo-caption> 

This is the XSLT I'm using at the moment:

<xsl:stylesheet version="1.0"      exclude-result-prefixes="subst"      xmlns:xsl="http://www.w3.org/1999/XSL/Transform"      xmlns:subst="http://tempuri.org">     <xsl:strip-space elements="*"/>     <xsl:output method="xml" encoding="utf-8" indent="yes"/>     <subst:photo-caption>         <p>             <s2>                 <?EM-dummyText heading?>             </s2>             <?EM-dummyText caption?>         </p>     </subst:photo-caption>     <xsl:variable name="subst" select="document('')/*/subst:photo-caption"/>     <xsl:template match="photo-caption">         <xsl:copy-of select="$subst"/>     </xsl:template> </xsl:stylesheet> 

... which yields this the output:

<?xml version="1.0" encoding="utf-8"?> <subst:photo-caption xmlns:subst="http://tempuri.org" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">    <p>       <s2><?EM-dummyText heading?></s2><?EM-dummyText caption?>    </p> </subst:photo-caption> 

How do I remove the prefixes and namespace attributes from the output? Or is there a better way to do this?

  

Lista de respuestas

2
 
vote
vote
La mejor respuesta
 

Si simplemente desea generar ese fragmento, use

  data7  
 

If you simply want to output that fragment then use

<xsl:template match="photo-caption"> <photo-caption>       <p>         <s2>           <xsl:processing-instruction name="EM-dummyText">heading</xsl:processing-instruction>         </s2>         <xsl:processing-instruction name="EM-dummyText">caption</xsl:processing-instruction>       </p> </photo-caption> </xsl:template> 
 
 
   
   

Relacionados problema

147  XSLT obtener el último elemento  ( Xslt getting last element ) 
Estoy tratando de encontrar el último elemento en mi XML, que parece: <list> <element name="A" /> <element name="B" > <elem...

2  ¿Qué es un error de rayas?  ( What is a striping error ) 
Estoy tratando de convertir los datos XML de última.FM en RDF usando XSLT y estoy recibiendo este error: Error [http-8080-1] (rdfdefaulterrorhandler.java:40) ...

19  NET XML comenta en la documentación de la API  ( Net xml comment into api documentation ) 
¿Existe una forma fácil de producir documentación de estilo MSDN desde la salida Visual Studio XML? No soy suficiente paciente para configurar un buen XSLT p...

0  XML + XSLT -> XML con PHP [duplicado]  ( Xml xslt xml with php ) 
Esta pregunta ya tiene respuestas aquí : XSL que devuelve el XML sin cambios ...

2  Usando XSLT para encontrar nodos dados un conjunto de parámetros  ( Using xslt to find nodes given a set of parameters ) 
Perdón por el título: no estaba seguro de cómo escribirlo. Básicamente tengo un XML así: <countries> <country handle="bangladesh"/> <country hand...

10  Multiplica 2 números y luego suma  ( Multiply 2 numbers and then sum ) 
Estoy teniendo dificultades para tratar de hacer algo que parece que debería ser realmente fácil de hacer. Básicamente, quiero multiplicar 2 números en un nod...

1  Bucle a través de todos los atributos de un elemento XML en XSLT  ( Looping through all attributes of a xml element in xslt ) 
Estoy tratando de usar <xsl:for-each select="@*"> para agarrar todos los atributos de un elemento dado, pero cuando hago que mi declaración String var; cla...

3  Mueva sub nodos en los atributos de los padres con XSLT  ( Move sub nodes into parent attributes with xslt ) 
Tengo algunos XML que contiene registros y subcos secundarios, como este: <data> <record jsxid="id0x0b60fec0" ID="12429070" Created="2008-10-21T03:00:0...

0  Filtro XSL en Seleccionar  ( Xsl filter on select ) 
Me gustaría seleccionar todos los nodos descendiente pero "blog". Para el ejemplo, solo el subárbol debe aparecer en la salida. Estoy intentando este código X...

2  Encuentre el número de ocurrencias de una subcadena en una cadena en XSLT  ( Find the number of occurences of a substring in a string in xslt ) 
Estoy escribiendo un script para encontrar el número de ocurrencias de una subcadena en una cadena en XSLT. Está tomando demasiado tiempo cuando quiero atrave...




© 2022 respuesta.top Reservados todos los derechos. Centro de preguntas y respuestas reservados todos los derechos