텍스트 기반 XML 코퍼에서는 TEI 스키마를 사용하여 다양한 데이터 마크 업을 사용했습니다. 이러한 문서를 PDF로 변환하는 과정의 일부로 변환 할 xsl : fo에 대한 단순화 된 파일로 전처리하고 있습니다. 그 전처리에서 각주 번호를 할당하고 마크 업을 찾고 <sup>incremented integer</sup>
을 추가합니다. 이런XSL은 복사본에서 새로운 공백/줄 반환을 방지합니다.
라인이 처리시
<p>
<seg>
<date type="deposition_date">Item anno et die quo supra</date>. <persName>P Lapassa Senior</persName> testis iuratus idem per omnia quod predictus <persName>Hugo de Mamiros</persName>.
</seg>
</p>
:
가<xsl:template match="tei:date">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy><sup><xsl:number count="date[@type='deposition_date'" from="tei:p" format="1" level="any"/></sup>
</xsl:template>
출력한다 (<sup>
의 새로운 라인을 참고)
<p>
<seg>
<date type="deposition_date">Item anno et die quo supra</date>
<sup>1</sup>. <persName>P Lapassa Senior</persName> testis iuratus idem per omnia quod predictus <persName>Hugo de Mamiros</persName>.
</seg>
</p>
결과 될 때 xsl : fo는 <sup>
을 위 첨자로 처리합니다. ta 사이에는 공백이 있습니다. 그래서 같은 rget 및 첨자 :
상품 서기 등 현 문헌 1 다이. P는 Lapassa 고위 testis iuratus idem per omnia quod predictus Hugo de Mamiros 당.
복사 프로세스에서 새로운 줄/캐리지 리턴이 중단되는 것을 방지하는 방법이 있습니까?
추가 정보 : xsl 문서에 <xsl:strip-space elements="*"/>
이 있습니다. Saxon PE 9.6 및 HE 9.8에 대해 테스트되었습니다.
미리 감사드립니다.
입력에서 줄 바꿈이 복사 되었습니까? 당신이 제시 한 코드 스 니펫이 입력에서 줄 바꿈을 보지 못한다면, 아마도'xsl : output indent = "yes"'를 사용하여 소개되었을 것이라고 가정하고 싶습니다. –
나는 그것이 당신이 그 일을 해냈다는 것이 놀랍다는 것을 알게되었습니다. 그것은 실제로 범인이었습니다. 추가 질문 : 기술 형식으로 공백이 추가되는 이유는 무엇입니까? 필자가 수동으로 들여 쓰기를하면 코드를 쉽게 읽을 수 있도록 여러 곳에서 동일한 문제가 발생하지 않습니다. 우리의 경험에 많은 도움을 주신 많은 분들께 감사드립니다. – idjet
글쎄요, 다양한 요소에 따라 다르지만, 코드를 들여 쓰기하면 XSLT 안에 쓰게됩니다. 그렇다면 https://www.w3.org/TR/xslt20/#stylesheet-striping을 사용하면 스타일 시트 안의 대부분의 공백이 기본적으로 제거됩니다. 원본 문서의 경우 규칙은 https://www.w3.org/TR/xslt20/#strip과 다릅니다. –