XSLT с исходным кодом XML, которому установили пространство имен по умолчанию на xmlns

Я первоначально согласился с Вами, поскольку я всегда выступал за контролируемые исключительные ситуации и начинал думать о том, почему мне не нравится не иметь контролируемых исключительных ситуаций в .NET. Но тогда я понял, что не заражаю как контролируемые исключительные ситуации.

Для ответа Вы подвергаете сомнению, да, мне нравится, когда мои программы показывают отслеживания стека, предпочтительно действительно ужасные. Я хочу, чтобы приложение взорвалось в ужасную "кучу" самых ужасных сообщений об ошибках, которые Вы могли когда-либо хотеть видеть.

И причина то, потому что, если она делает это, я должен зафиксировать ее, и я должен зафиксировать ее сразу же. Я хочу знать сразу, что существует проблема.

, Сколько раз Вы на самом деле обрабатываете исключения? Я не говорю о ловле исключений - я говорю об обработке их? Слишком легко записать следующее:

try {
  thirdPartyMethod();
} catch(TPException e) {
  // this should never happen
}

И я знаю, что можно сказать, что это - плохая практика, и что 'ответ' должен сделать что-то за исключением (позвольте мне предположить, зарегистрировать его?), но в Реальном мире (TM), большинство программистов просто не делает этого.

Так да, я не хочу ловить исключения, если я не должен делать так, и я хочу, чтобы моя программа аварийно завершилась эффектно, когда я завинчиваю. Тихо сбой является худшим возможным результатом.

57
задан Larry 31 August 2009 в 16:47
поделиться

1 ответ

Вам необходимо объявить пространство имен в вашем XSLT и использовать его в выражениях XPath. Например:

<xsl:stylesheet ... xmlns:my="http://www.mysite.com">

   <xsl:template match="/my:MyRoot"> ... </xsl:template>

</xsl:stylesheet>

Обратите внимание, что вы должны предоставить некоторый префикс, если хотите ссылаться на элементы из этого пространства имен в XPath. Хотя вы можете просто выполнить xmlns = "..." без префикса, и он будет работать для буквальных элементов результата, он не будет работать для XPath - в XPath имя без префикса всегда считается в пространстве имен с пустым URI, независимо от xmlns = "..." в области.

65
ответ дан 24 November 2019 в 19:37
поделиться
Другие вопросы по тегам:

Похожие вопросы: