2017-12-20 11 views
-2

XSLT 템플릿을 사용하여 다음 XML을 HTML로 변환 할 수 있습니까?XSLT 템플릿을 사용하여 XML을 HTML로 변환

XML 형식 :

<content> 
<para>Please click <link href="https://www.google.com">here</para> to navigate to Google search. 
</content> 

예상 HTML이 :

<p>Please click <a href="https://www.google.com">here</a> to navigate to Google search.</p> 

나는 다음과 같은 템플릿을 시도, 더 이상 진행하는 방법을 잘.

<?xml version="1.0" encoding="UTF-8"?> 
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 
<xsl:template match="/"> 
    <html> 
    <body> 
    <p><xsl:value-of select="content/para"/><p> 
    </body> 
    </html> 
</xsl:template> 
</xsl:stylesheet> 

실제 결과 : identity transform

<p>Please click</p> 
+3

StackOverflow에서 먼저 코드를 작성하고 시도해보고 오류 또는 문제와 함께 시도한 내용을 표시해야합니다. – Dijkgraaf

+2

당신은 우리에게 요구 사항을 알려주지 만, 당신이 시도한 것을 우리가 보여주지 않았거나 문제가있는 곳을 알려주지 못했습니다. 실제 질문은 없습니다. [ "당신은 위험합니까?"] (https://english.stackexchange.com/q/13231) 요청과 비슷합니다. –

+1

[** 실제 질문이 아닌 이유는 무엇입니까? **] (https://meta.stackoverflow.com/q/284236/290085) – kjhughes

답변

1

시작. 이렇게하면 모든 요소 (요소, 속성, 텍스트, 주석, 처리 명령)가있는 그대로 복사됩니다.

더 자세한 템플릿을 추가하여 ID 변환 또는 built-in template rules의 처리를 무시하십시오.

예 ...

XML 입력

<content> 
    <para>Please click <link href="https://www.google.com">here</link> to navigate to Google search.</para> 
</content> 

XSLT (잘 형성되는 고정) 1.0

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 
    <xsl:output indent="yes"/> 
    <xsl:strip-space elements="*"/> 

    <!-- Identity transform --> 
    <xsl:template match="@*|node()"> 
    <xsl:copy> 
     <xsl:apply-templates select="@*|node()"/> 
    </xsl:copy> 
    </xsl:template> 

    <xsl:template match="/content"> 
    <html> 
     <body> 
     <xsl:apply-templates/> 
     </body> 
    </html> 
    </xsl:template> 

    <xsl:template match="para"> 
    <p> 
     <xsl:apply-templates select="@*|node()"/> 
    </p> 
    </xsl:template> 

    <xsl:template match="link"> 
    <a> 
     <xsl:apply-templates select="@*|node()"/> 
    </a> 
    </xsl:template> 

</xsl:stylesheet> 

출력

,
<html> 
    <body> 
     <p>Please click <a href="https://www.google.com">here</a> to navigate to Google search. 
     </p> 
    </body> 
</html> 

good book on XSLT을 얻고 그 내용을 먼저 읽는 것이 좋습니다.