<STEP-ProductInformation ExportTime="2018-01-29 12:45:47" ExportContext="fr_FR" ContextID="defaultcontext" WorkspaceID="Approved"
UseContextLocale="true">
<Qualifiers>
<Qualifier ID="Qualifier root">
<DimensionPointLink DimensionPointID="Qualifier root"/>
</Qualifier>
<Qualifier ID="AllCountries">
<DimensionPointLink DimensionPointID="AllCountries"/>
</Qualifier>
<Qualifier ID="std.lang.all">
<DimensionPointLink DimensionPointID="std.lang.all"/>
</Qualifier>
<Qualifier ID="de">
<DimensionPointLink DimensionPointID="de"/>
</Qualifier>
<Qualifier ID="DE">
<DimensionPointLink DimensionPointID="DE"/>
</Qualifier>
<Qualifier ID="fr">
<DimensionPointLink DimensionPointID="fr"/>
</Qualifier>
<Qualifier ID="FR">
<DimensionPointLink DimensionPointID="FR"/>
</Qualifier>
</Qualifiers>
<Classifications>
<Classification ID="Level3_1234" UserTypeID="TEST" ParentID="Level2_1234">
<Name ContextID="de_DE" QualifierID="de" Changed="true">CHANGE TRANS EXP</Name> <Name ContextID="fr_FR" QualifierID="de"
Changed="true">CHANGE TRANS EXP</Name> <MetaData>
<Value AttributeID="ATTR" ContextID="de_DE" QualifierID="de" Changed="true">TEST</Value>
<Value AttributeID="ATTR" ContextID="de_DE" QualifierID="de" Changed="true">TEST</Value>
</MetaData>
</Classification>
</Classifications>
</STEP-ProductInformation>
我目前正在寻求进行以下更改:
在上面的示例XML中,我正在寻找
通过使用以下XSLT,我已经能够使用“contextID = de_De”排除属性值“Name”和“Value”:
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0">
<xsl:output method="xml" version="1.0" encoding="utf-8" indent="yes"/>
<xsl:template match="@* | node()">
<xsl:copy>
<xsl:apply-templates select="@* | node()"/>
</xsl:copy>
</xsl:template>
<xsl:template match="Name[@ContextID='de_DE']"></xsl:template>
<xsl:template match="Value[@ContextID='de_DE']"></xsl:template>
</xsl:stylesheet>
现在我想在这个XSLT样式表中添加第1,2和3点。
非常感谢任何帮助!
答案 0 :(得分:1)
要将名为Value
的子元素添加到Classification
元素,您可以添加模板
<xsl:template match="Classification">
<xsl:copy>
<xsl:apply-templates select="@* | node()"/>
<Value AttributeID="Translation_Status" ContextID="de_DE" QualifierID="de">UpToDate</Value>
</xsl:copy>
</xsl:template>
到现有的样式表。
正如评论中已经指出的那样,要删除某个节点,请添加与之匹配的空模板,以便删除ParentID
上的Classification
属性添加
<xsl:template match="Classification/@ParentID"/>