似乎普遍的共识是,对于不需要任何值的XHTML属性,我们应该重复属性名称.例如<input disabled>,正确的XHTML是<input disabled="disabled"/>.
但是,我们可以<input>使用以下任何一项来禁用HTML 元素:
<input disabled=" "/>
<input disabled=""/>
<input disabled="asdfg">
<input disabled="false">
实际上是否有正式规则可供使用disabled="disabled"?还是味道问题?
如果我使用时<xsl:param>未指定值,则转换器会假定该值是一个空字符串。
换句话说,如果我忘记指定值(例如<xsl:param name="N"/>),则编译器不会发出错误信号。这可能会导致我的程序无提示地失败,这是一件坏事。
如何指定我<xsl:param> 必须具有显式值?例如,此代码应该给我一个错误,因为没有指定显式值:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<xsl:call-template name="F1"></xsl:call-template>
<html>
<head>
<title></title>
</head>
<body>stuff</body>
</html>
</xsl:template>
<xsl:template name="F1">
<xsl:param name="N"/> <!-- I Should Get An Error Here! -->
</xsl:template>
</xsl:stylesheet>
Run Code Online (Sandbox Code Playgroud)
我正在寻找XSLT 1.0和XSLT 2.0中的解决方案。
我有很多函数可以接受一个输入,例如:
<xsl:template name="F">
<xsl:param name="input"/>
... ...
</xsl:template>
Run Code Online (Sandbox Code Playgroud)
要调用该函数,我需要写:
<xsl:call-template name="F">
<xsl:with-param name="input" select="'jkljkljkl'"/>
</xsl:call-template>
Run Code Online (Sandbox Code Playgroud)
这似乎过于冗长.由于函数只有一个参数,为什么我们要写xsl:with-param节点?
是否有调用单参数函数的快捷方式?
我希望能够做到这样的事情:
<xsl:call-template name="F" select-param="'jkljkl'"/>
Run Code Online (Sandbox Code Playgroud)
它短而甜,同样不含糊(因为只有一个参数).我们怎样才能以简短而甜蜜的方式调用单参数函数?
我正在寻找XSLT 1.0和XSLT 2.0的解决方案.