XSLT에서 곱슬 따옴표를 구현하려고합니다. 그러나 일부 경우에는 실패합니다. 다음과 같은 입력을 고려해XSLT에서 곱슬 따옴표를 구현합니다.
<p>"This is a "sample quote text" that needs to be checked"</p>
지금, 내가 변환 할 바로 따옴표를 곱슬을 인용한다. 내가 온라인으로 본 모든 구현은 직선 따옴표를 바꿔 열고 닫는 곱슬 따옴표를 대체합니다. 그러나 이것은 다음과 같은 특수한 경우에 실패합니다. 필요한 출력은 다음과 같습니다.
<p>“This is a “sample quote text” that needs to be checked”</p>
인용 부호 앞에 공백이 있는지 확인하십시오. 공백이있는 경우 인용문을 열고 다른 인용문을 닫습니다. 예외는 행의 처음과 끝에있는 따옴표입니다. 따옴표가 붙었을 때 이전 문자를 확인하는 방법을 잘 모르겠으며 동시에 시작과 끝 인용문을 처리합니다.
도움을 주시면 감사하겠습니다. 고맙습니다.
XSLT 1.0 또는 2.0을 사용하고 있습니까? - 인용 문구가 항상 공백 (또는 공백 만)으로 둘러싸여 있지 않을 수도 있습니다 - 예 : "일부 인용문 "? *. –
XSLT 2.0을 사용하고 있습니다. 예를 들어 공유 한 경우 동일한 규칙이 적용되지 않습니까? 즉"일부 견적 "이라고 말한 사람이 W로 바뀔 것입니다. 호가 "견적"이라고 했어? 초기 게시물에서 시작 부분과 끝 부분의 따옴표는 따옴표를 각각 열고 닫을 것이라고 언급했기 때문에. 그냥 구현하는 방법을 모르겠다. –
음, replace() 함수를 사용하여 space + quotote를 space + opening_quote로 바꾸고 quote + space를 closing_quote + space로 바꿀 수 있습니다. 더 똑똑한 해결책은 정규식을 사용하여 찾을 수 있습니다. - 두 번째 따옴표 다음에 공백이 없으며 문자열의 마지막 문자가 아니기 때문에 동일한 규칙이 내 예제에는 적용되지 않습니다. –