2010-08-02 2 views
5

저는 HTML로 책이나 기사를 편집하고 있습니다. 이 텍스트는 한 번 인쇄 된 후 스캔하여 중간 XML 형식으로 변환 한 다음 XSLT로 HTML로 변환합니다. 이 텍스트 중 일부는 현재 시장에서 사라 졌으므로 주요 라이브러리를 통해서만 사용할 수 있으므로 사람들을 원본 문서의 페이지 번호를 참조하여 인용 할 수 있도록 해당 텍스트를 게시하고 싶습니다. 이를 위해 중간 중간 XML 형식에는 페이지 나누기를 표시하는 요소가 있습니다. 지금 나는 XML-> HTML 변환 작업을하고 있으며 HTML에서 이러한 페이지 나누기를 변환하는 방법을 알고 싶어합니다. 그것들은 기본적으로 최종 HTML에 나타나서는 안되기 때문에 (간단하다) 필자는 필요할 때 마커를 보여주는 경량의 JavaScript로이 문서들을 포장 할 계획이다. 나는 <span> s에 대해 생각했다. 기본적으로 숨겨져 있습니다.HTML에서 의미 상으로는 페이지 나누기를 표현하는 방법은 무엇입니까?

이 문제에 대한 더 나은, 의미있는 방법이 있을까요?

답변

3

페이지 나누기 매우 레이아웃의 일이고, 당신은 아무것도 찾을하지 않을 수 있도록 HTML은 레이아웃을 설명하기 위해 설계되지 않았습니다 언어 내에서 이것을 의미합니다.

당신이 바라는 것이 최선의 방법은 일종의 kludge입니다.

단락의 중간에서 페이지 나누기가 발생할 수 있고 <p> 요소가 인라인 요소 만 포함 할 수 있으므로 처음부터 대부분의 옵션을 제거 할 수 있습니다.

나를 제안하는 두 가지 가능성은 <span><a>입니다. 전자는 의미가 없으며, 후자는 (name 속성으로) 또는 from (href 속성으로) 링크되도록 고안되어 있으며 원본 문서의 페이지를 링크하려는 것으로 생각할 수 있습니다.

사용하는 요소에 상관없이 마커를 포함하지 않고 CSS로 숨길 수 있습니다. 그 종류의 프리젠 테이션 플래그는 스타일 시트에 :before을 통해 추가하는 것으로 간주됩니다 (토글을 원하기 때문에 JS로 토글 할 수있는 바디 클래스의 자손 선택자와 결합)

또는 "HTML"의 의미에 대한 (매우) 광범위한 견해는 (XHTML 2 초안에서 벗어난) l element을 고려하고 원본 문서의 각 줄을 마크 업할 수 있습니다. 클래스를 추가하면 새 페이지가 시작된 위치가 표시됩니다. CSS 카운터와 테두리를 사용하여 원하는 각 페이지와 번호를 명확하게 나타낼 수 있습니다. 안타깝게도 브라우저 공급 업체는 실제 시맨틱 마크 업 언어를 사용하지 않고 대신 HTML 5를 선호했습니다.

+0

나는 스팬이나 무언가를 넣어야한다고 생각한다. 크롬이 비어있는 것들을 좋아하지 않는 것처럼 보이기 때문이다. (다음 스팬이 나타날 때까지 빈 스팬 후에 다음 요소들을 빨아 들인다. 개발자 도구에서 볼 수 있습니다 ...) 감사합니다. 나는 "a"를 가지고 뭔가를 갈 것입니다. 연결 때문에 ... 나중에 사용할 수 있습니다. – Struce

0

어쩌면 xml 태그를 구문 분석하지 않고/html로 해석 한 <pagebreak/>과 같이 사용할 수 있습니다.

이러한 방식으로 html을 볼 때 태그는 렌더링되지 않지만 jQuery 또는 다른 자바 스크립트 라이브러리를 사용하여 묻는다면 표준
또는 시각적 표시의 특정 태그를 변환합니다. 나는이 의미 론적 방법이 될 수 있다고 생각

...

+0

...하지만이 아닌 HTML 방식을. – Quentin

+0

이 요소에 대해 별도의 네임 스페이스를 사용하여 유효성을 검사 할 수 있습니까? (html로 내보낼 때 단어가 그렇듯이). 그럼 난 여전히 자바 스크립트로 그 요소로 물건을 할 수 있을까요? – Struce

+0

예, HTML 방식이 아니라 XHTML 방식 일 수 있습니다. @Struce : 특수 태그에 네임 스페이스를 사용할 수 있으며 Javascript가이를 처리하고 다른 표준 및 표시 XHTML 태그로 변환 할 수 있습니다. – Impiastro

2

각 페이지에 대한 <div class="Page">를 사용하여 스타일 시트 포함이 :

.Page { 
    page-break-after: always; 
} 
+1

... 페이지 나누기가 중간 단락으로 표시되면? – Quentin

관련 문제