2016-12-21 2 views
0

На самом деле мне нужно преобразовать XML-файл в DITA с атрибутами, удаляемыми для определенного экземпляра. Даже я использовал "исключающие-результат-префиксы =" # все "" в XSL,Необходимо удалить атрибуты для конкретного экземпляра

Мой входного файла XML является:

<LearningStandardItem xml:lang="en" RefID="CA9EE2E34F384E95A5FA26769C5864B8"> 
     <RefURI>http://corestandards.org/Math/Content/K/CC/A/1/</RefURI> 
</LearningStandardItem> 

XSL, который я использовал:

<xsl:stylesheet version="2.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" exclude-result-prefixes="#all" > 

<xsl:template match="node()|@*"> 
<xsl:copy> 
<xsl:apply-templates select="node()|@*"/> 
</xsl:copy> 
</xsl:template> 

<xsl:template match="LearningStandardItem"> 
     <bodydiv outputclass="LearningStandardItem"> 
      <xsl:apply-templates select="@*|node()"/> 
     </bodydiv> 
    </xsl:template> 

</xsl:stylesheet> 

Результат, который я получаю как:

<bodydiv outputclass="LearningStandardItem" 
       **xml:lang="en"** 
       id="CA9EE2E34F384E95A5FA26769C5864B8"> 
<p outputclass="RefURI">http://corestandards.org/Math/Content/K/CC/A/1/</p> 
</bodydiv> 

Но мне нужно удалить xml: lang = "en" в качестве li ke ниже:

<bodydiv outputclass="LearningStandardItem" 
       id="CA9EE2E34F384E95A5FA26769C5864B8"> 
<p outputclass="RefURI">http://corestandards.org/Math/Content/K/CC/A/1/</p> 
</bodydiv> 

Просьба представить предложения относительно этого. Заранее спасибо.

ответ

3

Добавить пустой шаблон <xsl:template match="LearningStandardItem/@xml:lang"/> так, чтобы атрибут не копировался.

+0

Спасибо @Martin. Его рабочий штраф – User501

Смежные вопросы