2012-01-06 11 views
5

ho la mia sorgente XML come qui di seguitotraducendo da una schema corde in un altro schema corde utilizzando XSLT

<contents> 
    <content>AuthorInformation</content> 
    <content>PersonInformation</content> 
    <content>PersonPersonalInformation</content> 
    <content>GurdianDetails</content> 
</contents> 

Vorrei trasformare sopra XML in

<contents> 
    <content>Author Information</content> 
    <content>Person Information</content> 
    <content>Person Personal Information</content> 
    <content>Gurdian Details</content> 
</contents> 

ovunque nel sorgente XML contenuto del file di dati elemento sta avendo la lettera maiuscola mi piacerebbe prefisso spazio tra di loro. Posso avere l'esempio XSLT 2.0 come posso ottenerlo.

risposta

4

utilizzare un modello come questo:

<xsl:template match="text()"> 
    <xsl:value-of select="replace(., '([a-z])([A-Z])', '$1 $2')"/> 
</xsl:template> 

Esegue genericamente la regola per tutti i contenuti del testo in input. Puoi facilmente renderlo più specifico (se ci sono altri elementi che non vuoi tradurre). La funzione replace è il punto chiave.

Problemi correlati