我有一个如下的 XML 文件:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ea:Stories ea:WWVersion="2.0" xmlns:aic="http://ns.adobe.com/AdobeInCopy/2.0" xmlns:ea="urn:SmartConnection_v3">
<ea:Story ea:GUID="D8BEFD6C-AB31-4B0E-98BF-7348968795E1" pi0="style="50" type="snippet" readerVersion="6.0" featureSet="257" product="8.0(370)" " pi1="SnippetType="InCopyInterchange"">
<ea:StoryInfo>
<ea:SI_EL>headline</ea:SI_EL>
<ea:SI_Words>4</ea:SI_Words>
<ea:SI_Chars>20</ea:SI_Chars>
<ea:SI_Paras>1</ea:SI_Paras>
<ea:SI_Lines>1</ea:SI_Lines>
<ea:SI_Snippet>THIS IS THE HEADLINE</ea:SI_Snippet>
<ea:SI_Version>AB86A3CA-CEBC-49AA-A334-29641B95748D</ea:SI_Version>
</ea:StoryInfo>
</ea:Story>
</ea:Stories>
如您所见,所有元素都有“ea:”,这是一个命名空间前缀。
我正在编写一个 XSLT 文件来显示 SI_Snippet 文本,即“这是标题”。
如何在 XSLT 文件中写入 xpath?它应该包含命名空间还是应该被排除?
//ea:Story[ea:SI_EL='headline']/ea:SI_Snippet or
//Story[SI_EL='headline']/SI_Snippet
实际上,我使用的在线工具都失败了:http: //xslt.online-toolz.com/tools/xslt-transformation.php
那么应该有另一种方式吗?
如果稍后,它如何知道要查看哪个命名空间?我应该在运行时将命名空间传递给 XslTransformer 吗?