2016-06-06 14 views
0

저는 XML, XSD 또는 XSLT로 새로운 작업을하고 있습니다.xsl 링크가 xslt를 덮어 씌우고 있음

  • 출력 데이터는 XML 형식으로 전송 : 내가 뭘하려고 오전

    는 다음과 같습니다.

  • 사용자는
  • 사용자는 XML에 사용되지 않습니다 XML 파일을 검토하고보기 내가 그 목적을
에 대한 XSLT 파일을 만든
  • 대신 XML 코드의 좋은 테이블 내부의 데이터를 원하는 수

    XSLT 파일로 완료되었습니다 (색상 스키마 조정 외). 내가 지금 가지고있는 문제는 xml 파일에 외부 xsd 파일 (xmlns = ..)에 대한 링크가 있다는 것입니다. 이 코드가 존재하는 한 렌더링 된 XML에 추출 된 입력이 없습니다 (xsl : value-of select = ...).

    <?xml version="1.0" encoding="UTF-8"?> 
    <?xml-stylesheet type="text/xsl" href="test.xsl"?> 
    <Table1 xmlns="http://www.test.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 
    

    내 XSLT 코드는 다음과 같습니다 : 내가 잘못 뭐하는 거지

    <?xml version="1.0" encoding="UTF-8"?> 
    <xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 
    <xsl:template match="/"> 
        <html> 
        <body> 
        <table border="1"> 
        <tr> 
        <td> 
        Id of 
        </td> 
        <td> 
        <xsl:value-of select="//idOf"/> 
        </td>  
        </tr> 
        </table> 
        </body> 
        </html> 
    </xsl:template> 
    </xsl:stylesheet> 
    

    ?

    THX! (michael.hor257k의 의견에 따라 편집)

  • 답변

    0

    시도하십시오

    <xsl:stylesheet version="2.0" 
    xmlns:test="http://www.test.xsd" 
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
    exclude-result-prefixes="test"> 
    

    그리고 당신은 예를 들어, 당신의 XML 구조를,을 찾아가는 모든 test: 추가 <xsl:value-of select="//test:idOf"/>

    의 xmlns = "HTTP : //www.test.xsd은"아니다 단지 당신의 XML에 "링크"하지만 기본 네임 스페이스를 선언 - 맛의 일이 될 수 있습니다 여기에 파일 확장자로 XSD를 사용하여 XML을 사용하지 않고 XML의 데이터에 액세스 할 수는 없습니다.

    +1

    몇 가지 수정 사항 : ** 1 ** ** 네임 스페이스 선언은 ** 전혀 ** 링크가 아닙니다. - ** 2. **'exclude-result-prefixes = "xsi"는'exclude-result-prefixes = "test"이어야합니다 - ** 3. **'xmlns : xsi = "http : // www.w3.org/2001/XMLSchema-instance "는 중복됩니다. –

    +0

    1. 예 링크가 잘못되었습니다. 2. 매력처럼 작동합니다! @StefanHegny 콘텐츠가 엉망으로 된 것은 무엇을 의미합니까? THX 둘 다! –

    +0

    맹 글링 된 내용에 대해서는 몇 가지 테스트를했는지 생각해 보았습니다. id0f 항목을 별도의 표 셀에 넣기를 원했고 조금 다른 xslt가 될 것입니다. Newby xslt 프로그래머가 그 함정에 부딪 힐 수 있습니다. 그러나 그 경우가 아니라면 사과합니다. –