IT이야기

name()과 local-name()의 차이점

cyworld 2021. 10. 24. 21:21
반응형

name()과 local-name()의 차이점은 무엇입니까?


XPath 기능 namelocal-name.

서로 다른 상황의 예를 들어 주시겠습니까?

편집하다

이 예를 보면:

<?xml version="1.0" ?>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  <head></head>
</html>

다음 두 쿼리로 동일한 결과를 얻습니다. //*[local-name()="head"]//*[name()="head"]. 왜 그런 겁니까?


XML이 있는 상태에서

<x:html xmlns:x="http://www.w3.org/1999/xhtml"/>

스타일시트

<xsl:stylesheet
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  version="1.0">

  <xsl:output indent="yes"/>

  <xsl:template match="*">
    <local-name><xsl:value-of select="local-name()"/></local-name>
    <name><xsl:value-of select="name()"/></name>
  </xsl:template>

</xsl:stylesheet>

출력

<local-name>html</local-name>
<name>x:html</name>

따라서 local-name()결과에는 접두사가 없고 결과에 접두사 the name()가 포함될 수 있습니다.

기본 네임 스페이스 선언과 샘플에서 접두어 그러므로, 존재하지 name()local-name()같은 결과를 제공합니다.

ReferenceURL : https://stackoverflow.com/questions/2462248/what-is-the-difference-between-name-and-local-name

반응형