codememo

XSL: xsl: template의 match="/"의 의미

tipmemo 2023. 10. 20. 13:41
반응형

XSL: xsl: template의 match="/"의 의미

저는 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을 처음 접하는 사람들에게는 혼란스러운 일이기 때문에 주목할 필요가 있습니다.최상위 요소의 상위 요소입니다.이것은 상위 요소가 부모를 가질 수 없는 것처럼 보이기 때문에 혼란스럽습니다.1층 아닌가요?

하지만 이것을 보세요, 잘 구성된 XML 문서입니다.

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

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

예를 들어, 해당 주석을 제거하고 문서의 다른 곳에 표시되는 주석을 남긴 변환을 작성하고자 할 경우, ID 변환에 다음을 추가합니다.

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

이름에 관계없이 문서의 최상위 단계 요소와 일치하는 XPath 패턴이 더 간단합니다./*.

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

매치 속성에 추가할 수 있는 것이 무엇인지 의미 있게 이해하려면 Xpath가 무엇이고 어떻게 사용하는지 이해해야 합니다.답변 하단에 제가 제공해드린 링크를 확인해보시기를 권합니다.

글을 써도 될까요?table또는 그 밖의 것html"대신 태그를 지정합니다./" ?

네, 가능합니다.하지만 이것은 당신이 정확히 무엇을 하려고 하는지에 달려있습니다.대상 xml 파일에 HTML 요소가 포함되어 있고 이를 적용하려는 경우xsl:template그들에게, 사용하는 것은 말이 됩니다.table,div아니면 다른 어떤 것이든.

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

언급URL : https://stackoverflow.com/questions/3127108/xsl-meaning-of-match-for-xsltemplate

반응형