2010-07-10 3 views
0

O.K. 그래서 저는 허구 책을 저술하는 웹 사이트를 개발 중입니다. 모든 문서를 XML 파일에 저장하고 서버에서 PHP로 구문 분석하고 페이지에 표시합니다. 페이지를 방문 할 수 있습니다 here for an example.xml 파일의 텍스트를 html 페이지로 페이지 매기기

배경 이미지에서 암시 한 것처럼 텍스트를 취해 두 개의 열로 나누고 (두 번째로 흘린 텍스트를 텍스트와 함께 사용) 다음을 허용합니다. 오버플로는 스크롤이 필요 없도록 페이지가 매겨집니다. 즉, XML 문서의 본문이 얼마나 오래되었는지에 따라 페이징이 포함 된 책처럼 텍스트를 읽으 려합니다.

PHP 또는 이와 비슷한 것을 사용하여 서버 측에서 수행하고 싶습니다. xsl 스타일 시트 또는 서버 측 스크립트로이 작업을 수행 할 수있는 방법이 있습니까? 나는 도처에서 찾고 있었고 아무것도 찾을 수없는 것처럼 보였다.

도움을 주시면 감사하겠습니다.

씨 돌연변이

+0

XML에 대한 요구 사항이 필요한 이유는 무엇입니까? – Cfreak

+0

XML은 eBook 및 RSS 리더기 등에서 더 쉽게 액세스 할 수 있도록 표준 전자 책 형식을 사용하려는 경우입니다. 그 단계가 올 때입니다. XML을 사용하면 모든 데이터를 실제 웹 페이지와 분리하여 서버 측에서 조작 할 수 있으므로 많은 브라우저와 장치의 비 호환성을 제거 할 수 있습니다. – user388587

답변

1

이것은 일반적으로 놀라 울 정도로 어려운 문제이며, 그것은 당신이 서버에 그것을 시도 할 경우에 문제의 끝이없는 것 하나입니다. HTML 텍스트의 페이지 매김 문제는 페이지 나누기가 클라이언트에서 완전히 우연한 경우입니다. 서버는 클라이언트의 화면 해상도, 글꼴 선택 또는 창 크기를 알지 못하며 텍스트 자체는 문제의 종속 변수입니다.

이 시점에서이 단지 않는 일부 jQuery 라이브러리 아니었지만, 내가 약 7 년 전에 나 자신을 구현했을 때, 여기에 내가 찍은 접근 있다면 내가 놀랄 것 :

가 각 열에 div을 만듭니다. 각각은 문서 텍스트 전체를 포함합니다. 고정 된 선 높이로 div의 스타일을 지정하십시오. 문서의 z- 순서에서 열 div을 맨 아래에 놓습니다. 이제 페이지의 나머지 부분을 배치하여 div이 표시 할 수있는 레이아웃에 알려진 크기의 구멍을 남기고 각각의 수직 위치를 조작하여 div의 경우 지정된 구멍 안에 처음으로 표시되는 선을 제어 할 수 있습니다 .

그런 다음 클라이언트가 글꼴 크기를 조작하게하고 구멍의 높이를 다시 계산 한 다음 div의 위치를 ​​적절히 변경하면 모든 것이 마술처럼 작동합니다.

HTML5에서 더 쉽게 수행 할 수있는 방법이있을 수 있습니다. 나는 확실히 그것에 대해 조사 할 것이다.

+0

로버트를 보내 주셔서 감사합니다. 대부분 CSS 형식으로 작성했기 때문에 텍스트 영역에 대한 크기는 정해져 있으며 (패딩이없는 각 페이지의 기본 400x300) 글꼴 크기에 대한 백분율이 있습니다. 귀하의 제안이 어떻게 작동하는지 이해하고 그 결과를 줄 것입니다. 그러나 페이지 매김과 텍스트 흐름은 어떻게됩니까? 이것이 가장 큰 문제인 것 같습니다. – user388587

+0

웹 페이지에서이 형식을 사용하기를 원합니다. PC 또는 노트북에서 볼 수 있습니다. 필자는 다른 방법을 사용하여 작은 화면의 모바일 장치 용 파일을 가져올 것입니다. – user388587

+0

+1 :이 작업의 어려움에 대한 좋은 설명과 해결을위한 기본적인 기본 전술. 명확하게 페이지 매김 (jquery + 페이지 매김을위한 google)을 지원하는 몇 가지 jquery 플러그인이 있지만, 정확히이 필요를 커버하는지 확실하지 않습니다. –