2009-04-12 4 views
0

XPATH에서 특성로드에 대한 질문이 있습니다. 나는 시험에 짧은 XML 코드를 작성 :XPATH에 특성로드 중, 문제가 있습니다.

<?xml version="1.0" encoding="iso-8859-1"?> 
<?xml-stylesheet type="text/xsl" href="testDate.xsl"?> 
<element attribute="1/1/2100"> 
    Hung 
</element> 

내 XSL 코드 :

스타일 시트를로드 할 때 오류가 발생하는 이유
<?xml version="1.0" encoding="iso-8859-1"?> 
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 
    <!--Handle the document: set up HTML page--> 
    <xsl:template match="/"> 
    <html> 
    <head>  
    </head> 
    <body> 
    This is a test 
    <xsl:value-of select="[email protected]"/> 
    </body> 
    </html> 
    </xsl:template> 
</xsl:stylesheet> 

? 너 내가 설명하도록 도와 주겠니? 감사합니다.

+0

당신이 당신은 유사한 그래서 초등학교 질문을하는 –

+0

을 받고있어 오류를 참조하는 것이 유용 할 것이다에 "왜 벌거 벗은 와이어 I을 터치하면 고통을 느끼고 거의 죽었습니까? " 읽기와 학습을 더 잘 시작하십시오. XPath와 XSLT에 대한 훌륭한 책을 읽을 필요가 있습니다. –

+0

처음에는 아니지만 더 많은 dimitre에 동의 할 수 없습니다 !! 나는 http://stackoverflow.com/questions/737091/how-to-make-the-text-repeat-only-once-every-for-each에 글을 남겼다. : 그러나 당신이해야 할 질문은 아래 수준이다. 초보자는 두려워. 당신은 기본을 먼저 배워야합니다. 바로 지금 당신은 묻습니다. – Peter

답변

2

XPath의 속성이 잘못된 것으로 의심됩니다. 나는

element/@attribute 

즉 당신이 당신의 <xsl:value-of />@ 전에 슬래시를 넣어 필요/

3

와 요소 및 @attribute을 분리해야해야한다고 생각합니다.

[email protected]이 (가) 유효한 XPath가 아니기 때문에 오류가 발생했습니다. 에 슬래시를 두는 것은 당신이 원하는 것을 나타냅니다 :

  • element라는 요소를 찾은 다음
  • 이러한 요소 내에서 attribute이라는 속성을 찾을 수 있습니다.

다음 개정 스타일 나를 위해 작동합니다

<?xml version="1.0" encoding="iso-8859-1"?> 
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 
    <!--Handle the document: set up HTML page--> 
    <xsl:template match="/"> 
    <html> 
    <head>  
    </head> 
    <body> 
       This is a test     
     <xsl:value-of select="element/@attribute"/> 
    </body> 
    </html> 
    </xsl:template> 
</xsl:stylesheet> 
관련 문제