Wo lege ich eine XSL-Funktion in einem XSL-Dokument?

Habe ich ein XSL-Stylesheet für die ich brauche, um das hinzufügen einige benutzerdefinierte string-manipulation mit Hilfe einer xsl:function. Aber ich habe Probleme versuchen zu arbeiten, wo man die Funktion in meinem Dokument.

Mein XSL-vereinfacht sieht das so aus,

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:my="myFunctions" xmlns:d7p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays" xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:import href="Master.xslt"/>
  <xsl:template match="/">
    <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
      <!-- starts actual layout -->
      <fo:page-sequence master-reference="first">
        <fo:flow flow-name="xsl-region-body">
          <!-- this defines a title level 1-->
          <fo:block xsl:use-attribute-sets="heading">
            HelloWorld
          </fo:block>
        </fo:flow>
      </fo:page-sequence>
    </fo:root>
  </xsl:template>
</xsl:stylesheet>

Und ich wollen, um in eine einfache Funktion, sagen,

  <xsl:function name="my:helloWorld">
    <xsl:text>Hello World!</xsl:text>
  </xsl:function>

Aber ich kann nicht herausfinden, wo die Funktion, wenn ich steckte es unter den Knoten bekomme ich eine Fehlermeldung, die sagen, 'xsl:function' kann nicht ein Kind der 'xsl:stylesheet-element., und wenn ich es unter den Knoten bekomme ich eine ähnliche Fehlermeldung.

Wo sollte ich die Funktion? Ideal würde ich gerne meine Funktionen in eine externe Datei und importieren Sie Sie in meinem xsl-Dateien.

InformationsquelleAutor mattdlong | 2009-09-03

Schreibe einen Kommentar