我是xslt的新手。我有以下xml和xslt,我需要使用XslCompiledTranform转换为html。 我有以下XML
<ref-list id="RL10">
<label>
<bold>7.0</bold>
</label>
<title>
<bold>References</bold>
</title>
<ref id="R66" content-type="references">
<label>2</label>
<mixed-citation publication-type="book">
<person-group person-group-type="author">
<name>
<surname>Chown,</surname>
<given-names>Bill</given-names>
</name>
</person-group>, and
<person-group person-group-type="author">
<name>
<surname>Lange</surname>
<given-names>Michelle</given-names>
</name>
</person-group>. “
<source>Modernizing System Development: Requirements-Based, Model-Driven Design, Implementation and Test</source>.”
<publisher-name>Mentor Graphics Corp., ERTS</publisher-name>,
<month>Feb.</month>
<year>2012</year>.
</mixed-citation></ref>
<ref id="R67" content-type="references">
<label>3</label>
<mixed-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Blyler,</surname>
<given-names>John</given-names>
</name>
</person-group>. “
<article-title>Model-Driven Development Is Key to Low Power</article-title>.”
<source>Chip Design Magazine - JB’s Circuit</source>,
<month>Dec.</month>
<day>6</day>,
<year>2012</year>.
<uri xlink:href="http://www.chipdesignmag.com/blyler/2012/12/06/model-driven-development-key-to-low-power/">http://www.chipdesignmag.com/blyler/2012/12/06/model-driven-development-key-to-low-power/</uri>.
</mixed-citation>
</ref>
</ref-list>
我有以下xslt
<xsl:template match="ref-list/ref">
<html>
<head></head>
<body>
<xsl:apply-templates/>
</body>
</html>
</xsl:template>
<xsl:template match="ref-list/ref">
<p>
<xsl:value-of select="label"/>
<xsl:for-each select="mixed-citation">
<xsl:for-each select="person-group/name">
<xsl:value-of select="given-names"/>
<xsl:value-of select="surnames"/>
</xsl:for-each>
<xsl:text>,</xsl:text>
<xsl:value-of select="source"/>
<xsl:text>,</xsl:text>
<xsl:value-of select="publisher-name"/>
<xsl:text>,</xsl:text>
<xsl:value-of select="day"/>
<xsl:text>,</xsl:text>
<xsl:value-of select="month"/>
<xsl:text>,</xsl:text>
<xsl:value-of select="year"/>
<xsl:text>,</xsl:text>
<xsl:for-each select="uri">
<xsl:value-of select="."/>
</xsl:for-each>
<xsl:text>,</xsl:text>
<xsl:value-of select="article-title"/>
<xsl:text>,</xsl:text>
<xsl:value-of select="publisher-loc"/>
<xsl:text>,</xsl:text>
<xsl:value-of select="volume"/>
<xsl:text>,</xsl:text>
<xsl:value-of select="issue"/>
</xsl:for-each>
</p>
</xsl:template>
我必须使用xslt将我的xml转换为html。但是在转换时,它说'xlink'是一个未声明的前缀。我不知道如何解析它。 我需要解析具有xlink作为其属性的uri标记的输出。我不知道如何解析任何xml标记的任何属性。任何人都可以解释如何解析任何具有其属性的xml标签吗?
答案 0 :(得分:1)
它被称为命名空间。 xml的根标记应包含
xmlns:xlink="http://www.w3.org/1999/xlink
如果不是,每次在标记中添加xlink:href
时都应该包括它。