2.2 XML
XML . , XML , . . . , , line <line/>; XML , : <line> </line>. , <line> </line> . , ,
XML HTML , , XML . , , , . , , , , , , , [2].
XML , , , .
2.3 XSL
XSL (, ) , , , . XML : XSLT XSL-FO.
XSLT XML XML-. XSL. XSLT XML , [2].
XSLT- , . , . () XSLT , .
XSL-FO , . , HTML CSS. , XSL-FO , , , , . CSS, -, XSL-FO . , , XSL, . - [4].
|
|
XML-, XSL- http://www.w3.org/1999/XSL/Format ( XSLT http://www.w3.org/1999/XSL/Transform), , , fo. , , , " " sans-serif, 14 . <fo:block>:
<fo:block font-family=sans-serif line-height=8pt font-size=14pt>
</fo:block>
fo:block, font-fami1, line-height font-size, . fo-, .
2.4
xml-, , : XMLConverter, MSXSL Apache FOP. , , xml- xml-. , . XSLT-, xsl-, xml-. fo-. xml- xsl-. fo- pdf-, Apache FOP.
. xml- pdf-. , .
3 XML- PDF-
3.1 xml-
XML . (, ) . , . . . , . , , . , .
, . , XML. , , . xml- . , XML , xml, : <?xml version="1.0" encoding="UTF-8"?>. encoding, UTF-8 ( Unicode). version XML. [1]
|
|
, , , 3.1. , , , , , , , , . . , , . , . : , , , , , . . : 10, 30, 39. 0. , 10, N 9.
3.1
, , . , PartList, .
XML . <specification> </specification>. , , <stamp/>. <stamp/> : OBOZNACHENIE, NAIMENOVANIE_1, NAIMENOVANIE_2, NAIMENOVANIE_3, NAIMENOVANIE_4, NAIMENOVANIE_5, RAZRABOTAL, PROVERIL, N_KONTROL, UTVERDIL, NAZVANIE_ORGANIZACII_1, NAZVANIE_ORGANIZACII_2, PERVICH_PRIM, kline_before, kline_after, kpage. 3.1. , , ( 5). NAZVANIE_ORGANIZACII_2 , .
3.1 - <stamp/> | |
OBOZNACHENIE | |
NAIMENOVANIE_1 | , 1 |
NAIMENOVANIE_2 | , 2 |
NAIMENOVANIE_3 | , 3 |
NAIMENOVANIE_4 | , 4 |
NAIMENOVANIE_5 | , 5 |
3.1 | |
RAZRABOTAL | |
PROVERIL | |
N_KONTROL | |
UTVERDIL | |
NAZVANIE_ORGANIZACII_1 | , 1 |
NAZVANIE_ORGANIZACII_2 | , 2 |
PERVICH_PRIM | |
kline_before | |
kline_after | |
Kpage |
<section/>. , s_NAIMENOVANIE. s , <section/>.
, , <line/>. 3.2. ( PRIMECHANIE), (PRIMECHANIE_1 PRIMECHANIE_2, ).
3.2 - <line/> | |
FORM | |
ZONE | |
POZICIA | |
OBOZNACHENIE | |
NAIMENOVANIE | |
KOL-VO_0 | 0 |
..
..
..
KOL-VO_N | N |
PRIMECHANIE | |
PRIMECHANIE_1 | , 1 |
PRIMECHANIE_2 | , 2 |
XML. . .
|
|
<?xml version="1.0" encoding="UTF-8"?>
<specification>
<stamp OBOZNACHENIE="" NAIMENOVANIE_1="" NAIMENOVANIE_2="" NAIMENOVANIE_3="" NAIMENOVANIE_4="" NAIMENOVANIE_5="" RAZRABOTAL="" PROVERIL="" N_KONTROL="" UTVERDIL=""
NAZVANIE_ORGANIZACII_1=", " NAZVANIE_ORGANIZACII_2="-022"
PERVICH_PRIM = ""
kline_before="2" kline_after="1" kpage="3"/>
<section s_NAIMENOVANIE=""/>
<line FORM="" ZONE="" POZICIA="" OBOZNACHENIE="35-1.00.000 " NAIMENOVANIE=" " KOL-VO_0="" PRIMECHANIE="" PRIMECHANIE_1="" PRIMECHANIE_2=""/>
<!-- <line /> -->
<line FORM="" ZONE="" POZICIA="" OBOZNACHENIE="35-1.00.000 " NAIMENOVANIE=" " KOL-VO_0="" PRIMECHANIE="" PRIMECHANIE_1="" PRIMECHANIE_2=""/>
<section s_NAIMENOVANIE=" "/>
<line FORM="" ZONE="" POZICIA="1" OBOZNACHENIE="34-1.05.000" NAIMENOVANIE="" KOL-VO_0="1" PRIMECHANIE="" PRIMECHANIE_1="" PRIMECHANIE_2=""/>
<line FORM="" ZONE="" POZICIA="2" OBOZNACHENIE="35-1.01.003" NAIMENOVANIE="" KOL-VO_0="3" PRIMECHANIE="" PRIMECHANIE_1="" PRIMECHANIE_2=""/>
</specification>
, , xml-. (, , FORM="") , xml-.
3.2 XSLT- XSL
XSLT- xml-. XML , : <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"/>. xsl xmlns, , xsl. version XSL [1].
xml- <xsl:template> match, . : <xsl:template match="specification"> </xsl:template>. specification () xml-. , , . , match="specification/table" , table. /.
, XML, <xsl:value-of> select, , . , select="stamp/@RAZRABOTAL". . , stamp , , specification, xsl:template, select ( xsl:value-of), , ( specification) . , @ .
|
|
xsl:template , , . , . <xsl:apply-templates>. math , .
xsl:apply-templates .
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="specification">
<xsl:apply-templates select="*"/>
</xsl:template>
<xsl:template match="line | section">
.. <!-- -->
</xsl:template>
<xsl:stylesheet>
. , <xsl:template match="specification"> </xsl:template> specification. xsl:apply-templates, , , specification . select [1]. select *, specification. select . :
<xsl:template match="line | section">
.. <!-- -->
</xsl:template>
match line section ( specification). | ().
, xsl:apply-templates ( ), , , . , mode [4]. xsl- .
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="specification">
<xsl:apply-templates select="*[13>position()]"/>
<xsl:apply-templates select="*[position()>11]" mode="page_B"/>
</xsl:template>
<xsl:template match="line | section">
.. <!-- -->
</xsl:template>
<xsl:template match="line | section" mode="page_B">
.. <!-- -->
</xsl:template>
<xsl:stylesheet>
, , xsl:apply-templates . , xsl:template, . xsl:apply-templates , . xsl:apply-templates.
XPath [1]. position() . *[position()>11], , , 11. [ ] . .
3.3 XSL
xsl- : XSLT XSL-FO. xml- ( XML), .
, , , , . , . , , , . , . , , . , , .
|
|
XML-FO . fo:root. fo:layout-master-set fo:page-sequence. fo:page-sequence . fo:layout-master-set , - [4]. -, fo:simple-page-master, , , , . fo:simple-page-master , : . , 3.3.
3.3 | |
Page-height | |
Page-width | |
margin-top | |
Margin-bottom | |
margin-left | |
margin-right |
XML-FO : , , ( ), ( ) . fo:simple-page-master, 3.4.
3.4 | |
region-body | |
Region-before | |
region-after | |
region-start | |
region-end |
, , region-body, extent. region-before region-after . region-start region-end . () , [4]. , . , . , . , , . 3.3.
xsl- .
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:fo="http://www.w3.org/1999/XSL/Format">
<xsl:template match="specification">
<fo:root>
<fo:layout-master-set>
<fo:simple-page-master page-height="210mm"
page-width="297mm"
margin-top="8mm"
margin-bottom="5mm"
margin-left="5mm"
margin-right="5mm">
<fo:region-body margin-top="27mm"
margin-bottom="90mm"
margin-left="0mm"
margin-right="0mm"/>
<fo:region-before extent="27mm"/>
<fo:region-after extent="90mm"/>
</fo:simple-page-master>
</fo:layout-master-set>
<fo:page-sequence>
... <!-- -->
</fo:page-sequence>
</fo:root>
</xsl:template>
</xsl:stylesheet>
, , , , , . , . , fo:simple-page-master master-name . fo:page-sequence, , master-reference. - fo:layout-master-set [1].
fo:page-sequence-master. fo:layout-master-set, , -. . fo:single-page-master-reference master-reference, -. XSL, .
<fo:layout-master-set>
<fo:simple-page-master master-name="page1"
page-height="310mm"
page-width="397mm"
margin-top="8mm"
margin-bottom="5mm"
margin-left="5mm"
margin-right="5mm">
<fo:region-body margin-top="37mm"
margin-bottom="90mm"
margin-left="0mm"
margin-right="0mm"/>
<fo:region-before extent="37mm"/>
<fo:region-after extent="90mm"/>
</fo:simple-page-master>
<fo:simple-page-master master-name="page3"
page-height="310mm"
page-width="397mm"
margin-top="8mm"
margin-bottom="5mm"
margin-left="5mm"
margin-right="5mm">
<fo:region-body
margin-top="37mm"
margin-bottom="15mm"
margin-left="0mm"
margin-right="0mm"/>
<fo:region-before extent="37mm"/>
<fo:region-after extent="15mm"/>
</fo:simple-page-master>
<fo:page-sequence-master master-name="contents">
<fo:single-page-master-reference master-reference="page1"/>
<fo:single-page-master-reference master-reference="page3"/>
</fo:page-sequence-master>
</fo:layout-master-set>
, , , . fo:static-content flow-name, , [2]. , fo:static-content fo:page-sequence. flow-name 3.5.
3.5 | |
flow-name | |
xsl-region-body | |
xsl-region-before | |
xsl-region-after | |
xsl-region-start | |
xsl-region-end |
, , . , XSLT xml-, . fop-, fo-, , . , fop- . , fo- PDF. , FO, XML, PDF. XSL-FO fo:flow. , -. : fo:block, fo:block-container, fo:table [1].
fo:block . . . xsl- fo:block . , . Fop- ( , ). . , , 3.6.