Warning, /libraries/binschema/src/pdf.xml is written in an unsupported language. File is not indexed.
0001 <!-- This document is a loose version of a way to describe parts of a PDF -->
0002 <mso xmlns="http://www.example.org/mso" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
0003 xsi:schemaLocation="http://www.example.org/mso mso.xsd">
0004 <struct name="PDF">
0005 <type name="header" type="Header" />
0006 <type name="body" type="Body" />
0007 <type name="crossReferenceTable" type="CrossReferenceTable" />
0008 <type name="trailer" type="Trailer" />
0009 </struct>
0010 <struct name="Whitespace">
0011 <uint8 name="ws">
0012 <limitation value="0x00|0x09|0x0A|0x0C|0x0D|0x20" />
0013 </uint8>
0014 </struct>
0015 <struct name="Delimiter">
0016 <uint8 name="delimiter">
0017 <limitation value="'('|')'|'['|']'|'{'|'}'|'/'|'%'" />
0018 </uint8>
0019 </struct>
0020 <struct name="Digit">
0021 <uint8 name="digit">
0022 <limitation value="'0'|'1'|'2'|'3'|'4'|'5'|'6'|'7'|'8'|'9'" />
0023 </uint8>
0024 </struct>
0025 <struct name="Eol">
0026 <hex>0D0A</hex>
0027 </struct>
0028 <struct name="Header">
0029 <text>%PDF-1.3</text>
0030 <type name="ws" type="Whitespace" minOccurs="1" maxOccurs="unbounded" />
0031 </struct>
0032 <struct name="Body">
0033 <type name="objects" type="Object" minOccurs="0" maxOccurs="unbounded" />
0034 </struct>
0035 <struct name="CrossReferenceLine">
0036 <type name="offset" count="10" type="Digit" />
0037 <hex>20</hex>
0038 <type name="generation" count="5" type="Digit" />
0039 <hex>20</hex>
0040 <uint8 name="state">
0041 <limitation value="'n'|'f'" />
0042 </uint8>
0043 <hex>0D0A</hex>
0044 </struct>
0045 <struct name="CrossReferenceSection">
0046 <type name="start" array="true" type="Digit" />
0047 <hex>20</hex>
0048 <type name="offset" array="true" type="Digit" />
0049 <type name="ws" type="Whitespace" minOccurs="1" maxOccurs="unbounded" />
0050 <type name="entries" type="CrossReferenceLine" minOccurs="1"
0051 maxOccurs="unbounded" />
0052 </struct>
0053 <struct name="CrossReferenceTable">
0054 <text>xref</text>
0055 <type name="ws" type="Whitespace" minOccurs="1" maxOccurs="unbounded" />
0056 <type name="sections" type="CrossReferenceSection" minOccurs="1"
0057 maxOccurs="unbounded" />
0058 </struct>
0059 <struct name="Boolean">
0060 <fixedchoice name="boolean">
0061 <text>true</text>
0062 <text>false</text>
0063 </fixedchoice>
0064 </struct>
0065 <struct name="Integer">
0066 <uint8 name="sign">
0067 <limitation value="'+'|'-'" />
0068 </uint8>
0069 <type name="value" minOccurs="1" maxOccurs="unbounded" type="Digit" />
0070 </struct>
0071 <struct name="Real">
0072 <uint8 name="sign">
0073 <limitation value="'+'|'-'" />
0074 </uint8>
0075 <type name="integer" minOccurs="0" maxOccurs="unbounded" type="Digit" />
0076 <text>.</text>
0077 <type name="fraction" minOccurs="0" maxOccurs="unbounded" type="Digit" />
0078 </struct>
0079 <struct name="Number">
0080 <choice name="value">
0081 <type type="Integer" />
0082 <type type="Real" />
0083 </choice>
0084 </struct>
0085 <struct name="EscapedCharacter">
0086 <text>\</text>
0087 <uint8 name="character" />
0088 </struct>
0089 <struct name="ParenthesisStringCharacters">
0090 <uint8 name="literal" minOccurs="1" maxOccurs="unbounded">
0091 <limitation expression="!='\'" />
0092 <limitation expression="!=')'" />
0093 <limitation expression="!='('" />
0094 </uint8>
0095 </struct>
0096 <struct name="ParenthesisString">
0097 <text>(</text>
0098 <type name="string" type="ParenthesisStringContent" array="true" />
0099 <text>)</text>
0100 </struct>
0101 <struct name="ParenthesisStringContent">
0102 <choice name="content">
0103 <type type="EscapedCharacter" />
0104 <type type="ParenthesisStringCharacters" />
0105 <type type="ParenthesisString" />
0106 </choice>
0107 </struct>
0108 <struct name="Hexadecimal">
0109 <uint8 name="character">
0110 <limitation
0111 value="'0'|'1'|'2'|'3'|'4'|'5'|'6'|'7'|'8'|'9'|'a'|'b'|'c'|'d'|'e'|'f'|'A'|'B'|'C'|'D'|'E'|'F'" />
0112 </uint8>
0113 </struct>
0114 <struct name="HexadecimalStringContent">
0115 <type type="Hexadecimal" name="a" />
0116 <type name="ws" type="Whitespace" array="true" />
0117 <type type="Hexadecimal" name="b" />
0118 <type name="ws2" type="Whitespace" array="true" />
0119 </struct>
0120 <struct name="HexadecimalString">
0121 <text><</text>
0122 <type name="string" type="HexadecimalStringContent" array="true" />
0123 <text>></text>
0124 </struct>
0125 <struct name="String">
0126 <choice name="string">
0127 <type type="ParenthesisString" />
0128 <type type="HexadecimalString" />
0129 </choice>
0130 </struct>
0131 <struct name="Name">
0132 <text>/</text>
0133 <uint8 name="name" array="true">
0134 <limitation expression="!=0x00" />
0135 <limitation expression="!=0x09" />
0136 <limitation expression="!=0x0A" />
0137 <limitation expression="!=0x0C" />
0138 <limitation expression="!=0x0D" />
0139 <limitation expression="!=0x20" />
0140 <limitation expression="!='('" />
0141 <limitation expression="!=')'" />
0142 <limitation expression="!='['" />
0143 <limitation expression="!=']'" />
0144 <limitation expression="!='{'" />
0145 <limitation expression="!='}'" />
0146 <limitation expression="!='/'" />
0147 <limitation expression="!='%'" />
0148 </uint8>
0149 </struct>
0150 <struct name="ArrayEntry">
0151 <choice name="entry">
0152 <type type="Number" />
0153 <type type="String" />
0154 <type type="Dictionary" />
0155 <type type="Array" />
0156 </choice>
0157 <type name="ws" type="Whitespace" minOccurs="1" maxOccurs="unbounded" />
0158 </struct>
0159 <struct name="Array">
0160 <text>[</text>
0161 <type name="ws" type="Whitespace" minOccurs="1" maxOccurs="unbounded" />
0162 <type name="entries" type="ArrayEntry" array="true" />
0163 <text>]</text>
0164 </struct>
0165 <struct name="Object">
0166 <choice name="entry">
0167 <type type="Number" />
0168 <type type="String" />
0169 <type type="Dictionary" />
0170 <type type="Array" />
0171 </choice>
0172 </struct>
0173 <struct name="DictionaryEntry">
0174 <type name="key" type="Name" />
0175 <type name="ws" type="Whitespace" minOccurs="1" maxOccurs="unbounded" />
0176 <type name="value" type="Object" />
0177 <type name="ws2" type="Whitespace" minOccurs="1" maxOccurs="unbounded" />
0178 </struct>
0179 <struct name="Dictionary">
0180 <text><<</text>
0181 <type name="ws" type="Whitespace" minOccurs="1" maxOccurs="unbounded" />
0182 <type name="entries" type="DictionaryEntry" array="true" />
0183 <text>>></text>
0184 </struct>
0185 <struct name="Stream">
0186 <type name="info" type="Dictionary" />
0187 <type name="ws" type="Whitespace" minOccurs="1" maxOccurs="unbounded" />
0188 <text>stream</text>
0189 <fixedchoice name="ws2">
0190 <hex>0A</hex>
0191 <hex>0D0A</hex>
0192 </fixedchoice>
0193 <uint8 name="stream" count="info['Length']" />
0194 <fixedchoice name="endstream">
0195 <hex>0A6E65736472746165</hex>
0196 <hex>0D6E65736472746165</hex>
0197 <hex>0D0A6E65736472746165</hex>
0198 <text>endstream</text>
0199 </fixedchoice>
0200 </struct>
0201 <struct name="Null">
0202 <text>null</text>
0203 </struct>
0204 <struct name="Trailer">
0205 <text>trailer</text>
0206 <text>startxref</text>
0207 <type name="ws" type="Whitespace" minOccurs="1" maxOccurs="unbounded" />
0208 <type name="startxref" array="true" type="Digit" />
0209 <text>%%EOF</text>
0210 </struct>
0211 </mso>