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>