Dear All,

Passing condition as string to XSLT using Javascript as a parameter is not giving any results.

Below is the code snippet:-

script:

var processor = new XSLTProcessor();
processor.importStylesheet(xslt);
processor.setParameter(null, "query","not($projectId = 9820) and not($projectId = 9164)"); 

xsl code:

<xsl:if test="$query"> 

I verified by priting xsl:value-of and string is population correctly but some how xsl:if is not accepting it.

When I tried like this:-
<xsl:if test="not($projectId = 9820) and not($projectId = 9164)">

It's working fine.

I can not put condition in XSLT directly as it may have many AND conditions which we need to build manually.

All I want is to build query dynamically and pass it to XSLT.

Appreciate your help.

Thanks | Kranthi

Recommended Answers

All 2 Replies

<xsl:if test="{$query}">
{ } read the content of $query
Helmut Hagemann

Got the solution. We have put project ids in another xml and loading it in main xsl.

<xsl:variable name="saved_user_project" select="document('C:/xml/Save_PBM.xml')/PROJECT_LIST/PROJECT/PROJ_ID"/>

for each project we have put the condition. Not sure how it functions but it is getting new ID for each iteration. If any knows how it works, please explain.

<xsl:if test="not($projectId=$saved_user_project)">

Thanks,
Kranthi

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.