ISO/IEC 9075-14 (SQL/토토 핫)의 토토 핫 관련 사양에 대한 중요한 개정이 SQL : 2006에서 도입되었습니다.PostgreSQL의 토토 핫 데이터 유형 및 관련 기능의 구현은 2003 년 이전 판을 크게 따릅니다. 특히:
현재 표준이 토토 핫 데이터 유형의 제품군을 제공하는 곳“문서”또는“컨텐츠”유형 또는 토토 핫 스키마 유형 변형 및 유형토토 핫 (시퀀스)
토토 핫 컨텐츠의 임의의 조각을 보유하려면PostgreSQL단일 제공토토 핫
유형, 잡을 수있는 유형“Document”또는“컨텐츠”. 표준과 동등한 것은 없습니다“시퀀스”타입.
PostgreSQLSQL : 2006에서 도입 된 두 가지 기능을 제공하지만 표준에 지정된 토토 핫 쿼리 대신 XPATH 1.0 언어를 사용하는 변형에서
이 섹션은 당신이 겪을 수있는 결과 차이 중 일부를 제시합니다.
PostgreSQL-특이 적 함수xpath ()
andxpath_exists ()
XPath 언어를 사용하는 토토 핫 문서 쿼리.PostgreSQL표준 함수의 XPath 전용 변형을 제공토토 핫exists
and토토 핫table
10687_10761PostgreSQLlib토토 핫2XPath 1.0 만 제공하는 도서관 |
XQuery 언어와 XPath 버전 2.0 이상 사이에는 강한 연결이 있습니다. 구문 적으로 유효하고 두 가지에서 성공적으로 실행되는 모든 표현식은 동일한 결과를 생성합니다 (숫자 문자 참조를 포함하는 표현식 또는 사전 정의 된 엔티티 참조를 포함하는 표현식에 대해서는 사소한 예외가 있습니다. 그러나 이러한 언어와 XPath 1.0 사이에는 그러한 연결이 없습니다. 그것은 이전의 언어 였고 여러 측면에서 다릅니다.
명심해야 할 두 가지 범주의 한계가 있습니다 : SQL 표준에 지정된 함수에 대한 xQuery에서 XPath로의 제한, 표준과 표준 모두에 대한 XPath의 버전 1.0에 대한 제한이 있습니다.PostgreSQL-특이 적 함수.
XQUPER를 넘어서 XQuery의 특징은 다음과 같습니다.
XQuery 표현식은 가능한 모든 XPATH 값 외에도 새로운 토토 핫 노드를 구성하고 반환 할 수 있습니다. XPath는 원자 유형 (숫자, 문자열 등)의 값을 생성하고 반환 할 수 있지만 표현식에 입력 한 문서에 이미 제공된 토토 핫 노드 만 반환 할 수 있습니다..
XQuery는 반복, 정렬 및 그룹화를위한 제어 구성이 있습니다.
XQuery는 로컬 기능의 선언 및 사용을 허용합니다.
최근 XPath 버전은 기능과 겹치는 기능을 제공하기 시작합니다 (예 : 기능 스타일for-each
andSort
, 익명 함수 및parse-토토 핫
문자열에서 노드를 생성하려면 xpath 3.0 이전에는 이러한 기능을 사용할 수 없었습니다.
XQuery 및 XPath 2.0에 익숙한 개발자의 경우 XPath 1.0은 다음과 같은 여러 차이를 나타냅니다.
xquery/xpath 표현식의 기본 유형,시퀀스
13715_13908
원하는 순서로 원하는 항목을 포함 할 수있는 XQuery/XPath 시퀀스와 달리 XPath 1.0 노드 세트는 주문이 보장되지 않으며 어떤 세트와 마찬가지로 동일한 항목의 여러 모양을 허용하지 않습니다..
thelib토토 핫2라이브러리는 항상 노드 세트를 반환하는 것 같습니다PostgreSQL입력 문서에있는 동일한 상대 순서로 회원과 함께. 문서화는이 동작에 전념하지 않으며 XPath 1.0 표현식은 그것을 제어 할 수 없습니다.
XQuery/XPath는 토토 핫 스키마에 정의 된 모든 유형을 제공하고 해당 유형에 대한 많은 연산자 및 기능을 제공하지만 XPath 1.0은 노드 세트 만 있으며 세 가지 원자 유형부울
, 더블
및String
.
XPath 1.0에는 조건부 연산자가 없습니다. xquery/xpath 표현식if (모자) 그런 다음 모자/@size else "no mat"
XPath 1.0에 해당하지 않습니다.
xpath 1.0에는 문자열에 대한 주문 비교 연산자가 없습니다. 둘 다"cat"< "dog"
and"고양이" "개"
는 False입니다. 각각은 두 가지를 숫자 비교하기 때문입니다NAN
s. 대조적으로,=
and! =
문자열을 문자열과 비교하십시오.
XPath 1.0 간의 구별이 흐려집니다가치 비교and일반 비교xquery/xpath가 그것들을 정의합니다. 둘 다sale/@hatsize = 7
and판매/@customer = "Alice"
실존 적으로 정량화 된 비교, 사실이 있다면 사실판매
속성에 주어진 값이 있지만sale/@taxable = false ()
|유효 부울 가치전체 노드 세트. 아니요만이 사실입니다.판매
a과세
전혀 속성.
XQuery/XPath 데이터 모델에서 A문서 노드는 문서 양식 (즉, 댓글 및 처리 지침 만 포함하는 최상위 요소 1 개) 또는 컨텐츠 양식 (해당 제약 조건이 완화 됨)을 가질 수 있습니다. 그것의 XPath 1.0,에 해당합니다.루트 노드는 문서 형식으로 만있을 수 있습니다. 이것이 이유 중 일부입니다토토 핫
값은 컨텍스트 항목으로 전달되었습니다PostgreSQLxpath 기반 함수는 문서 형식이어야합니다.
여기서 강조된 차이점은 모두 그분이 아닙니다. XQuery와 2.0 이상의 XPath 버전에는 XPath 1.0 호환 모드가 있으며 W3C 목록이 있습니다.기능 라이브러리 변경and언어 변경해당 모드에 적용되는 것은 차이점에 대한보다 완전한 (아직 철저하지는 않지만) 설명을 제공합니다. 호환성 모드는 이후 언어를 XPath 1.0과 정확히 동일하게 만들 수 없습니다.
SQL : 2006 이상에서 표준 SQL 데이터 유형과 토토 핫 스키마 유형 사이의 양방향 방향이 정확하게 지정됩니다. 그러나 규칙은 XQuery/XPath의 유형과 의미를 사용하여 표현되며 XPath 1.0의 다른 데이터 모델에 직접 응용 프로그램이 없습니다..
언제PostgreSQLSQL 데이터 값을 토토 핫에 맵핑합니다 (토토 핫element
) 또는 토토 핫에서 SQL (의 출력 열에서와 같이토토 핫table
), 특별히 처리 된 몇 가지 사례를 제외하고PostgreSQL단순히 토토 핫 데이터 유형의 XPath 1.0 문자열 양식이 SQL 데이터 유형의 텍스트 입력 양식으로 유효 할 것이라고 가정합니다. 이 규칙은 많은 데이터 유형에 대해 표준에 지정된 매핑과 유사한 결과를 생성하는 동안 단순성의 미덕을 가지고 있습니다.
다른 시스템과의 상호 운용성이 우려되는 경우 일부 데이터 유형의 경우 데이터 유형 형식 형식 기능 (예 :을 사용해야 할 수도 있습니다.PostgreSQL : 문서 : 15 : 9.8. 데이터 유형 사설 토토 사설 토토 기능) 명시 적으로 표준 매핑을 생성합니다.
이 섹션은 내재 된 한계와 관련이 있습니다lib토토 핫2라이브러리이지만 현재 구현에 적용PostgreSQL.
value
전달 메커니즘이 지원SQL 표준은 두 가지를 정의합니다전달 메커니즘토토 핫 인수를 SQL에서 토토 핫 함수로 전달하거나 결과를 수신 할 때 적용됩니다.by ref
, 특정 토토 핫 값이 노드 아이덴티티를 유지하고by value
20214_20444
차이를 설명하려면x
는 토토 핫 값이며, SQL : 2006 환경 의이 두 쿼리는 각각 참과 거짓을 생성합니다..
토토 핫Query를 선택하십시오 ( '$ a is $ b'refx
as,x
비어있는 B 널로); 선택 XmlQuery ( '$ a is $ b'value에 따라 전달x
as,x
b 비어있는 b null);
postgresql허용by value
또는ref
in토토 핫exists
또는토토 핫table
구성하지만 무시합니다. 그만큼토토 핫
Data Type은 캐릭터 스트링 직렬화 된 표현을 보유하고 있으므로 보존 할 노드 아이덴티티가 없으며 항상 효과적으로 통과합니다value
.
XPath 기반 함수는 XPath 표현식의 컨텍스트 항목으로 작용하기 위해 하나의 매개 변수를 전달하는 지원을 지원하지만, 표현식에 명명 된 매개 변수로 사용할 수 있도록 추가 값을 전달하는 것을 지원하지 않습니다..
토토 핫 (시퀀스)
타입thePostgreSQL 토토 핫
데이터 유형은 값만 값을 보유 할 수 있습니다문서
또는컨텐츠
양식. xquery/xpath 표현식 컨텍스트 항목은 단일 토토 핫 노드 또는 원자 값이어야하지만 XPath 1.0은 토토 핫 노드로만 제한되며 NODE 유형이 없습니다컨텐츠
. 상향은 잘 형성된 것입니다문서
PostgreSQLXPath 컨텍스트 항목으로 공급할 수 있습니다.
문서에 올바르지 않은 내용이 있으면 일치하지 않습니다. 특정 기능에 대한 귀하의 경험 또는 추가 설명이 필요합니다. 사용이 양식문서 문제를보고하려면