2011-08-03 3 views
0

저는 XML 전문가가 아니지만 거기에 도달하려고합니다. 나는 최근에 나의 첫 번째 변환 문서를 작성하려고 시도했고 IE에서의 나의 아름다운 결과에 의해 입증 된 것처럼 꽤 잘 진행되고 있다고 생각했다. ...FireFox와 IE는 XSLT 문서를 다르게 렌더링합니다.

다른 브라우저에서와 같은 결과를 확인하려고 시도했지만, 내 생각 엔 XSLT 표준에 부적절하게 코딩 한 것입니다. IE는 내 의도를 추측하여 표시했습니다.

분명히 나는 ​​문제가 무엇인지 모르지만, 나는 몇 가지 추측을 가지고있다. 내 생각 엔 DOCTYPE ENTITY 선언문과 관련이있다. 아마 IE는 여전히 그것을 렌더링한다. 내가 생각하기에 문제가 있다고 생각하는 내용을 토대로 문제가 있다고 생각되는 파일 텍스트를 포함 시키겠다.하지만 누군가가 더 많은 정보를 필요로한다면 더 자세한 내용을 포함하게되어 기쁘다.

공간 절약을 위해 전체 xslt를 포함하지 않았고, 문제가 xslt가 아닌 99.9 %가 아니라 다른 3 개의 파일 중 하나가 전체에 포함되어 있는지도 확신합니다.

사전에 도움을 주셔서 진심으로 감사드립니다.

index.html

<?xml version="1.0" encoding="iso-8859-1"?> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd> 

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
    <meta http-equiv="refresh" content="0;url=conf/contentNavMenu.xml"> 
    <title>SmartBook</title> 
</head> 
<body> 
</body> 
</html> 

contentNavMenu.xml

<?xml version="1.0" encoding="utf-8"?> 
<?xml-stylesheet type="text/xsl" href="../smartbook.xsl"?> 

<!DOCTYPE smartbook [ 
    <!ENTITY navigationMenu SYSTEM "smartbookLinks.xml"> 
]> 

<smartbook> 
    <navMethod>JS</navMethod> 
    &navigationMenu; 
</smartbook> 

smartbookLinks.xml

<?xml version="1.0" encoding="utf-8"?> 
<menu> 
    <menuItem> 
    <id>1</id> 
    <text>Problem Identification</text> 
    <subMenu> 
     <navalturl>navalt/1.html</navalturl> 
     <menuItem> 
     <id>1.1</id> 
     <text>Identify a real world need.</text> 
     <url></url> 
     <target>_blank</target> 
     <details>Details 1.1</details> 
     </menuItem> 
     <menuItem> 
     <id>1.2</id> 
     <text>Identify specific area of the identified need.</text> 
     <url></url> 
     <target>_blank</target> 
     <details>Details 1.2</details> 
     </menuItem> 
    </subMenu> 
    </menuItem> 
    <menuItem> 
    <id>2</id> 
    <text>Risk Identification and Mitigation</text> 
    <subMenu> 
     <navalturl>navalt/2.html</navalturl> 
     <menuItem> 
     <id>2.1</id> 
     <text>Text 2.1</text> 
     <url></url> 
     <target>_blank</target> 
     <details>Details 2.1</details> 
     </menuItem> 
    </subMenu> 
    </menuItem> 
</menu> 
,691,363 (210)

smartbook.xsl

<?xml version="1.0" encoding="ISO-8859-1"?> 
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 

<xsl:template match="/"> 

<html> 

<head> 
    <link href="../css/smartbook.css" rel="stylesheet" type="text/css" /> 
    <script type="text/javascript" src="../js/sb_navigation.js"></script> 
</head> 

<body style="margin-top:4px;"> 

    ...content omitted... 

</body> 
</html> 
</xsl:template> 

</xsl:stylesheet> 
+0

"... content 생략 ..."으로 표시된 부분에서 문제가 발생할 가능성이 가장 큰 것으로 간주하십시오. 또한 "떨어져 나옵니다"이외의 다른 방법에 대한 힌트를 제공하지 않았습니다. –

답변

1

파이어 폭스는 외부 엔티티를로드하지 않습니다. 자세한 내용은 developer.mozilla.org/en/XML_in_Mozilla을 참조하십시오.

+0

감사합니다, 해당 리소스에 대한 DevNull. 나는 그것을 여러 번 읽었으며 외부 엔티티가로드 될 수는 없지만 시나리오를 완화하기위한 조언을 제공하지는 않습니다. 코드를 수정하는 방법에 대한 조언이 있습니까? 다시 한번 감사드립니다. –

관련 문제