を追加します。 は、だから私は、単にそのようなコピーテンプレートを実行します。XSLTコピーテンプレートは、私は、次のXMLファイルを持って予想外の属性に
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE reference PUBLIC "-//OASIS//DTD DITA Reference//EN" "dtd/reference.dtd">
<reference xml:lang="en-us" id="D609" DTDVersion="V1.1.3"
domains="(topic ui-d) (topic hi-d) (topic pr-d) (topic sw-d) (topic ut-d)"
class="- topic/topic reference/reference ">
<title class="- topic/title ">Body Text</title>
<shortdesc class="- topic/shortdesc ">A short desc.</shortdesc>
<prolog class="- topic/prolog ">
<metadata class="- topic/metadata "/>
</prolog>
<refbody class="- topic/body reference/refbody ">
<section class="- topic/section "/>
</refbody>
</reference>
だから基本的に、私が手:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xsl:template match="/">
<!-- Get the DOCTYPE comment -->
<xsl:variable name="d"
select="//comment()[contains(.,'DOCTYPE')][1]" />
<xsl:variable name="doctype" select="substring($d,0)" />
<xsl:message select="$doctype" />
<!-- Output the DOCTYPE -->
<xsl:value-of disable-output-escaping="yes" select="$doctype" />
<xsl:apply-templates />
</xsl:template>
<xsl:template match="comment()[contains(text(),DOCTYPE)]">
</xsl:template>
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()" />
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
、代わりに私がまったく同じ出力に含まになるように期待するものを得るのを、私はそれを取得しますすべての要素のクラス属性。私の趣味のタグも魔法のように(私に)作られたいくつかのタグで飾られています。
属性はどこから来ていますか?どうすればそれらを取り除くことができますか?
私はそれもコピーしようとするDTDやdoctypeに関係するかもしれないと思っていますが、わかりません。
'reference.dtd'文書を表示できますか? –
DTDは属性のデフォルト値を定義できます。 –