programing

XSL xsl : 템플릿 일치 =“/”

shortcode 2021. 1. 16. 20:23
반응형

XSL xsl : 템플릿 일치 =“/”


저는 XML과 XSL 파일 사용 방법을 배우고 있습니다. XSL 파일에서 다음 용어를 찾았습니다.

xsl:template match="/"

이것은 무엇을 의미합니까? 그리고 대신 무엇을 사용할 수 /있습니까? table대신에 또는 다른 HTML 태그를 작성할 수 /있습니까?


명령어 match속성 값은 일치 패턴<xsl:template> 이어야합니다 .

일치 패턴은 가능한 모든 XPath 표현식 집합의 하위 집합을 구성합니다 . 첫 번째, 자연스러운 제한은 일치 패턴이 노드 집합을 선택해야한다는 것입니다. 다른 제한 사항도 있습니다. 특히, 역축은 위치 단계에서 허용되지 않습니다 (그러나 조건 자 내에서 지정 될 수 있음). 또한 XSLT 1.0에서는 변수 또는 매개 변수 참조가 허용되지 않지만 XSLT 2.x에서는이를 사용할 수 있습니다.

/XPath에서 루트 또는 문서 노드를 나타냅니다 . XPath 2.0 (따라서 XSLT 2.x)에서는 document-node().

일치 패턴에는 //약어 가 포함될 수 있습니다 .

일치 패턴의 예 :

<xsl:template match="table">

라는 모든 요소에 적용 할 수 있습니다 table.

<xsl:template match="x/y">

y부모가라는 요소 인 모든 요소에 적용될 수 있습니다 x.

<xsl:template match="*">

모든 요소에 적용 할 수 있습니다.

<xsl:template match="/*">

XML 문서의 최상위 요소에만 적용 할 수 있습니다.

<xsl:template match="@*">

모든 속성에 적용 할 수 있습니다.

<xsl:template match="text()">

모든 텍스트 노드에 적용 할 수 있습니다.

<xsl:template match="comment()">

모든 주석 노드에 적용 할 수 있습니다.

<xsl:template match="processing-instruction()">

모든 처리 명령 노드에 적용될 수 있습니다.

<xsl:template match="node()">

요소, 텍스트, 주석 또는 처리 지침 등 모든 노드에 적용 할 수 있습니다.


XML을 처음 접하는 사람들에게는 혼란 스럽기 때문에 XML 문서의 루트 (또는 문서 노드)가 최상위 요소가 아니라는 점은 주목할 가치가 있습니다. 최상위 요소의 부모입니다. 이것은 최상위 요소가 부모를 가질 수있는 것처럼 보이지 않기 때문에 혼란 스럽습니다. 최고 수준이 아닙니까?

그러나 잘 구성된 XML 문서를보십시오.

<?xml-stylesheet href="my_transform.xsl" type="text/xsl"?>
<!-- Comments and processing instructions are XML nodes too, remember. -->
<TopLevelElement/>

이 문서의 루트에는 처리 명령, 주석 및 요소의 세 가지 하위 항목이 있습니다.

예를 들어, 해당 주석을 제거하고 문서의 다른 곳에 나타나는 주석을 남기는 변환을 작성하려는 경우 다음을 identity 변환에 추가합니다.

<xsl:template match="/comment()"/>

훨씬 더 간단하고 일반적으로 유용하지만 이름에 관계없이 문서의 최상위 요소와 일치하는 XPath 패턴이 /*있습니다.


match 속성은 템플릿 변환이 적용될 부분을 나타냅니다. 이 경우 "/"는 xml 문서의 루트를 의미합니다. 일치 속성에 제공해야하는 값은 XPath 표현식이어야합니다. XPath는 대상 xml 파일의 특정 부분을 참조하는 데 사용해야하는 언어입니다.

match 속성에 넣을 수있는 다른 것에 대한 의미있는 이해를 얻으려면 xpath가 무엇이며 어떻게 사용하는지 이해해야합니다. 답변 하단에서 내가 제공 한 링크를 살펴 보시기 바랍니다.

"/"대신 "table"이나 다른 html 태그를 작성할 수 있습니까?

그래 넌 할수있어. 그러나 이것은 정확히 무엇을 하려는지에 달려 있습니다. 대상 xml 파일에 HMTL 요소가 포함되어 있고 여기에이 xsl : template을 적용하려는 경우 table, div 또는 anithing을 사용하는 것이 좋습니다.

다음은 몇 가지 링크입니다.

참조 URL : https://stackoverflow.com/questions/3127108/xsl-xsltemplate-match

반응형