<!ELEMENT LINK - O EMPTY               -- a media-independent link -->
<!ATTLIST LINK
%attrs;                              -- %coreattrs, %i18n, %events --
charset     %Charset;      #IMPLIED  -- char encoding of linked resource --
href        %URI;          #IMPLIED  -- URI for linked resource --
hreflang    %LanguageCode; #IMPLIED  -- language code --
type        %ContentType;  #IMPLIED  -- advisory content type --
rel         %LinkTypes;    #IMPLIED  -- forward link types --
rev         %LinkTypes;    #IMPLIED  -- reverse link types --
media       %MediaDesc;    #IMPLIED  -- for rendering on these media --
>
Start tag: required, End tag: forbidden
The "%attrs;" parameter entity is defined as follows: 
<!ENTITY % attrs "%coreattrs; %i18n; %events;">
The "%coreattrs;" parameter entity in the "%attrs;" definition expands as follows: 
<!ENTITY % coreattrs
"id          ID             #IMPLIED  -- document-wide unique id --
class       CDATA          #IMPLIED  -- space separated list of classes --
style       %StyleSheet;   #IMPLIED  -- associated style info --
title       %Text;         #IMPLIED  -- advisory title/amplification --"
>
The "%attrs;" parameter entity has been defined for convenience since these attributes are defined for
most HTML element types. 
Similarly, the DTD defines the "%URI;" parameter entity as expanding into the string "CDATA". 
<!ENTITY % URI "CDATA"
-- a Uniform Resource Identifier,
see [URI]
-->
As this example illustrates, the parameter entity "%URI;" provides readers of the DTD with more
information as to the type of data expected for an attribute. Similar entities have been defined for
"%Color;", "%Charset;", "%Length;", "%Pixels;", etc. 
Boolean attributes 
Some attributes play the role of boolean variables (e.g., the selected attribute for the OPTION
element). Their appearance in the start tag of an element implies that the value of the attribute is "true".
Their absence implies a value of "false". 
Boolean attributes may legally take a single value: the name of the attribute itself (e.g., 
selected="selected"). 
31
3.3.4 Attribute declarations
Pdf form data extraction - extract form data from PDF in C#.net, ASP.NET, MVC, Ajax, WPF
Help to Read and Extract Field Data from PDF with a Convenient C# Solution
exporting data from pdf to excel; extract data from pdf
Pdf form data extraction - VB.NET PDF Form Data Read library: extract form data from PDF in vb.net, ASP.NET, MVC, Ajax, WPF
Convenient VB.NET Solution to Read and Extract Field Data from PDF
fill in pdf form reader; extract data from pdf form fields
This example defines the selected attribute to be a boolean attribute. 
selected     (selected)  #IMPLIED  -- reduced inter-item spacing --
The attribute is set to "true" by appearing in the element's start tag: 
<OPTION selected="selected">
...contents...
<OPTION>
In HTML, boolean attributes may appear in minimized form -- the attribute's value appears alone in the
element's start tag. Thus, selected may be set by writing: 
<OPTION selected>
instead of: 
<OPTION selected="selected">
Authors should be aware than many user agents only recognize the minimized form of boolean attributes
and not the full form. 
32
3.3.4 Attribute declarations
VB.NET PDF Text Extract Library: extract text content from PDF
control provides text extraction from PDF images and image files. Enable extracting PDF text to another PDF file, and other formats such as TXT and SVG form.
export pdf form data to excel spreadsheet; extracting data from pdf forms
C# PDF Text Extract Library: extract text content from PDF file in
Image text extraction control provides text extraction from PDF images and image files. Best C#.NET PDF text extraction library and component for free download.
extract pdf data into excel; how to extract data from pdf to excel
4 Conformance: requirements and recommendations
Contents 
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
33
1.  Definitions 
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
34
2.  SGML 
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
35
3.  The text/html content type
In this section, we begin the specification of HTML 4.0, starting with the contract between authors,
documents, users, and user agents. 
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD",
"SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be
interpreted as described in [RFC2119] [p.328] . However, for readability, these words do not appear in all
uppercase letters in this specification. 
At times, the authors of this specification recommend good practice for authors and user agents. These
recommendations are not normative and conformance with this specification does not depend on their
realization. These recommendations contain the expression "We recommend ...", "This specification
recommends ...", or some similar wording. 
4.1 Definitions
HTML document 
An HTML document is an SGML document that meets the constraints of this specification. 
Author 
An author is a person or program that writes or generates HTML documents. An authoring tool is a
special case of an author, namely, it's a program that generates HTML. 
We recommend that authors write documents that conform to the strict DTD [p.251] rather than the
other DTDs defined by this specification. Please see the section on version information [p.54] for
details about the DTDs defined in HTML 4.0. 
User 
A user is a person who interacts with a user agent to view, hear, or otherwise use a rendered HTML
document. 
HTML user agent 
An HTML user agent is any device that interprets HTML documents. User agents include visual
browsers (text-only and graphical), non-visual browsers (audio, Braille), search robots, proxies, etc. 
conforming user agent for HTML 4.0 is one that observes the mandatory conditions ("must") set
forth in this specification, including the following points: 
A user agent should avoid imposing arbitrary length limits on attribute value literals (see the
section on capacities in the SGML Declaration [p.249] ). For introductory information on
SGML attributes, please consult the section on attribute definitions [p.30] . 
A user agent must ensure that rendering is unchanged by the presence or absence of start tags
and end tags when the HTML DTD indicates that these are optional. See the section on element 
33
4 Conformance: requirements and recommendations
VB.NET PDF Image Extract Library: Select, copy, paste PDF images
image extraction from multiple page adobe PDF file in VB.NET. Extract multiple types of image from PDF file in VB.NET, like XObject Image, XObject Form, Inline
how to fill pdf form in reader; change font size pdf form reader
C# PDF Image Extract Library: Select, copy, paste PDF images in C#
Support PDF Image Extraction from a Page, a Region on a Page Extract various types of image from PDF file, like XObject Image, XObject Form, Inline Image
extracting data from pdf to excel; can reader edit pdf forms
definitions [p.28] for introductory information on SGML elements. 
For reasons of backwards compatibility, we recommend that tools interpreting HTML 4.0
continue to support HTML 3.2 (see [HTML32] [p.329] ) and HTML 2.0 (see [RFC1866] 
[p.330] ).
Error conditions 
This specification does not define how conforming user agents handle general error conditions,
including how user agents behave when they encounter elements, attributes, attribute values, or
entities not specified in this document. 
However, for recommended error handling behavior, please consult the notes on invalid documents 
[p.310] . 
Deprecated 
A deprecated element or attribute is one that has been outdated by newer constructs. Deprecated
elements are defined in the reference manual in appropriate locations, but are clearly marked as
deprecated. Deprecated elements may become obsolete in future versions of HTML. 
User agents should continue to support deprecated elements for reasons of backward compatibility. 
Definitions of elements and attributes clearly indicate which are deprecated. 
This specification includes examples that illustrate how to avoid using deprecated elements. In most
cases these depend on user agent support for style sheets. In general, authors should use style sheets
to achieve stylistic and formatting effects rather than HTML presentational attributes. HTML
presentational attributes have been deprecated when style sheet alternatives exist (see, for example, 
[CSS1] [p.327] ). 
Obsolete 
An obsolete element or attribute is one for which there is no guarantee of support by a user agent. 
Obsolete elements are no longer defined in the specification, but are listed for historical purposes in
the changes section [p.301] of the reference manual.
4.2 SGML
HTML 4.0 is an SGML application conforming to International Standard ISO 8879 -- Standard
Generalized Markup Language SGML (defined in [ISO8879] [p.327] ). 
Examples in the text conform to the strict document type definition [p.251] unless the example in question
refers to elements or attributes only defined by the transitional document type definition [p.267] or 
frameset document type definition [p.287] . For the sake of brevity, most of the examples in this
specification do not begin with the document type declaration [p.54] that is mandatory at the beginning of
each HTML document. 
DTD fragments in element definitions come from the strict document type definition [p.251] except for
the elements related to frames. 
Please consult the section on HTML version information [p.54] for details about when to use the strict,
transitional, or frameset DTD. 
34
4.2 SGML
VB.NET PDF Page Extract Library: copy, paste, cut PDF pages in vb.
VB.NET PDF - PDF File Pages Extraction Guide. Detailed VB.NET Guide for Extracting Pages from Microsoft PDF Doc. Free PDF document
extract data from pdf to excel online; extracting data from pdf into excel
VB.NET PDF Library SDK to view, edit, convert, process PDF file
PDF Text Extraction. Mature and robust APIs are provided for programmers to integrate and perform PDF text extraction feature in .NET windows and web project.
filling out pdf forms with reader; edit pdf form in reader
Comments appearing in the HTML 4.0 DTD [p.251] have no normative value; they are informative only. 
User agents must not render SGML processing instructions (e.g., <?full volume>) or comments. For more
information about this and other SGML features that may be legal in HTML but aren't widely supported
by HTML user agents, please consult the section on SGML features with limited support. [p.313] 
4.3 The text/html content type
HTML documents are sent over the Internet as a sequence of bytes accompanied by encoding information
(described in the section on character encodings [p.38] ). The structure of the transmission, termed a 
message entity, is defined by [RFC2045] [p.328] and [RFC2068] [p.328] . A message entity with a content 
type [p.46] of "text/html" represents an HTML document. 
The content type for HTML documents is defined as follows: 
Content type name
text 
Content subtype name
html 
Required parameters
none 
Optional parameters
charset 
Encoding considerations
any encoding is allowed 
Security considerations
See the notes on security [p.325] 
The optional parameter "charset" refers to the character encoding [p.38] used to represent the HTML
document as a sequence of bytes. Legal values for this parameter are defined in the section on character 
encodings [p.38] . Although this parameter is optional, we recommend that it always be present. 
35
4.3 The text/html content type
C# PDF File Permission Library: add, remove, update PDF file
Data. Data: Auto Fill-in Field Data. Field: Insert Choose to offer PDF annotation and content extraction Enable or disable copying and form filling functions.
how to fill in a pdf form in reader; how to save fillable pdf form in reader
VB.NET PDF File Permission Library: add, remove, update PDF file
Data. Data: Auto Fill-in Field Data. Field: Insert Choose to offer PDF annotation and content extraction Enable or disable copying and form filling functions.
extract data from pdf into excel; export pdf form data to excel
36
4.3 The text/html content type
C# PDF File Merge Library: Merge, append PDF files in C#.net, ASP.
Merge Microsoft Office Word, Excel and PowerPoint data to PDF form. PDF page deleting, PDF document splitting, PDF page reordering and PDF page image and
how to save filled out pdf form in reader; pdf data extractor
VB.NET PDF Password Library: add, remove, edit PDF file password
passwordSetting.IsAnnot = True ' Allow to fill form. passwordSetting.IsFillForm = True ' Content extraction is allowed. True ' Add password to PDF file.
pdf form save in reader; extract pdf form data to excel
5 HTML Document Representation
Contents 
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
37
1.  The Document Character Set 
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
38
2.  Character encodings 
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
38
1.  Choosing an encoding 
.
.
.
.
.
.
.
.
.
.
.
.
.
.
39
Notes on specific encodings
.
.
.
.
.
.
.
.
.
.
.
.
.
.
39
2.  Specifying the character encoding
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
40
3.  Character references 
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
41
1.  Numeric character references 
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
41
2.  Character entity references
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
42
4.  Undisplayable characters
In this chapter, we discuss how HTML documents are represented on a computer and over the Internet. 
The section on the document character set [p.37] addresses the issue of what abstract characters may be
part of an HTML document. Characters include the Latin letter "A", the Cyrillic letter "I", the Chinese
character meaning "water", etc. 
The section on character encodings [p.38] addresses the issue of how those characters may be represented
in a file or when transferred over the Internet. As some character encodings cannot directly represent all
characters an author may want to include in a document, HTML offers other mechanisms, called character 
references [p.40] , for referring to any character. 
Since there are a great number of characters throughout human languages, and a great variety of ways to
represent those characters, proper care must be taken so that documents may be understood by user agents
around the world. 
5.1 The Document Character Set
To promote interoperability, SGML requires that each application (including HTML) specify its document
character set. A document character set consists of: 
A Repertoire: A set of abstract characters,, such as the Latin letter "A", the Cyrillic letter "I", the
Chinese character meaning "water", etc. 
Code positions: A set of integer references to characters in the repertoire. 
Each SGML document (including each HTML document) is a sequence of characters from the repertoire.
Computer systems identify each character by its code position; for example, in the ASCII character set,
code positions 65, 66, and 67 refer to the characters 'A', 'B', and 'C', respectively. 
The ASCII character set is not sufficient for a global information system such as the Web, so HTML uses
the much more complete character set called the Universal Character Set (UCS), defined in [ISO10646]. 
[p.327] This standard defines a repertoire of thousands of characters used by communities all over the
world. 
37
5 HTML Document Representation
The character set defined in [ISO10646] [p.327] is character-by-character equivalent to Unicode 2.0 
([UNICODE] [p.328] ). Both of these standards are updated from time to time with new characters, and
the amendments should be consulted at the respective Web sites. In the current specification, references to
ISO/IEC-10646 or Unicode imply the same document character set. However, the HTML specification
also refers to the Unicode specification for other issues such as the bidirectional text algorithm. [p.73] 
The document character set, however, does not suffice to allow user agents to correctly interpret HTML
documents as they are typically exchanged -- encoded as a sequence of bytes in a file or during a network
transmission. User agents must also know the specific character encoding [p.38] that was used to
transform the document character stream into a byte stream. 
5.2 Character encodings
What this specification calls a character encoding is known by different names in other specifications
(which may cause some confusion). However, the concept is largely the same across the Internet. Also,
protocol headers, attributes, and parameters referring to character encodings share the same name --
"charset" -- and use the same values from the [IANA] [p.327] registry (see [CHARSETS] [p.329] for a
complete list). 
The "charset" parameter identifies a character encoding, which is a method of converting a sequence of
bytes into a sequence of characters. This conversion fits naturally with the scheme of Web activity:
servers send HTML documents to user agents as a stream of bytes; user agents interpret them as a
sequence of characters. The conversion method can range from simple one-to-one correspondence to
complex switching schemes or algorithms. 
A simple one-byte-per-character encoding technique is not sufficient for text strings over a character
repertoire as large as [ISO10646] [p.327] . There are several different encodings of parts of [ISO10646] 
[p.327] in addition to encodings of the entire character set (such as UCS-4). 
5.2.1 Choosing an encoding
Authoring tools (e.g., text editors) may encode HTML documents in the character encoding of their
choice, and the choice largely depends on the conventions used by the system software. These tools may
employ any convenient encoding that covers most of the characters contained in the document, provided
the encoding is correctly labeled. [p.39] Occasional characters that fall outside this encoding may still be
represented by character references [p.40] . These always refer to the document character set, not the
character encoding. 
Servers and proxies may change a character encoding (called transcoding) on the fly to meet the requests
of user agents (see section 14.2 of [RFC2068] [p.328] , the "Accept-Charset" HTTP request header).
Servers and proxies do not have to serve a document in a character encoding that covers the entire
document character set. 
Commonly used character encodings on the Web include ISO-8859-1 (also referred to as "Latin-1"; usable
for most Western European languages), ISO-8859-5 (which supports Cyrillic), SHIFT_JIS (a Japanese
encoding), EUC-JP (another Japanese encoding), and UTF-8 (an encoding of ISO 10646 using a different
number of bytes for different characters). Names for character encodings are case-insensitive, so that for
38
5.2 Character encodings
example "SHIFT_JIS", "Shift_JIS", and "shift_jis" are equivalent. 
This specification does not mandate which character encodings a user agent must support. 
Conforming user agents [p.33] must correctly map to Unicode all characters in any character encodings
that they recognize (or they must behave as if they did). 
Notes on specific encodings 
When HTML text is transmitted in UTF-16 (charset=UTF-16), text data should be transmitted in network
byte order ("big-endian", high-order byte first) in accordance with [ISO10646] [p.327] , Section 6.3 and 
[UNICODE] [p.328] , clause C3, page 3-1. 
Furthermore, to maximize chances of proper interpretation, it is recommended that documents transmitted
as UTF-16 always begin with a ZERO-WIDTH NON-BREAKING SPACE character (hexadecimal FEFF,
also called Byte Order Mark (BOM)) which, when byte-reversed, becomes hexadecimal FFFE, a character
guaranteed never to be assigned. Thus, a user-agent receiving a hexadecimal FFFE as the first bytes of a
text would know that bytes have to be reversed for the remainder of the text. 
The UTF-1 transformation format of [ISO10646] [p.327] (registered by IANA as ISO-10646-UTF-1),
should not be used. For information about ISO 8859-8 and the bidirectional algorithm, please consult the
section on bidirectionality and character encoding [p.78] . 
5.2.2 Specifying the character encoding
How does a server determine which character encoding applies for a document it serves? Some servers
examine the first few bytes of the document, or check against a database of known files and encodings.
Many modern servers give Web masters more control over charset configuration than old servers do. Web
masters should use these mechanisms to send out a "charset" parameter whenever possible, but should
take care not to identify a document with the wrong "charset" parameter value. 
How does a user agent know which character encoding has been used? The server should provide this
information. The most straightforward way for a server to inform the user agent about the character
encoding of the document is to use the "charset" parameter of the "Content-Type" header field of the
HTTP protocol ([RFC2068] [p.328] , sections 3.4 and 14.18) For example, the following HTTP header
announces that the character encoding is EUC-JP:
Content-Type: text/html; charset=EUC-JP
Please consult the section on conformance [p.33] for the definition of text/html [p.35] . 
The HTTP protocol ([RFC2068] [p.328] , section 3.7.1) mentions ISO-8859-1 as a default character
encoding when the "charset" parameter is absent from the "Content-Type" header field. In practice, this
recommendation has proved useless because some servers don't allow a "charset" parameter to be sent,
and others may not be configured to send the parameter. Therefore, user agents must not assume any
default value for the "charset" parameter. 
39
5.2.2 Specifying the character encoding
To address server or configuration limitations, HTML documents may include explicit information about
the document's character encoding; the META element can be used to provide user agents with this
information. 
For example, to specify that the character encoding of the current document is "EUC-JP", a document
should include the following META declaration: 
<META http-equiv="Content-Type" content="text/html; charset=EUC-JP">
The META declaration must only be used when the character encoding is organized such that ASCII
characters stand for themselves (at least until the META element is parsed). META declarations should
appear as early as possible in the HEAD element. 
For cases where neither the HTTP protocol nor the META element provides information about the
character encoding of a document, HTML also provides the charset attribute on several elements. By
combining these mechanisms, an author can greatly improve the chances that, when the user retrieves a
resource, the user agent will recognize the character encoding. 
To sum up, conforming user agents must observe the following priorities when determining a document's 
character encoding (from highest priority to lowest): 
1.  An HTTP "charset" parameter in a "Content-Type" field. 
2.  A META declaration with "http-equiv" set to "Content-Type" and a value set for "charset". 
3.  The charset attribute set on an element that designates an external resource.
In addition to this list of priorities, the user agent may use heuristics and user settings. For example, many
user agents use a heuristic to distinguish the various encodings used for Japanese text. Also, user agents
typically have a user-definable, local default character encoding which they apply in the absence of other
indicators. 
User agents may provide a mechanism that allows users to override incorrect "charset" information.
However, if a user agent offers such a mechanism, it should only offer it for browsing and not for editing,
to avoid the creation of Web pages marked with an incorrect "charset" parameter. 
Note. If, for a specific application, it becomes necessary to refer to characters outside [ISO10646] 
[p.327] , characters should be assigned to a private zone to avoid conflicts with present or future versions
of the standard. This is highly discouraged, however, for reasons of portability. 
5.3 Character references
A given character encoding may not be able to express all characters of the document character set. For
such encodings, or when hardware or software configurations do not allow users to input some document
characters directly, authors may use SGML character references. Character references are a character
encoding-independent mechanism for entering any character from the document character set. 
40
5.3 Character references
Documents you may be interested
Documents you may be interested