私はXMLをXSLで表示しようとしていますが、XMLを整形してDTDを使用するようにしようとしています。問題は、XMLにDTDリンクを置くたびに、Webページが空白になることです。 DTDリンクを削除すると、すべて正常に動作します。 DTDとXMLの両方をどのように組み合わせるのですか?DTDとXSLを同じXMLで使用する方法
XMLコード:
<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="erakutsi.xsl"?>
<!DOCTYPE trantzakzioak SYSTEM "xml_eskema.xsd">
<trantzakzioak>
<trantzakzioa erabiltzailea="[email protected]" mota="DiruS">
<kontzeptua>Lanean irabazitakoa</kontzeptua>
<kantitatea>4000.0</kantitatea>
</trantzakzioa>
</trantzakzioak>
DTDコード:
<!ELEMENT trantzakzioak (trantzakzioa)*>
<!ATTLIST trantzakzioak>
<!ELEMENT trantzakzioa (kontzeptua,kantitatea)>
<!ATTLIST trantzakzioa erabiltzailea #PCDATA #REQUIRED>
<!ATTLIST trantzakzioa mota #PCDATA #REQUIRED>
<!ELEMENT kontzeptua (#PCDATA)>
<!ELEMENT kantitatea (#PCDATA)>
XSLコード:
<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<HTML>
<BODY>
<h2>Galderak</h2>
<TABLE border="1">
<TR>
<TH>Testua</TH>
</TR>
<xsl:for-each select="/trantzakzioak/trantzakzioa" >
<TR>
<TD><FONT SIZE="2" COLOR="red" FACE="Verdana">
<xsl:value-of select="kontzeptua"/> <BR/>
</FONT>
</TD>
</TR>
</xsl:for-each>
</TABLE>
</BODY>
</HTML></xsl:template>
</xsl:stylesheet>
完全なDTDですか?ルート要素やその他の要素に 'xmlns =" ... "'属性を追加して宣言していないのは確実ですか? –
あなたのDTDは無効です。 'ATTLLIST'に'#PCDATA'型を含めることはできません。私はそれを 'CDATA'に変更する必要があると思います。 –