Передающие параметры к Таблице стилей XSLT через.NET

Я использовал SQlite3 для большого количества проектов (но от C/C++ и Objective C). Это является чрезвычайно маленьким - никакие зависимости вообще - база данных находится в единственном файле.

Это - предпочтительный дб для разработчиков Mac, потому что это непосредственно поддерживается CoreData и на iPhone - таким образом, существует большая база пользователей (не говоря уже обо всех других пользователях).

30
задан MrBliz 5 October 2009 в 17:05
поделиться

2 ответа

Вам необходимо определить параметр в вашем XSLT, и вам также необходимо передать XsltArgumentList в качестве аргумента для вызова Transform :

private static void CreateHierarchy(string manID)
{
    string man_ID = manID;

    XsltArgumentList argsList = new XsltArgumentList();
    argsList.AddParam("Boss_ID", "", man_ID);

    XslCompiledTransform transform = new XslCompiledTransform(true);
    transform.Load("htransform.xslt");

    using (StreamWriter sw = new StreamWriter("output.xml"))
    {
        transform.Transform("LU AIB.xml", argsList, sw);
    }
}

Обратите внимание, что xsl: param должен быть определен под элементом xsl: stylesheet :

<?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:param name="Boss_ID"></xsl:param>

  <xsl:template match="OrgDoc">

     <!-- template body goes here -->

  </xsl:template>


</xsl:stylesheet>

Этот простой пример XSLT создаст небольшой выходной документ, содержащий один узел XML с его содержимым. установите значение вашего параметра. Попробуйте:

<?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:param name="Boss_ID"></xsl:param>

  <xsl:template match="/">
    <out>
      <xsl:value-of select="$Boss_ID" />
    </out>
  </xsl:template>

</xsl:stylesheet>
54
ответ дан 27 November 2019 в 23:44
поделиться

вам, вероятно, потребуется определить параметр в верхней части XSLT:

<xsl:param name="Boss_ID" />
<OrgDoc>
 //rest of the XSLT
</OrgDoc>

См. Эту ссылку

http://projects.ischool.washington.edu/tabrooks/545/2004Autumn /ContentManagement/PassingParameters.htm

Не лучший пример, но лучший, который я смог найти с помощью быстрого поиска в Google.

6
ответ дан 27 November 2019 в 23:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: