2017-02-21 18 views
1

libxml2를 사용하면 표준 문자 엔티티 (<, >, ', ", &)를 XPath 표현식으로 대체 할 수 있습니까?XPath에서 문자 엔티티를 대체하는 방법은 무엇입니까?

예를 들어, 나는 그래서 그것을 확인하고 싶은 : 값 속성에 대한 1 < 2

  • item[@id="3&quot; bracket"] 검색어가 포함 된 콘텐츠에 대한

    • math[contains(., '1 &lt; 2') 검색을 3" bracket

    libxml2를 편리 이들 엔티티를 대체 XML을 파싱 할 때 기본적으로 사용되지만 XPath 표현식을 평가할 때는 사용되지 않습니다. XPath를 대체 할 수있는 방법이 있습니까?

    (편집 : libxml2를의 documentation about entities에서 XPath에 대해 아무것도 표시되지 않습니다.)

    (편집 :.이 작업을 수행 할 수있는 방법이 아니라면, 그때 내가 대답으로 왜의 설명을 받아 들일 libxml2를 XML의 구현에있어 매우 철저한 것으로 보이므로 지원되지 않는다면 의도적 인 선택이거나 제 제안이 어떻게 든 문제가되는 것 같습니다.)

  • 답변

    2

    아니요. XPath는 어휘와 독립적으로 정의됩니다 XML. XPath 자체는 특수 목적과 충돌하지 않고 <& 문자를 포함 할 수 있으므로 XPath에는 문자 엔티티가 필요하지 않습니다. XPath의이 XML 내에서 사용되는

    (예를 들어, XSLT에서), 그것은 <& 탈출해야합니다 XML 파싱, 그리고 그것은 문자열 (는 XPath 라이브러리 포함) 응용 프로그램을 제공하는 XML 파서입니다 문자 엔터티가 리터럴 정의로 확장되는 XPath 식의 값입니다.