【发布时间】:2010-11-23 13:40:14
【问题描述】:
我有一个 XML 文档,其根目录处指示了默认命名空间。 像这样的:
<MyRoot xmlns="http://www.mysite.com">
<MyChild1>
<MyData>1234</MyData>
</MyChild1>
</MyRoot>
解析 XML 的 XSLT 无法按预期工作,因为 默认命名空间,即当我删除命名空间时,一切都像 预计。
这是我的 XSLT:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xsl:template match="/" >
<soap:Envelope xsl:version="1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<NewRoot xmlns="http://wherever.com">
<NewChild>
<ChildID>ABCD</ChildID>
<ChildData>
<xsl:value-of select="/MyRoot/MyChild1/MyData"/>
</ChildData>
</NewChild>
</NewRoot>
</soap:Body>
</soap:Envelope>
</xsl:template>
</xsl:stylesheet>
需要对 XSLT 文档进行哪些操作才能使翻译正常进行? XSLT 文档中究竟需要做什么?
【问题讨论】:
-
ABCD 不是有效的 XSLT。我认为您需要 Control-K 代码。
标签: xslt namespaces