2016-12-21 1 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"을 출력물에서 제거해야합니다. 아래 :

<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

관련 문제