XML을 XSL로 보여주고 XML을 만들기 위해 동시에 DTD를 사용하려고합니다. 문제는 XML에 DTD 링크를 넣을 때마다 웹 페이지가 비어 있다는 것입니다. 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로 바꿀 필요가 있다고 생각한다. –