Transformation xslt en c# (PB code ISO)
Bonjour à tous,
Je voudrais transformater un document XML avec une xslt en c# afin de l'afficher dans une page HTML. J'arrive à effectuer celle-ci, mais lors de la transformation le code ISO de la XSLT n'est pas prise en compte. Exemple les espaces  .
Je pense qu'il manque une étape avant la transformation, mais je n'ai pas trouvé d'info sur le net :(
Avez vous une idée ?
Voici le code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
|
protected void Page_Load(object sender, EventArgs e)
{
try
{
string xmlPath = Server.MapPath(@"App_Data/docXml.xml");
string xsltPath = Server.MapPath("xslt.xsl");
// open a XML file
XmlReader reader = XmlReader.Create(xmlPath);
//Load the XML file in XmlDocument
XmlDocument xpathDoc = new XmlDocument();
xpathDoc.Load(reader);
// Load XSLT file
XslCompiledTransform transform = new XslCompiledTransform();
transform.Load(xsltPath);
//initialisation code/fonction C sharp in XSLT
XsltArgumentList argsList = new XsltArgumentList();
argsList.AddExtensionObject("pda:MyUtils", new XsltSearchImg());
// Execute the transform and output the results to a file.aspx
transform.Transform(xpathDoc, argsList, Response.Output);
}
catch (Exception ex)
{
Response.Write(ex.Message);
}
} |
Voici un extrait de XSLT:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
|
<xsl:template match="notes|non-normative-note">
<xsl:element name="div">
<xsl:element name="dl">
<xsl:attribute name="class">nrmNote</xsl:attribute>
<xsl:element name="dt">
<xsl:value-of select="label"/><xsl:text>#160: </xsl:text>
</xsl:element>
<xsl:element name="dd">
<xsl:apply-templates select="./*[name(.) != 'label']" />
</xsl:element>
</xsl:element>
</xsl:element>
</xsl:template> |