Controleer of een XSLT parameters verwacht?

Is er hoe dan ook om te controleren met C# code, om te zien of een XSLT parameters verwacht?

0

2 antwoord

XSLT is XML, dus u kunt het bestand in een XDocument laden en het opvragen om te zien of er parameter-elementen zijn gedefinieerd op het bovenste element.

0
toegevoegd
@ Jordan - De XML-bibliotheken zijn generiek, ze hebben geen specifieke XSLT-ondersteuning buiten transformaties, zeker niets aan de querykant.
toegevoegd de auteur Oded, de bron
@Oded: Strikt genomen is dit antwoord fout omdat elke globale parameter niet binnen een sjabloon moet worden gedefinieerd. Globale parameters zijn onderliggende elementen van het bovenste element - het element xsl: stylesheet of xsl: transform . Zie mijn antwoord, wat correct is. Ik hoop dat je de verkeerde verklaring corrigeert.
toegevoegd de auteur Dimitre Novatchev, de bron
Bedankt voor de snelle reactie van Oded. Ik had over deze aanpak nagedacht, ik vroeg me af of C# enige ingebouwde ondersteuning had voor dit soort cheques.
toegevoegd de auteur Jordan, de bron

Evaluate this XPath expression against the xml document that contains the XSLT file:

/*/xsl:param

Als het resultaat ten minste één knooppunt bevat, bevat de xslt-stylesheet ten minste één globale xsl: param - en moet het hoofddoel van een globale xsl: param worden extern ingesteld door de invoker van de transformatie.

waar u de XSLT-naamruimte moet toevoegen en deze moet associëren met het voorvoegsel "xsl:" met behulp van een XmlNamespaceManager -object.

0
toegevoegd
@ Jordan: Lees alstublieft mijn commentaar op @ _Oded's antwoord waarin ik uitleg waarom dit antwoord niet klopt.
toegevoegd de auteur Dimitre Novatchev, de bron
Bedankt voor uw antwoord en codeer voorbeeld Dimitre. Ik had deze uitdrukking al geïmplementeerd na de suggestie van Oled, vandaar dat ik zijn antwoord accepteerde.
toegevoegd de auteur Jordan, de bron