2011-11-10 2 views
0

Je procède à une transformation côté client. Je veux utiliser XSLT pour prendre une valeur de XML et le placer comme texte par défaut dans une zone de texte et cela ne fonctionne PAS. J'ai un fichier appelé AddNewBlog.aspx qui est en fait un fichier XML. Il inclut un fichier appelé AddNewBlogXSL.aspx qui fournit le XSL pour une transformation côté client.Côté client XSLT La transformation ne fournit pas la valeur de la zone de texte

En AddNewBlogXSL.aspx je

<label for="Oohrl" id="OohrlLabel">Oohrl:</label> 
<input name="ctl00$RightColumn$Oohrl" 
type="text" value="{/oohru/form/oohrl}" 
id="Oohrl" class="textEntry"/> 
<br/> 
<div id="validateOohrl"/> 
    <label for="Description" id="DescriptionLabel">Description:</label> 
    <textarea name="ctl00$RightColumn$Description" 
    rows="4" cols="50" id="Description"> 
     {/oohru/form/desc} 
    </textarea> 

Si elle aide ici est le titre d'information pour le fichier XSL

<xsl:stylesheet version="1.0"><xsl:strip-space elements="*"/><!-- 
Type Num 
1=want 
2=have 
3=sell 
--><xsl:output method="html" indent="yes" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"/><xsl:template match="/"> 

Mon XML a cette

<oohru> 
    <form> 
     <desc>asdf</desc> 
     <title>a</title> 
     <oohrl>jordie</oohrl> 
    </form> 
</oohru> 

Le titre de c'est

<?xml version="1.0" encoding="ISO-8859-1"?> 
<?xml-stylesheet type="text/xsl" href="AddNewBlogXSL.aspx"?> 

oohrl finit par peuplant la valeur correcte mais pour desc j'obtenir juste « {/ oohru/form/desc} »

La construction semble seulement être un problème pour les zones de texte

Mise à jour: Il ne semble y avoir un problème avec les contrôles de la zone texte asp.net ...

<asp:TextBox id="Description" TextMode="MultiLine" 
Columns="50" Rows="4" runat="server" 
ClientIDMode="Static"><xsl:value-of select="/oohru/form/desc" /> 
    </asp:TextBox> 

met la valeur littérale

dans la boîte sur la page

alors

<textarea rows="5" cols="5"><xsl:value-of select="/oohru/form/desc" /></textarea> 

place la valeur correcte réelle dans la zone de texte ....

+2

Ce n'est pas votre code qui est faux, c'est la façon dont vous l'exécutez (ou ne l'exécutez pas). Ce dont tu ne nous as rien dit. –

+0

Espérons que cela aide à clarifier la façon dont je l'utilise. La transformation côté client avec ce fichier étant inclus en tant que feuille XSL – Jordan

Répondre

0

Les situations les plus courantes que je peux penser à cela causerait qui sont

  1. Vous ne l'avez pas réellement exécuté à travers un processeur XSLT. Je vais à supposons que vous avez!
  2. Vous avez indûment déclaré l'espace de noms XSLT. Assurez vous que vous avez quelque chose comme ça en haut de votre stylesheet:

    <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

Rappelez-vous que le préfixe est juste une représentation de l'espace de noms lui-même. Ce nom d'espace de noms doit être exactement comme je l'ai fourni ci-dessus.

+0

Il est dit pour # 2 assurez-vous que vous avez quelque chose comme ça en haut de votre feuille de style et je vois juste "..." Je pense qu'il doit être dans un bloc de code vous alliez dire – Jordan

+0

Voici le haut de ma feuille de style ' ' – Jordan

+0

Hmmm Vous ne savez pas pourquoi mon exemple ne s'affichait pas Forced it Votre feuille de style souffre d'erreur 2 - vous devez déclarer l'espace de noms xsl. –

Questions connexes