매개 변수를 XSLT 스타일 시트에 전달하려고합니다.하지만 XSlCompiledTransform을 사용하여 문서를 변환 할 때 빈 xml 문서가 나타납니다. 매개 변수를 .NET을 통해 XSLT 스타일 시트에 전달
이
는 (사람들의 제안에 추가 한 후) 매개 변수를 추가하는 데 사용되는 C#을 방법private static void CreateHierarchy(string manID)
{
string man_ID = manID;
XsltArgumentList argsList = new XsltArgumentList();
argsList.AddParam("Boss_ID","",man_ID);
XslCompiledTransform transform = new XslCompiledTransform();
transform.Load("htransform.xslt");
using (StreamWriter sw = new StreamWriter("output.xml"))
{
transform.Transform("LU AIB.xml", argsList, sw);
}
}
이며, 여기에 스타일 시트입니다. 내가 전달 해요 매개 변수는 'Boss_ID'
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="xml" indent="yes" />
<xsl:template match="OrgDoc">
<xsl:param name="Boss_ID"></xsl:param>
<xsl:processing-instruction name="xml-stylesheet">
<xsl:text>type="text/xsl" href="..\styles\orgcharts.xsl" </xsl:text>
</xsl:processing-instruction>
<OrgDoc>
<xsl:for-each select="PosDets[@OC_Man = $Boss_ID]">
<PosDets OC_Pos="{@OC_Pos}" OC_Sub="{@OC_Sub}" OC_Man="{@OC_Man}" OC_Ttl="{@OC_Ttl}" OC_Rnk="{@OC_Rnk}" OC_Bdg="{@OC_Bdg}" OC_Fnd="{@OC_Fnd}" OC_OL3="{@OC_OL3}" OC_Tmp="{@OC_Tmp}">
<xsl:apply-templates select="../PosDets">
<xsl:with-param name="mgrid" select="@OC_Pos"/>
</xsl:apply-templates>
</PosDets>
</xsl:for-each>
</OrgDoc>
</xsl:template>
<xsl:template match="PosDets" >
<xsl:param name="mgrid" />
<xsl:if test="@OC_Man=$mgrid" >
<PosDets OC_Pos="{@OC_Pos}" OC_Sub="{@OC_Sub}" OC_Man="{@OC_Man}" OC_Ttl="{@OC_Ttl}" OC_Rnk="{@OC_Rnk}" OC_Bdg="{@OC_Bdg}" OC_Fnd="{@OC_Fnd}" OC_OL3="{@OC_OL3}" OC_Tmp="{@OC_Tmp}">
<xsl:apply-templates select="../PosDets">
<xsl:with-param name="mgrid" select="@OC_Pos"/>
</xsl:apply-templates>
</PosDets>
</xsl:if>
</xsl:template>
</xsl:stylesheet>
이 간단한이
<OrgDoc><PosDets OC_Pos="161" OC_Man="9" OC_Ttl="Boss" OC_Rank="" OC_OL3="LU AIB" OC_Bdg="Has Budget" OC_Fnd="Payroll" OC_Sub="" OC_Tmp="" /><PosDets OC_Pos="190" OC_Man="161" OC_Ttl="Boss" OC_Rank="" OC_OL3="LU AIB" OC_Bdg="Has Budget" OC_Fnd="Payroll" OC_Sub="" OC_Tmp="" /><PosDets OC_Pos="199" OC_Man="190" OC_Ttl="Boss" OC_Rank="" OC_OL3="LU AIB" OC_Bdg="Has Budget" OC_Fnd="Payroll" OC_Sub="" OC_Tmp="" /></OrgDoc>
사람이 도와 드릴까요 버전 소독있어 여기에 기밀 정보를 원하시면, 그러나 나는이 입력 문서를 모두 게시 할 수 없습니다?
감사
정답을 얻으려면 @MichaelEdwards와 @divo를 결합하십시오. :) – David
슬프게도 그 일은 여전히 효과가 없습니다. 이것은 결과 XML 문서입니다. xml version = "1.0"encoding = "utf-8"?> xml-stylesheet type = "text/xsl"href = ".. \ styles \ orgcharts.xsl" ?> –
MrBliz
정말인가요? 이 기사에 따르지 않음 : - http://www.xml.com/pub/a/2000/09/13/xslt/index.html – MrBliz