2009-09-25 9 views
9

Ver xslt to operate on element value before displaying? para el XML y XSL originales. Recibí una respuesta a mi pregunta allí.XSL: ¿Cómo asigno el valor de un elemento XML a una variable (cambio mínimo a la página siguiente)?

Mi otra pregunta en this same XML/XSL es: si quisiera capturar el valor de un elemento (como el elemento "título") en una variable local XSL, y luego operarlo, ¿cómo puedo capturar ese valor y asignarlo a una variable? Tengo la sensación de que tiene algo que ver con XSL "param", pero no estoy seguro.

Así, en that same code, lo que es lo mínimo cambio en el XSL por lo que voy a tener el valor de título en una variable?

Respuesta

12

Utiliza la instrucción xsl: variable para crear una variable. Cualquiera de las siguientes funcionará

<xsl:variable name="cdtitle"><xsl:value-of select="title"/></xsl:variable> 
<xsl:variable name="cdtitle" select="title"/> 

Ellos declaración en este caso tendría que ser dentro del bucle.

Para usar la variable, puede hacer esto, suponiendo que la variable está dentro del alcance.

<xsl:value-of select="$cdtitle"/> 

Tenga en cuenta que, a pesar del nombre, xsl: las variables no son variables. Una vez configurados, no pueden ser cambiados. Debería crear una nueva variable con un nuevo nombre si desea modificar el valor.

+0

Gracias. Así que aprendo todas las sintaxis comunes, ¿no hay también una sintaxis donde declaro la variable primero y luego establezco su valor? Con su comentario sobre eso, probablemente marque esto como la respuesta aceptada. En cualquier caso, busqué en su nota "xsl: las variables no son variables" y me doy cuenta de que tendré que leer, por ejemplo, "http://xml.apache.org/xalan-j/xsltc/xsl_variable_design.html "con cuidado para comprender todo acerca de las variables y parámetros xsl. – talkaboutquality

+0

www.w3schools.com es otro buen lugar para aprender sobre XSLT. Consulte http://www.w3schools.com/xsl/xsl_w3celementref.asp para obtener una lista de elementos XSLT, por ejemplo. –

+0

Ahora he probado ambas opciones y funcionan. Gracias por la respuesta y referencia xsl adicional. ¡Creo que estoy en camino ahora! – talkaboutquality

Cuestiones relacionadas