给出一个正常的nhibernate配置文件:
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="http://localhost/xmlStylesheets/nhibernate.xsl"?>
<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">
<session-factory>
<property name="connection.provider">NHibernate.Connection.DriverConnectionProvider</property>
<property name="dialect">NHibernate.Dialect.Oracle10gDialect</property>
<property name="connection.driver_class">NHibernate.Driver.OracleDataClientDriver</property>
<property name="connection.connection_string">Data Source=MyDB;User ID=MyUser;Connection Lifetime=0;Enlist=false;Pooling=true;Max Pool Size=100;Min Pool Size=0;Incr Pool Size=5;Decr Pool Size=1;Statement Cache Size=100;</property>
<property name="proxyfactory.factory_class">NHibernate.ByteCode.Castle.ProxyFactoryFactory, NHibernate.ByteCode.Castle</property>
<property name="use_outer_join">true</property>
<property name="query.substitutions">true 1, false 0, yes 'Y', no 'N'</property>
<property name="show_sql">true</property>
</session-factory>
</hibernate-configuration>
我为它创建了一个xslt转换。
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:h="urn:nhibernate-configuration-2.2">
<xsl:template match="h:hibernate-configuration/h:session-factory">
<html>
<head>
<title>Projects</title>
<link rel="Stylesheet" type="text/css"
href="http://localhost/xmlStylesheets/xml.css" />
</head>
<body>
<div id="container">
<div class="content" id="settings">
<xsl:value-of select="count(h:property)" /> properties
<table class="grid">
<thead>
<tr>
<th>Property</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<xsl:for-each select="h:property">
<tr>
<td><xsl:value-of select="@name" /></td>
<td><xsl:value-of select="." /></td>
</tr>
</xsl:for-each>
</tbody>
</table>
</div>
</div>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
这在IE中工作正常,但不会在chrome或firefox中呈现。任何想法是什么问题?
答案 0 :(得分:5)
您的网络服务器应该为xsl表返回正确的mime类型,以使其正常工作。
根据XSL FAQ中的规定,Mozilla需要text/xml
或application/xml
。
看起来Chrome也会best served application/xml
。
很多时候,IE并不像其他浏览器那样繁琐,并对text/xsl
感到满意。
答案 1 :(得分:1)
在opera 10.10,chromium 4.0,firefox 3.6和ie8中,它对我很有用。我得到了这个输出:
8 properties
Property Value
connection.provider NHibernate.Connection.DriverConnectionProvider
dialect NHibernate.Dialect.Oracle10gDialect
connection.driver_class NHibernate.Driver.OracleDataClientDriver
connection.connection_string Data Source=MyDB;User ID=MyUser;Connection Lifetime=0;Enlist=false;Pooling=true;Max Pool Size=100;Min Pool Size=0;Incr Pool Size=5;Decr Pool Size=1;Statement Cache Size=100;
proxyfactory.factory_class NHibernate.ByteCode.Castle.ProxyFactoryFactory, NHibernate.ByteCode.Castle
use_outer_join true
query.substitutions true 1, false 0, yes 'Y', no 'N'
show_sql true