こんにちは、はじめまして
質問があるのでよろしくお願いします

現在XMLを勉強しているのですが
どうしてもわからないことがあるので質問させてください
XSLにて
XMLをHTMLに変換処理しているのですが
以下がHTMLの<a href="~">のXSLの出力部分です

<xsl:element name="a">
<xsl:attribute name="href">
          <xsl:value-select="linkname"/>
     </xsl:attribute>
<xsl:value-of select="name"/>
</xsl:element>

上のようにやると
java.lang.IllegalArgumentException: The output format must have a '{http://xml.apache.org/xslt}content-handler' property!
というエラーがでます
で、ためしにattributeの中を空にして
↓実行するときちんと動作します
<xsl:attribute name="href">
</xsl:attribute>
あるいは普通の文字をいれてもちゃんと動作します
<xsl:attribute name="href">
test
</xsl:attribute>

この書き方は、資料参考にしているので間違いないと思うんですが・・・
最初のエラーの意味も含めて
どうすれば回避できるのか教えてくださいお願いします