XSLT de remplacer la valeur
J'ai un XML comme ceci
<?xml version="1.0" encoding="UTF-8"?>
<OMDefault xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<PrintDollarsAndCents>X</PrintDollarsAndCents>
<MailAddrLine1>Add1</MailAddrLine1>
<MailAddrLine2>Add2</MailAddrLine2>
</OMDefault>
Je voudrais avoir une transformation XSLT pour transformer le XML à ce
<?xml version="1.0" encoding="UTF-8"?>
<OMDefault xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<PrintDollarsAndCents>Y</PrintDollarsAndCents>
<MailAddrLine1>Add1</MailAddrLine1>
<MailAddrLine2>Add2</MailAddrLine2>
</OMDefault>
Veuillez notez que le 'X' se transforme en 'Y' si l'attribut est PrintDollarsAndCents et sa valeur est 'X'
Quelqu'un pourrait-il svp m'aider? Comme je suis très nouveau à ce XSLT chose.
Vous en remercie d'avance.
Votre sortie est identique à vos commentaires et je ne comprends pas votre "svp" avis sur la phrase. Pourriez-vous s'il vous plaît montrer ce que vous voulez voir comme une sortie lors de votre cas particulier est détecté dans l'entrée? Comment écririez-vous le cas particulier de la détection dans le pseudo-code?
Désolé pour l'erreur, il devrait être comme ceci <?xml version="1.0" encoding="UTF-8"?> <OMDefault xmlns:xsi="w3.org/2001/XMLSchema-instance"> <PrintDollarsAndCents>Y</PrintDollarsAndCents> <MailAddrLine1>Add 1</MailAddrLine1> <MailAddrLine2>Add2</MailAddrLine2> </OMDefault>
Désolé pour l'erreur, il devrait être comme ceci <?xml version="1.0" encoding="UTF-8"?> <OMDefault xmlns:xsi="w3.org/2001/XMLSchema-instance"> <PrintDollarsAndCents>Y</PrintDollarsAndCents> <MailAddrLine1>Add 1</MailAddrLine1> <MailAddrLine2>Add2</MailAddrLine2> </OMDefault>
OriginalL'auteur Duy Tran | 2013-07-10
Vous devez vous connecter pour publier un commentaire.
Fondamentalement, vous voulez une identité transformer, avec redéfinition des règles.
La transformation suivante
appliqué à votre entrée, produit le résultat:
Le premier modèle est une identité de transformation, qui copie le document d'entrée exactement.
Le deuxième modèle remplace les nœuds de texte avec une valeur de
X
que sont les enfants d'unPrintDollarsAndCents
modèle. Notez qu'il émet de la valeurY
au lieu de son contenu réel.Si j'ai quelque chose comme ceci <?xml version="1.0" encoding="UTF-8"?> <OMDefault xmlns:xsi="w3.org/2001/XMLSchema-instance"> <PrintDollarsAndCents>X</PrintDollarsAndCents> <MailAddrLine2>Add2</MailAddrLine2> </OMDefault> je voudrais avoir une transformation XSLT pour transformer le XML à ce <?xml version="1.0" encoding="UTF-8"?> <OMDefault xmlns:xsi="w3.org/2001/XMLSchema-instance"> <PrintDollarsAndCents>Y</PrintDollarsAndCents> <MailAddrLine1>Add 1</MailAddrLine1> <MailAddrLine2>Add2</MailAddrLine2> </OMDefault>
veuillez mettre à jour votre question ou demander un nouveau. Il est difficile de lire le code dans les commentaires.
Harpo, il y a une limite que je ne peux pas poster le tout. S'il vous plaît aller à ce lien stackoverflow.com/questions/17734294/xslt-match-and-replace Merci
OriginalL'auteur harpo