Ich versuche, eine xsl in eine XML-Datei einzubetten. Der Grund dafür ist, eine einzelne Datei zu erstellen, die auf verschiedene Computer verschoben werden kann. Dies würde verhindern, dass die xsl-Datei verschoben werden muss.Betten Sie xsl in eine XML-Datei ein
Die Xsl-Datei erstellt eine Tabelle und einen Test-Schritt aus dem XML und ob es bestanden oder fehlgeschlagen, ziemlich einfach.
Das Problem, das ich habe, denke ich, ist, dass die xsl JavaScript hat und es wird angezeigt, wenn das XML in IE geladen wird.
Wenn ich die XML-Datei mit IE laden, wird das Javascript über der Tabelle angezeigt und unterhalb der Tabelle wird das XML angezeigt.
Hier ist, wie mein Dokument ausgelegtem ist:
<!DOCTYPE doc [
<!ATTLIST xsl:stylesheet
id ID #REQUIRED>
]>
<doc>
<xsl:stylesheet id="4.1.0"
version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:msxsl="urn:schemas-microsoft-com:xslt"
xmlns:user="http://www.ni.com/TestStand"
xmlns:vb_user="http://www.ni.com/TestStand/" >
<xsl:template match="xsl:stylesheet" />
<xsl:text disable-output-escaping="yes">
<msxsl:script language="vbscript" implements-prefix="vb_user">
option explicit
'This function will return the localized decimal point for a decimal number
Function GetLocalizedDecimalPoint()
dim lDecPoint
lDecPoint = Mid(CStr(1.1),2,1)
GetLocalizedDecimalPoint = lDecPoint
End Function
</msxsl:script>
<msxsl:script language="javascript" implements-prefix="user"><![CDATA[
// This style sheet will not show tables instead of graphs for arrays of values if
// 1. TSGraph control is not installed on the machine
// 2. Using the stylesheet in windows XP SP2. Security settings prevent stylesheets from creatign the GraphControl using scripting.
// Refer to the TestStand Readme for more information.
//more javascript functions
//code to build table and insert data from the xml
</xsl:stylesheet>
<Reports>
<Report Type='UUT' Title='UUT Report' Link='-1-2008-12-3-10-46-52-713' UUTResult='Failed' StepCount='51'>
// rest of xml
</Report>
</Reports>
</doc>
Wichtiger Hinweis für das Einbetten eines Dokuments in ein Stylesheet wie dieses - der Dateiname ist in der ersten Zeile des Stylesheets codiert. Das heißt, wenn Sie die Datei umbenennen, wird das Dokument nicht mehr analysiert. – Colen
Es funktioniert in Firefox 33. Heute überprüft. –
@RobertNiestroj, Danke für diese Information. Die Antwort wurde aktualisiert. –