我有一个试图通过 XSL 文件转换的 XML 文件。一旦我向我的 XSL 的根元素添加了一个非空白 xmlns 属性,转换只会给我带来所有内容的空白数据。如果我删除或清空 xmlns 属性,我会得到我所期望的。
谁能告诉我为什么会这样,所以我可以阻止它!
这是我的一些 XSL(省略了一些部分并替换为 ...):
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" ... >
<xsl:import href="html_commonstructures.xsl"/>
<xsl:output method="html"/>
<xsl:template match="/">
<div>
<xsl:call-template name="ServiceStructure">
<xsl:with-param name="structure" select="ServiceDescription" />
</xsl:call-template>
</div>
</xsl:template>
<xsl:template name="ServiceStructure">
<xsl:param name="structure"/>
<h3>
<xsl:value-of select="$structure/DC.Title" /> (<xsl:value-of select="$structure/DC.Identifier" />)
</h3>
<!-- And so on -->
</xsl:template>
</xsl:stylesheet>
* 编辑 * 这是 html_commonstructures 中的一个片段:
<?xml version='1.0' encoding='UTF-8' ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:rxr="http://ilrt.org/discovery/2004/03/rxr/" xmlns:esd="http://www.esd.org.uk/standards"
xmlns:core="http://www.govtalk.gov.uk/core" xmlns:n2="http://www.govtalk.gov.uk/metadata/egms"
xmlns:apd="http://www.govtalk.gov.uk/people/AddressAndPersonalDetails"
xmlns:con="http://www.govtalk.gov.uk/people/ContactTypes"
xmlns:bs7666="http://www.govtalk.gov.uk/people/bs7666">
<!-- A template for the ControlledListStructures -->
<xsl:template name="ControlledListStructure">
<xsl:param name="structure"/>
<p class="controlledlist">
<xsl:value-of select="$structure/text()" />
<xsl:if test="$structure/@Id | $structure/@ConceptId | $structure/@ItemName | $structure/@ListName">
<span class="metainfo">[
<xsl:if test="$structure/@Id">
ID: <xsl:value-of select="$structure/@Id" />;
</xsl:if>
<xsl:if test="$structure/@ConceptId">
Concept ID: <xsl:value-of select="$structure/@ConceptId" />;
</xsl:if>
<xsl:if test="$structure/@ItemName">
Item Name: <xsl:value-of select="$structure/@ItemName" />;
</xsl:if>
<xsl:if test="$structure/@ListName">
List Name: <xsl:value-of select="$structure/@ListName" />
</xsl:if>
]
</span>
</xsl:if>
</p>
</xsl:template>
</xsl:stylesheet>