我想用XSLT做一個簡單的XML轉換來生成HTML,但我有困難,我似乎無法弄清楚問題出在哪裏。這裏是我一起工作的XML的一個樣本:xslt轉換xml輸出HTML問題
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="C:\Users\cgubata\Documents\Digital Measures\jcamp_fac_ex_xslt.xsl"?>
<Data xmlns="http://www.digitalmeasures.com/schema/data" xmlns:dmd="http://www.digitalmeasures.com/schema/data-metadata" dmd:date="2012-02-27">
<Record userId="310106" username="jcamp" termId="453" dmd:surveyId="1154523">
<dmd:IndexEntry indexKey="COLLEGE" entryKey="School of Business" text="School of Business"/>
<dmd:IndexEntry indexKey="DEPARTMENT" entryKey="Accountancy" text="Accountancy"/>
<dmd:IndexEntry indexKey="DEPARTMENT" entryKey="MBA" text="MBA"/>
<PCI id="11454808064" dmd:lastModified="2012-02-08T13:17:39">
<PREFIX>Dr.</PREFIX>
<FNAME>Julia</FNAME>
<PFNAME/>
<MNAME>M.</MNAME>
<LNAME>Camp</LNAME>
<SUFFIX/>
<ALT_NAME>Julia M. Brennan</ALT_NAME>
<ENDPOS/>
所有我想要做的是有一些節點顯示在HTML中的價值。因此,例如,我可能希望PREFIC,FNAME,LNAME節點顯示爲「Dr. Julia Camp」(沒有引號 - 稍後我會做樣式)。這裏是我使用的XSL:
<?xml version="1.0" encoding="utf-8"?><!-- DWXMLSource="jcamp_fac_ex.xml" -->
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:dmd="http://www.digitalmeasures.com/schema/data-metadata">
<xsl:output method="html" encoding="utf-8"/>
<xsl:template match="/">
<xsl:value-of select="/Data/Record/PCI/PREFIX"/>
</xsl:template>
</xsl:stylesheet>
從我一直在研究,應該顯示該PREFIX字段的值。但是,它將輸出所有節點的所有值(因此,如果有4000個具有文本值的節點,則會得到4000個以HTML格式返回的值)。我的目標是從某些節點中提取值,並且我可能會將它們排列在一個表中。
如何從特定節點取出值?提前致謝。
搜索因特網(Bing):「XPath默認命名空間」 - 應該有數百條信息豐富的結果。 –