1
我找不到爲什麼在這裏的第二個例子工程,但先不一個很好的解釋:XSLT屬性匹配名稱空間
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
exclude-result-prefixes="xsd"
version="2.0">
<xsl:template match="/">
<xsl:value-of select="/wsdl:definitions/wsdl:message[@name = $messageName]"/>
<xsl:value-of select="/wsdl:definitions/wsdl:message/@name[. = $messageName]"/>
</xsl:template>
</xsl:stylesheet>
上下文是找到一個WSDL文檔中的特定命名的消息。我懷疑它與命名空間有關的事情都與XSLT糟糕的行爲有關,但我不明白爲什麼?
有人能爲我發光這個我不喜歡嘗試獲得解決方案,因爲它不會導致理解。
的WSDL的培訓相關欄目有:
<definitions xmlns="http://schemas.xmlsoap.org/wsdl/">
<message name="retrieveCustomerYtdResponse">
<part name="parameter"/>
</message>
<message name="retrieveCustomerYtdRequest"/>
</definitions>
是的,你是絕對正確的感謝解釋。第一個表達式確實返回了文本節點,這就是我錯過的知識。如果我現在理解正確/ wsdl:definitions/wsdl:message [@name = $ messageName]/@ name在這種情況下會給我我想要的。 – simon
是的。這是正確的。如果您認爲您的問題已解決,請確保** [接受答案](http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work)**。 –
個人而言,我更喜歡XPath表達式,其中** @ name **只重複一次。 –