canonica: java in xsl /Fehlermeldung bei id-Links

Liebe Cracks ...
Mein Problem ist die Fehlermeldung des InternetExplorers7 :  "Namespace 'http://xml.apache.org/xslt/java' does not contain any functions."

XML-dokument und DTD validiert. Das zugehörige XSL-Stylesheet stellt korrekt Text, Formatierung, dokumenteninterne Links und externe Links (URL) dar.
Die 3. Möglichkeit, Links zu definieren (innerhalb Dokumentenpool/Lexikon)wurde über id's gemacht: Diese funktionieren nicht!!

im XSL:  ...
<xsl:template match="ilink">
  <xsl:variable name="firstc">       <xsl:value-of select="substring(@id,1,1)"/>
  </xsl:variable>

<xsl:variable name="fileNameXML">     <xsl:value-of select="concat('../' , $firstc ,  '/', @id, '.xml')"/>
   </xsl:variable>

<xsl:variable name="fileXML" select="java:java.io.File.new(string($fileNameXML))"/>

<xsl:variable name="fileNameHTM">
   <xsl:value-of select="concat('d:/WWW-Root/MCS_HOME/VERZ4/V4KRANK/link/', @id, '/def_' , @id , '.HTM')"/>
  </xsl:variable>
  <xsl:variable name="fileHTM" select="java:java.io.File.new(string($fileNameHTM))"/>
  xsl:choose
   <xsl:when test="java:canRead($fileXML)">
    <a>
  <xsl:attribute name="href">
   <xsl:value-of select="concat('../../wdb/', $firstc, '/', @id, '.html#', @anchor)" />
  </xsl:attribute>
  <xsl:value-of select="."/>
    </a>
  </xsl:when>

<xsl:when test="java:canRead($fileHTM)">
    <a>
   <xsl:attribute name="href">     <xsl:value-of select="concat ('../ANK/link/', @id, '/def_' ,@id , '.HTM')"/>
   </xsl:attribute>
   <xsl:value-of select="."/>
    </a>
   </xsl:when>
   </xsl:choose>
  </xsl:template>

Für alle Hinweise bin ich zum voraus schon dankbar!!!
Cesi

  1. Tach canonica,

    Mein Problem ist die Fehlermeldung des InternetExplorers7 :  "Namespace 'http://xml.apache.org/xslt/java' does not contain any functions."

    Vermutlich hilft die Angabe des Namensraumes im Stylesheet (und darauf bezogen das Weglassen im Ausgabedokument):

    <xsl:stylesheet xmlns:xsl="..."  
      xmlns:java="http://xml.apache.org/xslt/java"  
      exclude-result-prefixes="java">  
    ...  
    </xsl:stylesheet>
    

    Man liest sich,
    svg4you

  2. Hallo,

    Liebe Cracks ...
    Mein Problem ist die Fehlermeldung des InternetExplorers7 :  "Namespace 'http://xml.apache.org/xslt/java' does not contain any functions."

    <xsl:variable name="fileXML" select="java:java.io.File.new(string($fileNameXML))"/>

    <xsl:when test="java:canRead($fileXML)">

    Wenn du die XML/XSL-Transformation direkt im Browser machst, kann das auch nicht funktionieren. java ist dann für den MSXML ein Namensraumpräfix und "java.io.File.new" eigentlich ein Element und so kann eine Funktion (string($fileNameXML)) dann auch nicht "funktioniren".

    Und weil du sonst nichts zur Verarbeitung gesagt hast (z.B, dass du vielleicht ein Applet verwendest??), kann ich dir auch nicht mehr dazu sagen.

    Grüße
    Thomas