0
我很新的XSLT,並試圖給定的XML文件轉換成另一種。XSLT:XML-XML(在轉換文件中沒有XML標籤)
原始文件的結構如下:
<metadataContainerType xmlns:ns2="http://www.w3.org/1999/02/22-rdf-syntax-ns#"xmlns:ns3="http://textgrid.info/namespaces/metadata/core/2010">
<ns3:object>
<ns3:generic>
<ns3:provided>
<ns3:title>Tfghfv</ns3:title>
<ns3:identifier type="METSXMLID">T0072-00213-THUMB</ns3:identifier>
<ns3:format>image/jpeg</ns3:format>
</ns3:provided>
<ns3:generated>
<ns3:created>2012-11-07T11:30:20.085+01:00</ns3:created>
<ns3:lastModified>2012-11-07T11:30:20.085+01:00</ns3:lastModified>
<ns3:issued>2012-11-07T11:30:20.085+01:00</ns3:issued>
<ns3:revision>0</ns3:revision>
<ns3:extent>7055</ns3:extent>
<ns3:project id="TGPR-1e31ce14-d7d9-3023-e8c9-501a7552a1f2">St. Matthias Test 07</ns3:project>
</ns3:generated>
</ns3:generic>
</ns3:object>
</metadataContainerType>
,我希望把它改造成形式:
<add><doc>
<field name="id">455HHS-2232</field>
<field name="title">T0072-00031-DOWNLOAD - Blatt 12v</field>
<field name="format">application/pdf</field>
<field name="created">2012-11-07T11:15:19.887Z</field>
<field name="last_modified">2012-11-07T11:15:19.887Z</field>
<field name="issued">2012-11-07T11:15:19.887Z</field>
</doc></add>
但是,當我轉換的文件我錯過了XML標籤,它只是顯示節點的內容。 也許有人可以幫助我。
我的XSLT的快照看起來是這樣的:
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" xmlns:ns2="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:ns3="http://textgrid.info/namespaces/metadata/core/2010">
<xsl:output method="xml" indent="yes" encoding="UTF-8"/>
<xsl:template match="/ns3:object">
<add><doc>
<!-- the provided metadata fields -->
<field name="title">
<xsl:apply-templates select="ns3:generic/ns3:provided/ns3:title"/>
</field>
<field name="identifier_type">
<xsl:value-of select="ns3:generic/ns3:provided/ns3:identifier_type"/>
</field>
<xsl:element name="field">
<xsl:value-of select="ns3:generic/ns3:provided/ns3:format"/>
</xsl:element>
...
</doc></add>
</xsl:template>
</xsl:stylesheet>
真是個愚蠢的錯誤,非常感謝你。 但我來到另一個問題。 我不得不在xsl添加:stylesheet標記 「的xmlns:NS2 =」 http://www.w3.org/1999/02/22-rdf-syntax-ns# 「的xmlns:NS3 =」 HTTP:// textgrid.info/namespaces/metadata/core/2010" 。 當我transalte這部分被添加到XML文件‘添加’和-tag它看起來像這樣:‘<添加的xmlns:ns2的=’HTTP:// www.w3.org/1999/02/22-rdf-syntax-ns# 「的xmlns:NS3 = 」http://textgrid.info/namespaces/metadata/core/2010「>」 但我不能用這個信息的標籤用於下一步 – Sentient6
這似乎是一個無關緊要的問題,請提出一個新問題。 – nwellnhof