2016-10-16 12 views
1

처음으로 xpath 유효성 검사 외에 XML을 사용하려고했습니다.XML 및 XSL 문서를 연결하는 데 문제가 있음

산 이름 : 에베레스트 산
돼지 라틴어 이름을 XML은, 파이어 폭스 V25 이상 브라우저에서 열 경우는 같은 표시하도록 내가가 XML과 XSL 문서를 링크되어있어 숙제를 : ountMa verestEa
산 이름 : 마운트 레이니어
산 이름 : 세인트 헬렌 산
산 이름 : 마운트 워싱턴
돼지 라틴어 이름 : ountMa ashingtonWa
산 이름 : 보넬 산
돼지 라틴어 이름 : ountMa onnellBa
산 이름 : 마운트 폭발
돼지 라틴어 이름 : ountMa esuviusVa
산 이름 : 에트나 산
돼지 라틴어 이름 : 파일 Asg04XST.xml에 대해 다음과 같이 ountMa tnaEa

내 XML 코드입니다. 나는 이후

<?xml version="1.0" encoding="UTF-8"?> 

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" > 

<xsl:output method="text" /> 

<xsl:template match="FamousMountains"> 

<html> 
<head><title><h3>Julie Laursen</h3></title></head> 
<body> 

<xsl:for-each select="mountain"> 
Mountain Name: <xsl:value-of select="name"/> 
</xsl:for-each> 

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

: Asg04.xsl라는 그럼,이 같은 폴더에이 XSL 파일을 생성 한

<FamousMountains> 
<mountain> 
    <name language="English">Mount Everest</name> 
    <name language="PigLatin">ountMa verestEa</name> 
    <location>Nepal</location> 
    <height units="feet">29035</height> 
</mountain> 
<mountain> 
    <name language="English">Mount Ranier</name> 
    <location>Washington</location> 
    <height units="feet">14411</height> 
</mountain> 
<mountain> 
    <name language="English">Mount St. Helens</name> 
    <location>Washington</location> 
    <height units="feet">8364</height> 
</mountain> 
<mountain> 
    <name language="English">Mount Washington</name> 
    <name language="PigLatin">ountMa ashingtonWa</name> 
    <location>New Hampshire</location> 
    <height units="feet">6288</height> 
</mountain> 
<mountain> 
    <name language="English">Mount Bonnell</name> 
    <name language="PigLatin">ountMa onnellBa</name> 
    <location>Austin</location> 
    <height units="feet">800</height> 
</mountain> 
<mountain> 
    <name language="English">Mount Vesuvius</name> 
    <name language="PigLatin">ountMa esuviusVa</name> 
    <location>Italy</location> 
    <height units="feet">4203</height> 
</mountain> 
<mountain> 
    <name language="English">Mount Etna</name> 
    <name language="PigLatin">ountMa tnaEa</name> 
    <location>Sicily</location> 
    <height units="feet">10922</height> 
</mountain> 
</FamousMountains> 

: 나는 Asg04라는 폴더에 바탕 화면에 저장 한 같은 폴더에 그들을 저장, 나는 match = "/"괜찮을 것이라고 생각하고 각 벤 - 각 선택에 대해, 나는 산을 선택하고 그 산의 밑에있는 요소 인 select-value의 이름 아래에있다. . 그러나 XML 문서를 열면 어디에도 반영되지 않습니다. 처음에는 산 이름을 사용하기를 원하기 때문에 나는 돼지 라틴 섹션에 가지 않았습니다. 이 두 파일을 서로 보도록하려면 어떻게해야합니까?

내가 시도한 것 : 과 같은 href 라인을 추가 하시겠습니까? xml-stylesheet type = "text/xsl"href = "Asg04.xml"? 뿐만 아니라 여기 Asg04XST.xsl

+1

도움이 필요하면 다음 페이지를 참조하십시오. http://stackoverflow.com/questions/24629700/testing-xslt-code-using-your-browser/24632054#24632054 –

+0

그게 효과가 있습니다! 나는이 모든 시간에 헤더를 엉망으로 만들었습니다. –

+1

나는 당신의 질문을 대답했을 때의 질문으로 되돌 렸습니다. 새로운 문제를 설명하는 새로운 질문을 올리십시오. 예상 결과를 비롯하여 문제를 재현하는 데 필요한 모든 코드를 제공해야합니다. [mcve]를 참조하십시오. –

답변

1

원하는 출력을 얻을 수있는 업데이트 된 XML &과 스타일 시트와 같이 :

<?xml version="1.0" encoding="UTF-8"?> 
<?xml-stylesheet type="text/xsl" href="mystylesheet.xsl"?> 
<FamousMountains> 
    <mountain> 
     <name language="English">Mount Everest</name> 
     <name language="PigLatin">ountMa verestEa</name> 
     <location>Nepal</location> 
     <height units="feet">29035</height> 
    </mountain> 
    <mountain> 
     <name language="English">Mount Ranier</name> 
     <location>Washington</location> 
     <height units="feet">14411</height> 
    </mountain> 
    <mountain> 
     <name language="English">Mount St. Helens</name> 
     <location>Washington</location> 
     <height units="feet">8364</height> 
    </mountain> 
    <mountain> 
     <name language="English">Mount Washington</name> 
     <name language="PigLatin">ountMa ashingtonWa</name> 
     <location>New Hampshire</location> 
     <height units="feet">6288</height> 
    </mountain> 
    <mountain> 
     <name language="English">Mount Bonnell</name> 
     <name language="PigLatin">ountMa onnellBa</name> 
     <location>Austin</location> 
     <height units="feet">800</height> 
    </mountain> 
    <mountain> 
     <name language="English">Mount Vesuvius</name> 
     <name language="PigLatin">ountMa esuviusVa</name> 
     <location>Italy</location> 
     <height units="feet">4203</height> 
    </mountain> 
    <mountain> 
     <name language="English">Mount Etna</name> 
     <name language="PigLatin">ountMa tnaEa</name> 
     <location>Sicily</location> 
     <height units="feet">10922</height> 
    </mountain> 
</FamousMountains> 

그리고 mystylesheet.xsl

<?xml version="1.0" encoding="UTF-8"?> 
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" > 
<xsl:output method="html" /> 

    <xsl:template match="/"> 
     <html> 
      <head><title>Julie Laursen</title></head> 
      <body>     
      <h3>Julie Laursen</h3> 
      <xsl:apply-templates /> 
      </body> 
     </html> 
    </xsl:template> 

    <xsl:template match="mountain"> 
     <xsl:for-each select="name"> 
      <xsl:if test="@language='English'"> 
       Mountain Name: <xsl:value-of select="."/><br/> 
      </xsl:if> 
      <xsl:if test="@language='PigLatin'"> 
       Pig Latin Name: <xsl:value-of select="."/><br/> 
      </xsl:if> 
     </xsl:for-each> 

    </xsl:template> 
</xsl:stylesheet> 

출력이

enter image description here

+0

정말 고마워요! –

+1

@JuliePixie, 그 대답이 도움이된다는 사실을 알고 기쁩니다. 답변을 수락하는 것을 고려하십시오. – Rao

+0

아, 나는 그것에 투표 했습니까? 동의 할 다른 방법이 있습니까? 이 사이트를 아직 사용하지 마십시오 –