Если я использую <xsl:param>
без указания значения, трансформатор предполагает, что это значение является пустой строкой.Как заставить ошибки на <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>
Am ищет решение как в XSLT 1.0 и XSLT 2.0.
Просто опускают присвоение значения в param. В чем проблема? –
, если я опускаю присвоение значения в объявлении параметра и не предоставляю параметр, ошибки не генерируются. трансформатор предполагает, что мне нужно значение по умолчанию пустой строки и продолжить преобразование без каких-либо ошибок. Я хочу сказать трансформатору, что этот параметр не имеет значения по умолчанию, поэтому, когда я не укажу явно его ошибку, трансформатор должен дать мне предупреждение/ошибку вместо того, чтобы продолжать, как если бы это была не ошибка , – NorvayHais