나는 (이하 "..."비트는 간결함을 위해 생략되어있다)이처럼 보이는 XML 조각을 방출해야하는 XSLT 스타일 시트를 가지고 :스타일 시트 내에서 xsi : type 속성을 내보내는 방법은 무엇입니까?
<MyOuterType xmlns:xsi="..." xsi:type="foo:MyInnerType" xmlns:foo="..."/>
스타일 시트는 다음과 같습니다
<xsl:stylesheet xmlns:foo="..." xmlns:xsi="...">
...
<xsl:template match="...">
<xsl:element name="MyOuterType">
<xsl:attribute name="xsi:type">foo:MyInnerType</xsl:attribute>
</xsl:element>
</xsl:template>
</xsl:stylesheet>
XSLT 프로세서의 출력은 다음과 같다 :
<MyOuterType xmlns:xsi="..." xsi:type="foo:MyInnerType"/>
를 말하면,이 xmlns:foo
선언 누락. 실제로 선언은 스타일 시트에 선언되어 있음에도 불구하고 방출 된 XML에서 완전히 빠져 있습니다. 이것은 방출 된 XML을 deserialize 할 필요가있을 때, 뒤죽박죽이다.
내 xmlns:foo
을 방출 된 XML에 표시하려면 어떻게해야합니까? 이 프로세서는 XSLT 1.0을 구현합니다.
첫 번째 (고정) 솔루션이 작동합니다. 두 번째 시도하지 않았다. –