У меня есть XML-файл, который я пытаюсь преобразовать через XSL-файл. Как только я добавлю непустой атрибут xmlns в корневой элемент моего XSL, преобразование просто возвращает мне чистые данные для всего. Если я удалю или удалю атрибут xmlns, я вернусь к тому, что ожидаю.«xmlns» Атрибут делает мои XSLT возвращенные пустые значения
Может ли кто-нибудь сказать мне, почему это происходит, поэтому я могу остановить его!
Вот немного моего 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>
* EDIT * Вот фрагмент того, что находится в 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>
Я * думаю * Я видел такие вещи из конфликтов импорта, можете ли вы предоставить html_commonstructures.xsl, пожалуйста? – annakata