我想创建这个:
<a href="domain.com?=USERNAME">Login</a>
Run Code Online (Sandbox Code Playgroud)
其中USERNAME = XML格式,因此HTML输出特定于当前登录的用户.有人可以提供建议吗?
我知道我可以用:
<xsl:variable name="class" select="a:Subject"/>
<p class="{$class}">English</p>
Run Code Online (Sandbox Code Playgroud)
要提取一个值并将其用作CSS类,但将其用于链接呢?
想想我可能自己也回答过:
<xsl:variable name="username" select="Username"/>
<a href="{$username}">Login</a>
Run Code Online (Sandbox Code Playgroud)
使用 Oracle XE 示例数据库,我想要生成一个客户表,如果客户有一个或多个联系人或订单,我想要一个指向这些列表的链接,并将 CUSTOMER_ID 作为 GET (query_string) 变量传递。就是这样...
下面是从 Oracle 的 DBMS_XMLGEN.getXML 函数获取的 XML 示例...
<?xml version="1.0" encoding="UTF-8"?>
<ROWSET>
<ROW>
<CUSTOMER_ID>177</CUSTOMER_ID>
<NAME>United Continental Holdings</NAME>
<ADDRESS>2904 S Salina St, Syracuse, NY</ADDRESS>
<WEBSITE>http://www.unitedcontinentalholdings.com</WEBSITE>
<CREDIT_LIMIT>5000</CREDIT_LIMIT>
<ORDERS>0</ORDERS>
<CONTACTS>1</CONTACTS>
</ROW>
<ROW>
<CUSTOMER_ID>180</CUSTOMER_ID>
<NAME>INTL FCStone</NAME>
<ADDRESS>5344 Haverford Ave, Philadelphia, PA</ADDRESS>
<WEBSITE>http://www.intlfcstone.com</WEBSITE>
<CREDIT_LIMIT>5000</CREDIT_LIMIT>
<ORDERS>2</ORDERS>
<CONTACTS>1</CONTACTS>
</ROW>
</ROWSET>
Run Code Online (Sandbox Code Playgroud)
这是样式表...
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<body>
<table border="1">
<xsl:for-each select="ROWSET/ROW">
<tr>
<xsl:apply-templates/>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
<!-- these nodes have specific behaviour -->
<xsl:template match="ORDERS">
<td>
<xsl:if test=". > 0">
<!-- here's the anchor tag -->
<a href="/Orders?CUSTOMER_ID={../CUSTOMER_ID}"><xsl:value-of select="."/></a>
</xsl:if>
</td>
</xsl:template>
<xsl:template match="CONTACTS">
<td>
<xsl:if test=". > 0">
<a href="/Contacts?CUSTOMER_ID={../CUSTOMER_ID}"><xsl:value-of select="."/></a>
</xsl:if>
</td>
</xsl:template>
<!-- all other node are just displayed as a cell -->
<xsl:template match="*">
<td><xsl:value-of select="."/></td>
</xsl:template>
</xsl:stylesheet>
Run Code Online (Sandbox Code Playgroud)
呈现为 HTML,锚点看起来像这样......
http://localhost:8080/Orders?CUSTOMER_ID=184
Run Code Online (Sandbox Code Playgroud)