diff options
author | Karl Berry <karl@freefriends.org> | 2009-05-23 00:23:51 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2009-05-23 00:23:51 +0000 |
commit | a683c3d7e9fac38ec713f23fb6b9d2c7143aea82 (patch) | |
tree | 424ab223921f85fd3f167a4ccd0e2d37d05c2927 /Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle | |
parent | 5beb5368a684995153c8566797ba054f21c666af (diff) |
move english latex doc out of texmf-doc
git-svn-id: svn://tug.org/texlive/trunk@13412 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle')
62 files changed, 8486 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/README.ch7 b/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/README.ch7 new file mode 100644 index 00000000000..ddbdea5091c --- /dev/null +++ b/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/README.ch7 @@ -0,0 +1,124 @@ +Examples in Chapter 7 of the LaTeX Web Companion + +Section 7.3 +=========== + +To run the examples in this section you have to install nsgmls +(as for chapter 6) and Megginson's SGMLSpm. You also have to +set the environment variable SGML_CATALOG_FILES as follows: + +Bourne shell + +SGML_CATALOG_FILES=catalog.xml +export SGML_CATALOG_FILES + +C shell + +setenv SGML_CATALOG_FILES catalog.xml + +Then you can type: + +nsgmls invitation.xml | perl sgmlspl.pl inv2lat.pl > invitation.tex + +Section 7.4 +=========== + +With similar settings for the environment variable SGML_CATALOG_FILES +we can generate HTML files using invitation.xml and invitation2.xml. + +We type the command (Section 7.4.4) + +nsgmls invitation.xml | perl sgmlspl.pl inv1html.pl > invcss.html + +and (Section 7.4.5) + +nsgmls invitation2.xml | perl sgmlspl.pl inv2html.pl > inv2css.html + +Together with the file invit.css, shown in Section 7.4.4, you will +obtain with a browser, which correctly understands how to include CSS +files, a view as the one shown in Figure 7.2 (some browsers might need +you to include the content of invit.css inside a <STYLE> tag pair +inside the HTML file). Browsers can treat empty lines differently, so +you might observe more or less white space between paragraphs +depending on the browser used. + +Section 7.5 +=========== + +To run jade (and DSSSL style-sheets) we need a different catalog +file, so we redefine SGML_CATALOG_FILES=catalog.dsssl (or the +equivalent in C-like shells). + +Then we run as shown on page 320 (copying element content through) + +jade -t xml -d empty.dsl invitation.xml + +Then you can run + +jade -d invitation.dsl invitation.xml + + +Files in this directory: +======================== + +Section 7.3 ++++++++++++ + +invitation.xml XML source introduced in Section 6.4.2.2 +invitation.dtd DTD source introduced in Section 6.4.3 +invitation.tex.save result of Perl run of Section 7.3.2 +invitation.sty package file for invitation examples (Section 7.3.2) +catalog.xml catalog file for nsgmls to define XML declaration + +inv1html.pl Perl file to run example of Section 7.4.4 +inv2lat.pl Perl file to run example of Section 7.3.2 +sgmlspl.pl Perl files distributed with the SGMLSpl package +skel.pl " " +SGMLS.pm " " +SGMLS/Output.pm " " +SGMLS/Refs.pm " " + +Section 7.4 ++++++++++++ + +invitation2.xml XML source introduced in Section 7.4.5 +invitation2.dtd DTD source introduced in Section 7.4.5 +invit.css CSS style sheet introduced in Section 7.4.4 +invcss.html.save result HTML output for Section 7.4.4 +inv2css.html.save result HTML output for Section 7.4.6 + +Section 7.5 ++++++++++++ + +catalog.dsssl catalog file for jade to define DSSSL style-sheet +empty.dsl trivial DSSSL style-sheet copying element content + through to the output +invitation.dsl used in Section 7.5.3.1 +invtab1.dsl used in Section 7.5.3.2 +invtab2.dsl used in Section 7.5.3.3 +invhtml.dsl used in Section 7.5.5 + +Section 7.6 ++++++++++++ + +xslexa1.xsl formatting object example (Section 7.6.1) + +empty.xsl trivial XSL style-sheet (Section 7.6.3) + +sectionexa.xml example XML source +sextionexa.xsl ... and XSL style-sheet (Section 7.6.5.7) + +writefiles.xml example XML source +writefile.xsl ... and XSL style-sheet (Section 7.6.8.2) + +makesum.xml example XML source +makesum.xsl ... and XSL style-sheet (Section 7.6.8.2) + +invlat1.xsl XSL style-sheet for Section 7.6.9 +invhtml2.xsl " " +invfo1.xsl XSL style-sheet for Section 7.6.10 + (was modified to retain August 1998 syntax for + fo's since fop is not yet updated) + +invfo1.fop intermediate output for fop (contains fo's) +invfo1.pdf generated PDF output
\ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/SGMLS.pm b/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/SGMLS.pm new file mode 100644 index 00000000000..b29395eed36 --- /dev/null +++ b/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/SGMLS.pm @@ -0,0 +1,893 @@ +package SGMLS; +use Carp; + +$version = '$Revision: 1.14 $'; + +=head1 NAME + +SGMLS - class for postprocessing the output from the B<sgmls> and +B<nsgmls> parsers. + +=head1 SYNOPSIS + + use SGMLS; + + my $parse = new SGMLS(STDIN); + + my $event = $parse->next_event; + while ($event) { + + SWITCH: { + + ($event->type eq 'start_element') && do { + my $element = $event->data; # An object of class SGMLS_Element + [[your code for the beginning of an element]] + last SWITCH; + }; + + ($event->type eq 'end_element') && do { + my $element = $event->data; # An object of class SGMLS_Element + [[your code for the end of an element]] + last SWITCH; + }; + + ($event->type eq 'cdata') && do { + my $cdata = $event->data; # A string + [[your code for character data]] + last SWITCH; + }; + + ($event->type eq 'sdata') && do { + my $sdata = $event->data; # A string + [[your code for system data]] + last SWITCH; + }; + + ($event->type eq 're') && do { + [[your code for a record end]] + last SWITCH; + }; + + ($event->type eq 'pi') && do { + my $pi = $event->data; # A string + [[your code for a processing instruction]] + last SWITCH; + }; + + ($event->type eq 'entity') && do { + my $entity = $event->data; # An object of class SGMLS_Entity + [[your code for an external entity]] + last SWITCH; + }; + + ($event->type eq 'start_subdoc') && do { + my $entity = $event->data; # An object of class SGMLS_Entity + [[your code for the beginning of a subdoc entity]] + last SWITCH; + }; + + ($event->type eq 'end_subdoc') && do { + my $entity = $event->data; # An object of class SGMLS_Entity + [[your code for the end of a subdoc entity]] + last SWITCH; + }; + + ($event->type eq 'conforming') && do { + [[your code for a conforming document]] + last SWITCH; + }; + + die "Internal error: unknown event type " . $event->type . "\n"; + } + + $event = $parse->next_event; + } + +=head1 DESCRIPTION + +The B<SGMLS> package consists of several related classes: see +L<"SGMLS">, L<"SGMLS_Event">, L<"SGMLS_Element">, +L<"SGMLS_Attribute">, L<"SGMLS_Notation">, and L<"SGMLS_Entity">. All +of these classes are available when you specify + + use SGMLS; + +Generally, the only object which you will create explicitly will +belong to the C<SGMLS> class; all of the others will then be created +automatically for you over the course of the parse. Much fuller +documentation is available in the C<.sgml> files in the C<DOC/> +directory of the C<SGMLS.pm> distribution. + +=head2 The C<SGMLS> class + +This class holds a single parse. When you create an instance of it, +you specify a file handle as an argument (if you are reading the +output of B<sgmls> or B<nsgmls> from a pipe, the file handle will +ordinarily be C<STDIN>): + + my $parse = new SGMLS(STDIN); + +The most important method for this class is C<next_event>, which reads +and returns the next major event from the input stream. It is +important to note that the C<SGMLS> class deals with most B<ESIS> +events itself: attributes and entity definitions, for example, are +collected and stored automatically and invisibly to the user. The +following list contains all of the methods for the C<SGMLS> class: + +=item C<next_event()>: Return an C<SGMLS_Event> object containing the +next major event from the SGML parse. + +=item C<element()>: Return an C<SGMLS_Element> object containing the +current element in the document. + +=item C<file()>: Return a string containing the name of the current +SGML source file (this will work only if the C<-l> option was given to +B<sgmls> or B<nsgmls>). + +=item C<line()>: Return a string containing the current line number +from the source file (this will work only if the C<-l> option was +given to B<sgmls> or B<nsgmls>). + +=item C<appinfo()>: Return a string containing the C<APPINFO> +parameter (if any) from the SGML declaration. + +=item C<notation(NNAME)>: Return an C<SGMLS_Notation> object +representing the notation named C<NNAME>. With newer versions of +B<nsgmls>, all notations are available; otherwise, only the notations +which are actually used will be available. + +=item C<entity(ENAME)>: Return an C<SGMLS_Entity> object representing +the entity named C<ENAME>. With newer versions of B<nsgmls>, all +entities are available; otherwise, only external data entities and +internal entities used as attribute values will be available. + +=item C<ext()>: Return a reference to an associative array for +user-defined extensions. + + +=head2 The C<SGMLS_Event> class + +This class holds a single major event, as generated by the +C<next_event> method in the C<SGMLS> class. It uses the following +methods: + +=item C<type()>: Return a string describing the type of event: +"start_element", "end_element", "cdata", "sdata", "re", "pi", +"entity", "start_subdoc", "end_subdoc", and "conforming". See +L<"SYNOPSIS">, above, for the values associated with each of these. + +=item C<data()>: Return the data associated with the current event (if +any). For "start_element" and "end_element", returns an +C<SGMLS_ELement> object; for "entity", "start_subdoc", and +"end_subdoc", returns an C<SGMLS_Entity> object; for "cdata", "sdata", +and "pi", returns a string; and for "re" and "conforming", returns the +empty string. See L<"SYNOPSIS">, above, for an example of this +method's use. + +=item C<key()>: Return a string key to the event, such as an element +or entity name (otherwise, the same as C<data()>). + +=item C<file()>: Return the current file name, as in the C<SGMLS> +class. + +=item C<line()>: Return the current line number, as in the C<SGMLS> +class. + +=item C<element()>: Return the current element, as in the C<SGMLS> +class. + +=item C<parse()>: Return the C<SGMLS> object which generated the +event. + +=item C<entity(ENAME)>: Look up an entity, as in the C<SGMLS> class. + +=item C<notation(ENAME)>: Look up a notation, as in the C<SGMLS> +class. + +=item C<ext()>: Return a reference to an associative array for +user-defined extensions. + + +=head2 The C<SGMLS_Element> class + +This class is used for elements, and contains all associated +information (such as the element's attributes). It recognises the +following methods: + +=item C<name()>: Return a string containing the name, or Generic +Identifier, of the element, in upper case. + +=item C<parent()>: Return the C<SGMLS_Element> object for the +element's parent (if any). + +=item C<parse()>: Return the C<SGMLS> object for the current parse. + +=item C<attributes()>: Return a reference to an associative array of +attribute names and C<SGMLS_Attribute> structures. Attribute names +will be all in upper case. + +=item C<attribute_names()>: Return an array of strings containing the +names of all attributes defined for the current element, in upper +case. + +=item C<attribute(ANAME)>: Return the C<SGMLS_Attribute> structure for +the attribute C<ANAME>. + +=item C<set_attribute(ATTRIB)>: Add the C<SGMLS_Attribute> object +C<ATTRIB> to the current element, replacing any other attribute +structure with the same name. + +=item C<in(GI)>: Return C<true> (ie. 1) if the string C<GI> is the +name of the current element's parent, or C<false> (ie. 0) if it is +not. + +=item C<within(GI)>: Return C<true> (ie. 1) if the string C<GI> is the +name of any of the ancestors of the current element, or C<false> +(ie. 0) if it is not. + +=item C<ext()>: Return a reference to an associative array for +user-defined extensions. + + +=head2 The C<SGMLS_Attribute> class + +Each instance of an attribute for each C<SGMLS_Element> is an object +belonging to this class, which recognises the following methods: + +=item C<name()>: Return a string containing the name of the current +attribute, all in upper case. + +=item C<type()>: Return a string containing the type of the current +attribute, all in upper case. Available types are "IMPLIED", "CDATA", +"NOTATION", "ENTITY", and "TOKEN". + +=item C<value()>: Return the value of the current attribute, if any. +This will be an empty string if the type is "IMPLIED", a string of +some sort if the type is "CDATA" or "TOKEN" (if it is "TOKEN", you may +want to split the string into a series of separate tokens), an +C<SGMLS_Notation> object if the type is "NOTATION", or an +C<SGMLS_Entity> object if the type is "ENTITY". Note that if the +value is "CDATA", it will I<not> have escape sequences for 8-bit +characters, record ends, or SDATA processed -- that will be your +responsibility. + +=item C<is_implied()>: Return C<true> (ie. 1) if the value of the +attribute is implied, or C<false> (ie. 0) if it is specified in the +document. + +=item C<set_type(TYPE)>: Change the type of the attribute to the +string C<TYPE> (which should be all in upper case). Available types +are "IMPLIED", "CDATA", "NOTATION", "ENTITY", and "TOKEN". + +=item C<set_value(VALUE)>: Change the value of the attribute to +C<VALUE>, which may be a string, an C<SGMLS_Entity> object, or an +C<SGMLS_Notation> subject, depending on the attribute's type. + +=item C<ext()>: Return a reference to an associative array available +for user-defined extensions. + + +=head2 The C<SGMLS_Notation> class + +All declared notations appear as objects belonging to this class, +which recognises the following methods: + +=item C<name()>: Return a string containing the name of the notation. + +=item C<sysid()>: Return a string containing the system identifier of +the notation, if any. + +=item C<pubid()>: Return a string containing the public identifier of +the notation, if any. + +=item C<ext()>: Return a reference to an associative array available +for user-defined extensions. + + +=head2 The C<SGMLS_Entity> class + +All declared entities appear as objects belonging to this class, which +recognises the following methods: + +=item C<name()>: Return a string containing the name of the entity, in +mixed case. + +=item C<type()>: Return a string containing the type of the entity, in +upper case. Available types are "CDATA", "SDATA", "NDATA" (external +entities only), "SUBDOC", "PI" (newer versions of B<nsgmls> only), or +"TEXT" (newer versions of B<nsgmls> only). + +=item C<value()>: Return a string containing the value of the entity, +if it is internal. + +=item C<sysid()>: Return a string containing the system identifier of +the entity (if any), if it is external. + +=item C<pubid()>: Return a string containing the public identifier of +the entity (if any), if it is external. + +=item C<filenames()>: Return an array of strings containing any file +names generated from the identifiers, if the entity is external. + +=item C<notation()>: Return the C<SGMLS_Notation> object associated +with the entity, if it is external. + +=item C<data_attributes()>: Return a reference to an associative array +of data attribute names (in upper case) and the associated +C<SGMLS_Attribute> objects for the current entity. + +=item C<data_attribute_names()>: Return an array of data attribute +names (in upper case) for the current entity. + +=item C<data_attribute(ANAME)>: Return the C<SGMLS_Attribute> object +for the data attribute named C<ANAME> for the current entity. + +=item C<set_data_attribute(ATTRIB)>: Add the C<SGMLS_Attribute> object +C<ATTRIB> to the current entity, replacing any other data attribute +with the same name. + +=item C<ext()>: Return a reference to an associative array for +user-defined extensions. + + +=head1 AUTHOR AND COPYRIGHT + +Copyright 1994 and 1995 by David Megginson, +C<dmeggins@aix1.uottawa.ca>. Distributed under the terms of the Gnu +General Public License (version 2, 1991) -- see the file C<COPYING> +which is included in the B<SGMLS.pm> distribution. + + +=head1 SEE ALSO: + +L<SGMLS::Output> and L<SGMLS::Refs>. + +=cut + +# +# Data class for a single SGMLS ESIS output event. The object will +# keep information about its own current element and, if available, +# the source file and line where the event appeared. +# +# Event types are as follow: +# Event Data +# ------------------------------------------------------- +# 'start_element' SGMLS_Element +# 'end_element' SGMLS_Element +# 'cdata' string +# 'sdata' string +# 're' [none] +# 'pi' string +# 'entity' SGMLS_Entity +# 'start_subdoc' SGMLS_Entity +# 'end_subdoc' SGMLS_Entity +# 'conforming' [none] +# +package SGMLS_Event; +use Carp; + # Constructor. +sub new { + my ($class,$type,$data,$parse) = @_; + return bless [$type, + $data, + $parse->file, + $parse->line, + $parse->element, + $parse, + {} + ]; +} + # Accessors. +sub type { return $_[0]->[0]; } +sub data { return $_[0]->[1]; } +sub file { return $_[0]->[2]; } +sub line { return $_[0]->[3]; } +sub element { return $_[0]->[4]; } +sub parse { return $_[0]->[5]; } +sub ext { return $_[0]->[6]; } + # Generate a key for the event. +sub key { + my $self = shift; + if (ref($self->data) eq SGMLS_Element || + ref($self->data) eq SGMLS_Entity) { + return $self->data->name; + } else { + return $self->data; + } +} + # Look up an entity in the parse. +sub entity { + my ($self,$ename) = (@_); + return $self->parse->entity($ename); +} + # Look up a notation in the parse. +sub notation { + my ($self,$nname) = (@_); + return $self->parse->notation($nname); +} + + +# +# Data class for a single SGML attribute. The object will know its +# type, and will keep a value unless the type is 'IMPLIED', in which +# case no meaningful value is available. +# +# Attribute types are as follow: +# Type Value +# --------------------------------------- +# IMPLIED [none] +# CDATA string +# NOTATION SGMLS_Notation +# ENTITY SGMLS_Entity +# TOKEN string +# +package SGMLS_Attribute; +use Carp; + # Constructor. +sub new { + my ($class,$name,$type,$value) = @_; + return bless [$name,$type,$value,{}]; +} + # Accessors. +sub name { return $_[0]->[0]; } +sub type { return $_[0]->[1]; } +sub value { return $_[0]->[2]; } +sub ext { return $_[0]->[3]; } + # Return 1 if the value is implied. +sub is_implied { + my $self = shift; + return ($self->type eq 'IMPLIED'); +} + # Set the attribute's type. +sub set_type { + my ($self,$type) = @_; + $self->[1] = $type; +} + + # Set the attribute's value. +sub set_value { + my ($self,$value) = @_; + $self->[2] = $value; +} + + +# +# Data class for a single element of an SGML document. The object will not +# know about its children (data or other elements), but it keeps track of its +# parent and its attributes. +# +package SGMLS_Element; +use Carp; + # Constructor. +sub new { + my ($class,$name,$parent,$attributes,$parse) = @_; + return bless [$name,$parent,$attributes,$parse,{}]; +} + # Accessors. +sub name { return $_[0]->[0]; } +sub parent { return $_[0]->[1]; } +sub parse { return $_[0]->[3]; } +sub ext { return $_[0]->[4]; } + + # Return the associative array of + # attributes, parsing it the first + # time through. +sub attributes { + my $self = shift; + if (ref($self->[2]) eq 'ARRAY') { + my $new = {}; + foreach (@{$self->[2]}) { + /^(\S+) (IMPLIED|CDATA|NOTATION|ENTITY|TOKEN)( (.*))?$/ + || croak "Bad attribute event data: $_"; + my ($name,$type,$value) = ($1,$2,$4); + if ($type eq 'NOTATION') { + $value = $self->parse->notation($value); + } elsif ($type eq 'ENTITY') { + $value = $self->parse->entity($value); + } + $new->{$name} = + new SGMLS_Attribute($name,$type,$value); + } + $self->[2] = $new; + } + return $self->[2]; +} + # Return a list of attribute names. +sub attribute_names { + my $self = shift; + return keys(%{$self->attributes}); +} + # Find an attribute by name. +sub attribute { + my ($self,$aname) = @_; + return $self->attributes->{$aname}; +} + # Add a new attribute. +sub set_attribute { + my ($self,$attribute) = @_; + $self->attributes->{$attribute->name} = $attribute; +} + # Check parent by name. +sub in { + my ($self,$name) = @_; + if ($self->parent && $self->parent->name eq $name) { + return $self->parent; + } else { + return ''; + } +} + # Check ancestors by name. +sub within { + my ($self,$name) = @_; + for ($self = $self->parent; $self; $self = $self->parent) { + return $self if ($self->name eq $name); + } + return ''; +} + + +# +# Data class for an SGML notation. The only information available +# will be the name, the sysid, and the pubid -- the rest is up to the +# processing application. +# +package SGMLS_Notation; +use Carp; + # Constructor. +sub new { + my ($class,$name,$sysid,$pubid) = @_; + return bless [$name,$sysid,$pubid,{}]; +} + # Accessors. +sub name { return $_[0]->[0]; } +sub sysid { return $_[0]->[1]; } +sub pubid { return $_[0]->[2]; } +sub ext { return $_[0]->[3]; } + +# +# Data class for a single SGML entity. All entities will have a name +# and a type. Internal entities will be of type CDATA or SDATA only, +# and will have a value rather than a notation and sysid/pubid. External +# CDATA, NDATA, and SDATA entities will always have notations attached, +# and SUBDOC entities are always external (and will be parsed by SGMLS). +# +# Entity types are as follow: +# Type Internal External +# ----------------------------------------------------------- +# CDATA x x +# NDATA x +# SDATA x x +# SUBDOC x +# (newer versions of NSGMLS only:) +# PI x +# TEXT x x +# +package SGMLS_Entity; +use Carp; + # Constructor. +sub new { + my ($class,$name,$type,$value,$sysid,$pubid,$filenames,$notation) = @_; + return bless [$name,$type,$value,{},$sysid,$pubid,$filenames,$notation,{}]; +} + # Accessors. +sub name { return $_[0]->[0]; } +sub type { return $_[0]->[1]; } +sub value { return $_[0]->[2]; } +sub data_attributes { return $_[0]->[3]; } +sub sysid { return $_[0]->[4]; } +sub pubid { return $_[0]->[5]; } +sub filenames { return $_[0]->[6]; } +sub notation { return $_[0]->[7]; } +sub ext { return $_[0]->[8]; } + # Return a list of data-attribute names. +sub data_attribute_names { + my $self = shift; + return keys(%{$self->data_attributes}); +} + # Find a data attribute by name. +sub data_attribute { + my ($self,$aname) = @_; + return $self->data_attributes->{$aname}; +} + # Add a new data attribute. +sub set_data_attribute { + my ($self,$data_attribute) = @_; + $self->data_attributes()->{$data_attribute->name} = $data_attribute; +} + + + +# +# Data class for a single SGMLS parse. The constructor takes a single +# argument, a file handle from which the SGMLS ESIS events will be read +# (it may be a pipe, a fifo, a file, a socket, etc.). It is essential +# that no two SGMLS objects have the same handle. +# +package SGMLS; + # Constructor. +sub new { + my ($class,$handle) = @_; + + # Force unqualified filehandles into caller's package + my ($package) = caller; + $handle =~ s/^[^':]+$/$package\:\:$&/; + + return bless { + 'handle' => $handle, + 'event_stack' => [], + 'current_element' => '', + 'current_attributes' => [], + 'current_entities' => {}, + 'entity_stack' => [], + 'current_notations' => {}, + 'notation_stack' => [], + 'current_sysid' => '', + 'current_pubid' => '', + 'current_filenames' => [], + 'current_file' => '', + 'current_line' => '', + 'appinfo' => '', + 'ext' => {} + }; +} + # Accessors. +sub element { return $_[0]->{'current_element'}; } +sub file { return $_[0]->{'current_file'}; } +sub line { return $_[0]->{'current_line'}; } +sub appinfo { return $_[0]->{'appinfo'}; } +sub ext { return $_[0]->{'ext'}; } + + # Given its name, look up a notation. +sub notation { + my ($self,$nname) = @_; + return $self->{'current_notations'}->{$nname}; +} + # Given its name, look up an entity. +sub entity { + my ($self,$ename) = @_; + return $self->{'current_entities'}->{$ename}; +} + + # Return the next SGMLS_Event, or '' + # if the document has finished. +sub next_event { + my $self = shift; + my $handle = $self->{'handle'}; + + # If there are any queued up events, + # grab them first. + if ($#{$self->{event_stack}} >= 0) { + return pop @{$self->{event_stack}}; + } + + dispatch: while (!eof($handle)) { + + my $c = getc($handle); + my $data = <$handle>; + chop $data; + + ($c eq '(') && do { # start an element + $self->{'current_element'} = + new SGMLS_Element($data, + $self->{'current_element'}, + $self->{'current_attributes'}, + $self); + $self->{'current_attributes'} = []; + return new SGMLS_Event('start_element', + $self->{'current_element'}, + $self); + }; + + ($c eq ')') && do { # end an element + my $old = $self->{'current_element'}; + $self->{'current_element'} = $self->{'current_element'}->parent; + return new SGMLS_Event('end_element',$old,$self); + }; + + ($c eq '-') && do { # some data + my $sdata_flag = 0; + my $out = ''; + while ($data =~ /\\(\\|n|\||[0-7]{1,3})/) { + $out .= $`; + $data = $'; + # beginning or end of SDATA + if ($1 eq '|') { + if ("$out" ne '') { + unshift(@{$self->{'event_stack'}}, + new SGMLS_Event($sdata_flag?'sdata':'cdata', + $out, + $self)); + $out = ''; + } + $sdata_flag = !$sdata_flag; + # record end + } elsif ($1 eq 'n') { + if ("$out" ne '') { + unshift(@{$self->{'event_stack'}}, + new SGMLS_Event($sdata_flag?'sdata':'cdata', + $out, + $self)); + $out = ''; + } + unshift(@{$self->{'event_stack'}}, + new SGMLS_Event('re','',$self)); + } elsif ($1 eq '\\') { + $out .= '\\'; + } else { + $out .= chr(oct($1)); + } + } + $out .= $data; + if ("$out" ne '') { + unshift(@{$self->{'event_stack'}}, + new SGMLS_Event($sdata_flag?'sdata':'cdata', + $out, + $self)); + } + return $self->next_event; + }; + + ($c eq '&') && do { # external entity reference + return new SGMLS_Event('entity', + ($self->{'current_entities'}->{$data} + || croak "Unknown external entity: $data\n"), + $self); + }; + + ($c eq '?') && do { # processing instruction + return new SGMLS_Event('pi', + $data, + $self); + }; + + ($c eq 'A') && do { # attribute declaration + # (will parse only on demand) + push @{$self->{'current_attributes'}}, $data; + next dispatch; + }; + + ($c eq 'a') && do { # link attribute declaration + # NOT YET IMPLEMENTED! + next dispatch; + }; + + ($c eq 'D') && do { # data attribute declaration + $data =~ /^(\S+) (\S+) (\S+)( (.*))?$/ + || croak "Bad data-attribute event data: $data"; + my ($ename,$aname,$type,$value) = ($1,$2,$3,$5); + my $entity = $self->{'current_entities'}->{$ename}; + my $attribute = new SGMLS_Attribute($aname,$type,$value); + $entity->set_data_attribute($attribute); + next dispatch; + }; + + ($c eq 'N') && do { # notation declaration + $self->{'current_notations'}->{$data} = + new SGMLS_Notation($data, + $self->{'current_sysid'}, + $self->{'current_pubid'}); + $self->{'current_sysid'} = ''; + $self->{'current_pubid'} = ''; + next dispatch; + }; + + ($c eq 'E') && do { # external entity declaration + $data =~ /^(\S+) (\S+) (\S+)$/ + || croak "Bad external entity event data: $data"; + my ($name,$type,$nname) = ($1,$2,$3); + my $notation = $self->{'current_notations'}->{$nname} if $nname; + $self->{'current_entities'}->{$name} = + new SGMLS_Entity($name, + $type, + '', + $self->{'current_sysid'}, + $self->{'current_pubid'}, + $self->{'current_filenames'}, + $notation); + $self->{'current_sysid'} = ''; + $self->{'current_pubid'} = ''; + $self->{'current_filenames'} = []; + next dispatch; + }; + + ($c eq 'I') && do { # internal entity declaration + $data =~ /^(\S+) (\S+) (.*)$/ + || croak "Bad external entity event data: $data"; + my ($name,$type,$value) = ($1,$2,$3); + $self->{'current_entities'}->{$name} = + new SGMLS_Entity($name, $type, $value); + next dispatch; + }; + + ($c eq 'T') && do { # external text entity declaration + $self->{'current_entities'}->{$data} = + new SGMLS_Entity($data, + 'TEXT', + '', + $self->{'current_sysid'}, + $self->{'current_pubid'}, + $self->{'current_filenames'}, + ''); + $self->{'current_sysid'} = ''; + $self->{'current_pubid'} = ''; + $self->{'current_filenames'} = []; + next dispatch; + }; + + ($c eq 'S') && do { # subdocument entity declaration + $self->{'current_entities'}->{$data} = + new SGMLS_Entity($data, + 'SUBDOC', + '', + $self->{'current_sysid'}, + $self->{'current_pubid'}, + $self->{'current_filenames'}, + ''); + $self->{'current_sysid'} = ''; + $self->{'current_pubid'} = ''; + $self->{'current_filenames'} = []; + next dispatch; + }; + + ($c eq 's') && do { # system id + $self->{'current_sysid'} = $data; + next dispatch; + }; + + ($c eq 'p') && do { # public id + $self->{'current_pubid'} = $data; + next dispatch; + }; + + ($c eq 'f') && do { # generated filename + push @{$self->{'current_filenames'}}, $data; + next dispatch; + }; + + ($c eq '{') && do { # begin subdocument entity + my $subdoc = ($self->{'current_entities'}->{$data}|| + croak "Unknown SUBDOC entity $data\n"); + push @{$self->{'notation_stack'}}, $self->{'current_notations'}; + push @{$self->{'entity_stack'}}, $self->{'current_entities'}; + $self->{'current_notations'} = {}; + $self->{'current_entities'} = {}; + return new SGMLS_Event('start_subdoc', + $subdoc, + $self); + }; + + ($c eq '}') && do { # end subdocument entity + $self->{'current_notations'} = pop @{$self->{'notation_stack'}}; + $self->{'current_entities'} = pop @{$self->{'entity_stack'}}; + return new SGMLS_Event('end_subdoc', + ($self->{'current_entities'}->{$data} || + croak "Unknown SUBDOC entity $data\n"), + $self); + }; + + ($c eq 'L') && do { # line number (and file name) + $data =~ /^(\d+)( (.*))?$/; + $self->{'current_line'} = $1; + $self->{'current_file'} = $3 if $3; + next dispatch; + }; + + ($c eq '#') && do { # APPINFO parameter + $self->{'appinfo'} = $data; + next dispatch; + }; + + ($c eq 'C') && do { # document is conforming + return new SGMLS_Event('conforming','',$self); + }; + } + return ''; +} + +1; + +######################################################################## +# Local Variables: +# mode: perl +# End: +######################################################################## diff --git a/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/SGMLS/Output.pm b/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/SGMLS/Output.pm new file mode 100644 index 00000000000..4758bfa80fd --- /dev/null +++ b/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/SGMLS/Output.pm @@ -0,0 +1,225 @@ +package SGMLS::Output; +use Carp; + +use Exporter; +@ISA = Exporter; +@EXPORT = qw(output push_output pop_output); + +$version = '$Id: Output.pm,v 1.6 1995/12/05 12:21:51 david Exp $'; + +=head1 NAME + +SGMLS::Output - Stack-based Output Procedures + +=head1 SYNOPSIS + + use SGMLS::Output; + +To print a string to the current output destination: + + output($data); + +To push a new output level to the filehandle DATA: + + push_output('handle',DATA); + +To push a new output level to the file "foo.data" (which will be +opened and closed automatically): + + push_output('file','foo.data'); + +To push a new output level to a pipe to the shell command "sort": + + push_output('pipe','sort'); + +To push a new output level I<appending> to the file "foo.data": + + push_output('append','foo.data'); + +To push a new output level to an empty string: + + push_output('string'); + +To push a new output level appending to the string "David is ": + + push_output('string',"David is "); + +To push a new output level to The Great Beyond: + + push_output('nul'); + +To revert to the previous output level: + + pop_output(); + +To revert to the previous output level, returning the contents of an +output string: + + $data = pop_output(); + +=head1 DESCRIPTION + +This library allows redirectable, stack-based output to files, pipes, +handles, strings, or nul. It is especially useful for packages like +L<SGMLS>, since handlers for individual B<SGML> elements can +temporarily change and restore the default output destination. It is +also particularly useful for capturing the contents of an element (and +its sub-elements) in a string. + +Example: + + sgmls('<title>', sub{ push_output('string'); }); + sgmls('</title>', sub{ $title = pop_output(); }); + +In between, anything sent to B<output> (such as CDATA) will be +accumulated in the string returned from B<pop_output()>. + +Example: + + sgmls('<tei.header>', sub { push_output('nul'); }); + sgmls('</tei.header>', sub { pop_output(); }); + +All output will be ignored until the header has finished. + + +=head1 AUTHOR AND COPYRIGHT + +Copyright 1994 and 1995 by David Megginson, +C<dmeggins@aix1.uottawa.ca>. Distributed under the terms of the Gnu +General Public License (version 2, 1991) -- see the file C<COPYING> +which is included in the B<SGMLS.pm> distribution. + + +=head1 SEE ALSO: + +L<SGMLS>. + +=cut + +# +# Anonymous subroutines for handling different types of references. +# +$output_handle_sub = sub { + print $current_output_data @_; +}; + +$output_file_sub = sub { + print $current_output_data @_; +}; + +$output_string_sub = sub { + $current_output_data .= shift; + foreach (@_) { + $current_output_data .= $, . $_; + } + $current_output_data .= $\; +}; + +$output_nul_sub = sub {}; + +# +# Status variables +# +$current_output_type = 'handle'; +$current_output_data = STDOUT; +$current_output_sub = $output_handle_sub; +@output_stack = qw(); + +# +# Externally-visible functions +# + + # Send data to the output. +sub output { + &{$current_output_sub}(@_); +} + + # Push a new output destination. +sub push_output { + my ($type,$data) = @_; + push @output_stack, [$current_output_type,$current_output_data, + $current_output_sub]; + SWITCH: { + $type eq 'handle' && do { + # Force unqualified filehandles into caller's package + my ($package) = caller; + $data =~ s/^[^':]+$/$package\:\:$&/; + + $current_output_sub = $output_handle_sub; + $current_output_type = 'handle'; + $current_output_data = $data; + last SWITCH; + }; + $type eq 'file' && do { + $current_output_sub = $output_file_sub; + my $handle = new_handle(); + open($handle,">$data") || croak "Cannot create file $data.\n"; + $current_output_type = 'file'; + $current_output_data = $handle; + last SWITCH; + }; + $type eq 'pipe' && do { + $current_output_sub = $output_file_sub; + my $handle = new_handle(); + open($handle,"|$data") || croak "Cannot open pipe to $data.\n"; + $current_output_type = 'file'; + $current_output_data = $handle; + last SWITCH; + }; + $type eq 'append' && do { + $current_output_sub = $output_file_sub; + my $handle = new_handle(); + open($handle,">>$data") || croak "Cannot append to file $data.\n"; + $current_output_type = 'file'; + $current_output_data = $handle; + last SWITCH; + }; + $type eq 'string' && do { + $current_output_sub = $output_string_sub; + $current_output_type = 'string'; + $current_output_data = $data; + last SWITCH; + }; + $type eq 'nul' && do { + $current_output_sub = $output_nul_sub; + $current_output_type = 'nul'; + $current_output_data = ''; + last SWITCH; + }; + croak "Unknown output type: $type.\n"; + } +} + + # Pop the current output destination. +sub pop_output { + my ($old_type,$old_data) = ($current_output_type,$current_output_data); + ($current_output_type,$current_output_data,$current_output_sub) = + @{pop @output_stack}; + SWITCH: { + $old_type eq 'handle' && do { + return $old_data; + }; + $old_type eq 'file' && do { + close($old_data); + return ''; + }; + $old_type eq 'string' && do { + return $old_data; + }; + $old_type eq 'nul' && do { + return ''; + }; + croak "Unknown output type: $type.\n"; + } +} + +# +# Local Utility functions. +# +$new_handle_counter = 1; + +sub new_handle { + return "IOHandle" . $new_handle_counter++; +} + +1; diff --git a/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/SGMLS/Refs.pm b/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/SGMLS/Refs.pm new file mode 100644 index 00000000000..3e3f563770c --- /dev/null +++ b/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/SGMLS/Refs.pm @@ -0,0 +1,216 @@ +package SGMLS::Refs; + +use Carp; + +$version = '$Id: Refs.pm,v 1.5 1995/12/03 21:28:36 david Exp $'; + +=head1 NAME + +SGMLS::Refs + +=head1 SYNOPSIS + + use SGMLS::Refs; + +To create a new reference-manager object using the file "foo.refs": + + my $refs = new SGMLS::Refs("foo.refs"); + +To create a new reference-manager object using the file "foo.refs" and +logging changes to the file "foo.log": + + my $refs = new SGMLS::Refs("foo.refs","foo.log"); + +To record a reference: + + $refs->put("document title",$title); + +To retrieve a reference: + + $title = $refs->get("document title"); + +To return the number of references changed since the last run: + + $num = $refs->changed; + +To print a LaTeX-like warning if any references have changed: + + $refs->warn; + +=head1 DESCRIPTION + +This library can be used together with the B<SGMLS> package to keep +track of forward references from one run to another, like the B<LaTeX> +C<.aux> files. Each reference manager is an object which reads and +then rewrites a file of perl source, with the file name provided by +the caller. + +Example: + + # Start up the reference manager before the parse. + sgml('start', sub { $refs = new SGMLS::Refs("foo.refs"); }); + + # Warn about any changed references at the end. + sgml('end', sub { $refs->warn; }); + + # Look up the title from the last parse, if available. + sgml('<div>', sub { + my $element = shift; + my $id = $element->attribute(ID)->value; + my $title = $refs->get("title:$id") || "[no title available]"; + + $current_div_id = $id; + + output "\\section{$title}\n\n"; + }); + + + # Save the title for the next parse. + sgml('<head>', sub { push_output('string'); }); + sgml('</head>', sub { + my $title = pop_output(); + my $id = $current_div_id; + + $refs->put("title:$id",$title); + }); + + +=head1 AUTHOR AND COPYRIGHT + +Copyright 1994 and 1995 by David Megginson, +C<dmeggins@aix1.uottawa.ca>. Distributed under the terms of the Gnu +General Public License (version 2, 1991) -- see the file C<COPYING> +which is included in the B<SGMLS.pm> distribution. + + +=head1 SEE ALSO: + +L<SGMLS>, L<SGMLS::Output>. + +=cut + +# +# Create a new instance of a reference manager. The first argument is +# the filename for the database, and the second (if present) is a +# filename for logging changes. +# +sub new { + my ($class,$filename,$logname) = (@_); + my $self = {}; + my $handle = generate_handle(); + my $loghandle = generate_handle() if $logname; + my $oldRS = $/; # Save old record separator. + + # Read the current contents of the reference file (if any). + if (open($handle,"<$filename")) { + $/ = 0777; + $self->{'refs'} = eval <$handle> || {}; + close $handle; + } else { + $self->{'refs'} = {}; + } + + # Open the reference file. + open($handle,">$filename") || croak $@; + + # Open the log file, if any. + if ($logname) { + open($loghandle,">$logname") || croak $@; + } + + # Note pertinent information. + $self->{'change_count'} = 0; + $self->{'handle'} = $handle; + $self->{'loghandle'} = $loghandle; + $self->{'filename'} = $filename; + $self->{'logname'} = $logname; + + $/ = $oldRS; # Restore old record separator. + return bless $self; +} + +# +# Set a reference's value. If the value is unchanged, don't do anything; +# otherwise, note the change by counting it and (optionally) logging it +# to the file handle provided when the object was created. +# +sub put { + my ($self,$key,$value) = (@_); + my $loghandle = $self->{'loghandle'}; + my $oldvalue = $self->{'refs'}->{$key}; + + if ($oldvalue ne $value) { + $self->{'change_count'}++; + if ($loghandle) { + print $loghandle "\"$key\" changed from " . + + "\"$oldvalue\" to \"$value\".\n"; + } + $self->{'refs'}->{$key} = $value; + } + + return $oldvalue; +} + +# +# Grab the value of a reference. +# +sub get { + my ($self,$key) = (@_); + + return $self->{'refs'}->{$key}; +} + +# +# Return the number of changed references. +# +sub changed { + my $self = shift; + return $self->{'changed_count'}; +} + +# +# Print a warning if any references have +# changed (a la LaTeX -- so that the user knows that another pass is +# necessary). Return 1 if a warning has been printed, or 0 if it +# was unnecessary. +# +sub warn { + my $self = shift; + my $count = $self->{'change_count'}; + my $filename = $self->{'filename'}; + my $plural = "references have"; + + $plural = "reference has" if $count == 1; + if ($count > 0) { + warn "SGMLS::Refs ($filename): $count $plural changed.\n"; + return 1; + } + return 0; +} + +sub DESTROY { + my $self = shift; + my $handle = $self->{'handle'}; + + close $self->{'loghandle'}; + + print $handle "{\n"; + foreach $key (keys %{$self->{'refs'}}) { + my $value = $self->{'refs'}->{$key}; + $key =~ s/\\/\\\\/g; + $key =~ s/'/\\'/g; + $value =~ s/\\/\\\\/g; + $value =~ s/'/\\'/g; + print $handle " '$key' => '$value',\n"; + } + print $handle " '' => ''\n}\n"; +} + +$handle_counter = 1; +sub generate_handle { + return "Handle" . $handle_counter++; +} + +1; + diff --git a/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/SGMLS/SGMLS.pm b/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/SGMLS/SGMLS.pm new file mode 100644 index 00000000000..b29395eed36 --- /dev/null +++ b/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/SGMLS/SGMLS.pm @@ -0,0 +1,893 @@ +package SGMLS; +use Carp; + +$version = '$Revision: 1.14 $'; + +=head1 NAME + +SGMLS - class for postprocessing the output from the B<sgmls> and +B<nsgmls> parsers. + +=head1 SYNOPSIS + + use SGMLS; + + my $parse = new SGMLS(STDIN); + + my $event = $parse->next_event; + while ($event) { + + SWITCH: { + + ($event->type eq 'start_element') && do { + my $element = $event->data; # An object of class SGMLS_Element + [[your code for the beginning of an element]] + last SWITCH; + }; + + ($event->type eq 'end_element') && do { + my $element = $event->data; # An object of class SGMLS_Element + [[your code for the end of an element]] + last SWITCH; + }; + + ($event->type eq 'cdata') && do { + my $cdata = $event->data; # A string + [[your code for character data]] + last SWITCH; + }; + + ($event->type eq 'sdata') && do { + my $sdata = $event->data; # A string + [[your code for system data]] + last SWITCH; + }; + + ($event->type eq 're') && do { + [[your code for a record end]] + last SWITCH; + }; + + ($event->type eq 'pi') && do { + my $pi = $event->data; # A string + [[your code for a processing instruction]] + last SWITCH; + }; + + ($event->type eq 'entity') && do { + my $entity = $event->data; # An object of class SGMLS_Entity + [[your code for an external entity]] + last SWITCH; + }; + + ($event->type eq 'start_subdoc') && do { + my $entity = $event->data; # An object of class SGMLS_Entity + [[your code for the beginning of a subdoc entity]] + last SWITCH; + }; + + ($event->type eq 'end_subdoc') && do { + my $entity = $event->data; # An object of class SGMLS_Entity + [[your code for the end of a subdoc entity]] + last SWITCH; + }; + + ($event->type eq 'conforming') && do { + [[your code for a conforming document]] + last SWITCH; + }; + + die "Internal error: unknown event type " . $event->type . "\n"; + } + + $event = $parse->next_event; + } + +=head1 DESCRIPTION + +The B<SGMLS> package consists of several related classes: see +L<"SGMLS">, L<"SGMLS_Event">, L<"SGMLS_Element">, +L<"SGMLS_Attribute">, L<"SGMLS_Notation">, and L<"SGMLS_Entity">. All +of these classes are available when you specify + + use SGMLS; + +Generally, the only object which you will create explicitly will +belong to the C<SGMLS> class; all of the others will then be created +automatically for you over the course of the parse. Much fuller +documentation is available in the C<.sgml> files in the C<DOC/> +directory of the C<SGMLS.pm> distribution. + +=head2 The C<SGMLS> class + +This class holds a single parse. When you create an instance of it, +you specify a file handle as an argument (if you are reading the +output of B<sgmls> or B<nsgmls> from a pipe, the file handle will +ordinarily be C<STDIN>): + + my $parse = new SGMLS(STDIN); + +The most important method for this class is C<next_event>, which reads +and returns the next major event from the input stream. It is +important to note that the C<SGMLS> class deals with most B<ESIS> +events itself: attributes and entity definitions, for example, are +collected and stored automatically and invisibly to the user. The +following list contains all of the methods for the C<SGMLS> class: + +=item C<next_event()>: Return an C<SGMLS_Event> object containing the +next major event from the SGML parse. + +=item C<element()>: Return an C<SGMLS_Element> object containing the +current element in the document. + +=item C<file()>: Return a string containing the name of the current +SGML source file (this will work only if the C<-l> option was given to +B<sgmls> or B<nsgmls>). + +=item C<line()>: Return a string containing the current line number +from the source file (this will work only if the C<-l> option was +given to B<sgmls> or B<nsgmls>). + +=item C<appinfo()>: Return a string containing the C<APPINFO> +parameter (if any) from the SGML declaration. + +=item C<notation(NNAME)>: Return an C<SGMLS_Notation> object +representing the notation named C<NNAME>. With newer versions of +B<nsgmls>, all notations are available; otherwise, only the notations +which are actually used will be available. + +=item C<entity(ENAME)>: Return an C<SGMLS_Entity> object representing +the entity named C<ENAME>. With newer versions of B<nsgmls>, all +entities are available; otherwise, only external data entities and +internal entities used as attribute values will be available. + +=item C<ext()>: Return a reference to an associative array for +user-defined extensions. + + +=head2 The C<SGMLS_Event> class + +This class holds a single major event, as generated by the +C<next_event> method in the C<SGMLS> class. It uses the following +methods: + +=item C<type()>: Return a string describing the type of event: +"start_element", "end_element", "cdata", "sdata", "re", "pi", +"entity", "start_subdoc", "end_subdoc", and "conforming". See +L<"SYNOPSIS">, above, for the values associated with each of these. + +=item C<data()>: Return the data associated with the current event (if +any). For "start_element" and "end_element", returns an +C<SGMLS_ELement> object; for "entity", "start_subdoc", and +"end_subdoc", returns an C<SGMLS_Entity> object; for "cdata", "sdata", +and "pi", returns a string; and for "re" and "conforming", returns the +empty string. See L<"SYNOPSIS">, above, for an example of this +method's use. + +=item C<key()>: Return a string key to the event, such as an element +or entity name (otherwise, the same as C<data()>). + +=item C<file()>: Return the current file name, as in the C<SGMLS> +class. + +=item C<line()>: Return the current line number, as in the C<SGMLS> +class. + +=item C<element()>: Return the current element, as in the C<SGMLS> +class. + +=item C<parse()>: Return the C<SGMLS> object which generated the +event. + +=item C<entity(ENAME)>: Look up an entity, as in the C<SGMLS> class. + +=item C<notation(ENAME)>: Look up a notation, as in the C<SGMLS> +class. + +=item C<ext()>: Return a reference to an associative array for +user-defined extensions. + + +=head2 The C<SGMLS_Element> class + +This class is used for elements, and contains all associated +information (such as the element's attributes). It recognises the +following methods: + +=item C<name()>: Return a string containing the name, or Generic +Identifier, of the element, in upper case. + +=item C<parent()>: Return the C<SGMLS_Element> object for the +element's parent (if any). + +=item C<parse()>: Return the C<SGMLS> object for the current parse. + +=item C<attributes()>: Return a reference to an associative array of +attribute names and C<SGMLS_Attribute> structures. Attribute names +will be all in upper case. + +=item C<attribute_names()>: Return an array of strings containing the +names of all attributes defined for the current element, in upper +case. + +=item C<attribute(ANAME)>: Return the C<SGMLS_Attribute> structure for +the attribute C<ANAME>. + +=item C<set_attribute(ATTRIB)>: Add the C<SGMLS_Attribute> object +C<ATTRIB> to the current element, replacing any other attribute +structure with the same name. + +=item C<in(GI)>: Return C<true> (ie. 1) if the string C<GI> is the +name of the current element's parent, or C<false> (ie. 0) if it is +not. + +=item C<within(GI)>: Return C<true> (ie. 1) if the string C<GI> is the +name of any of the ancestors of the current element, or C<false> +(ie. 0) if it is not. + +=item C<ext()>: Return a reference to an associative array for +user-defined extensions. + + +=head2 The C<SGMLS_Attribute> class + +Each instance of an attribute for each C<SGMLS_Element> is an object +belonging to this class, which recognises the following methods: + +=item C<name()>: Return a string containing the name of the current +attribute, all in upper case. + +=item C<type()>: Return a string containing the type of the current +attribute, all in upper case. Available types are "IMPLIED", "CDATA", +"NOTATION", "ENTITY", and "TOKEN". + +=item C<value()>: Return the value of the current attribute, if any. +This will be an empty string if the type is "IMPLIED", a string of +some sort if the type is "CDATA" or "TOKEN" (if it is "TOKEN", you may +want to split the string into a series of separate tokens), an +C<SGMLS_Notation> object if the type is "NOTATION", or an +C<SGMLS_Entity> object if the type is "ENTITY". Note that if the +value is "CDATA", it will I<not> have escape sequences for 8-bit +characters, record ends, or SDATA processed -- that will be your +responsibility. + +=item C<is_implied()>: Return C<true> (ie. 1) if the value of the +attribute is implied, or C<false> (ie. 0) if it is specified in the +document. + +=item C<set_type(TYPE)>: Change the type of the attribute to the +string C<TYPE> (which should be all in upper case). Available types +are "IMPLIED", "CDATA", "NOTATION", "ENTITY", and "TOKEN". + +=item C<set_value(VALUE)>: Change the value of the attribute to +C<VALUE>, which may be a string, an C<SGMLS_Entity> object, or an +C<SGMLS_Notation> subject, depending on the attribute's type. + +=item C<ext()>: Return a reference to an associative array available +for user-defined extensions. + + +=head2 The C<SGMLS_Notation> class + +All declared notations appear as objects belonging to this class, +which recognises the following methods: + +=item C<name()>: Return a string containing the name of the notation. + +=item C<sysid()>: Return a string containing the system identifier of +the notation, if any. + +=item C<pubid()>: Return a string containing the public identifier of +the notation, if any. + +=item C<ext()>: Return a reference to an associative array available +for user-defined extensions. + + +=head2 The C<SGMLS_Entity> class + +All declared entities appear as objects belonging to this class, which +recognises the following methods: + +=item C<name()>: Return a string containing the name of the entity, in +mixed case. + +=item C<type()>: Return a string containing the type of the entity, in +upper case. Available types are "CDATA", "SDATA", "NDATA" (external +entities only), "SUBDOC", "PI" (newer versions of B<nsgmls> only), or +"TEXT" (newer versions of B<nsgmls> only). + +=item C<value()>: Return a string containing the value of the entity, +if it is internal. + +=item C<sysid()>: Return a string containing the system identifier of +the entity (if any), if it is external. + +=item C<pubid()>: Return a string containing the public identifier of +the entity (if any), if it is external. + +=item C<filenames()>: Return an array of strings containing any file +names generated from the identifiers, if the entity is external. + +=item C<notation()>: Return the C<SGMLS_Notation> object associated +with the entity, if it is external. + +=item C<data_attributes()>: Return a reference to an associative array +of data attribute names (in upper case) and the associated +C<SGMLS_Attribute> objects for the current entity. + +=item C<data_attribute_names()>: Return an array of data attribute +names (in upper case) for the current entity. + +=item C<data_attribute(ANAME)>: Return the C<SGMLS_Attribute> object +for the data attribute named C<ANAME> for the current entity. + +=item C<set_data_attribute(ATTRIB)>: Add the C<SGMLS_Attribute> object +C<ATTRIB> to the current entity, replacing any other data attribute +with the same name. + +=item C<ext()>: Return a reference to an associative array for +user-defined extensions. + + +=head1 AUTHOR AND COPYRIGHT + +Copyright 1994 and 1995 by David Megginson, +C<dmeggins@aix1.uottawa.ca>. Distributed under the terms of the Gnu +General Public License (version 2, 1991) -- see the file C<COPYING> +which is included in the B<SGMLS.pm> distribution. + + +=head1 SEE ALSO: + +L<SGMLS::Output> and L<SGMLS::Refs>. + +=cut + +# +# Data class for a single SGMLS ESIS output event. The object will +# keep information about its own current element and, if available, +# the source file and line where the event appeared. +# +# Event types are as follow: +# Event Data +# ------------------------------------------------------- +# 'start_element' SGMLS_Element +# 'end_element' SGMLS_Element +# 'cdata' string +# 'sdata' string +# 're' [none] +# 'pi' string +# 'entity' SGMLS_Entity +# 'start_subdoc' SGMLS_Entity +# 'end_subdoc' SGMLS_Entity +# 'conforming' [none] +# +package SGMLS_Event; +use Carp; + # Constructor. +sub new { + my ($class,$type,$data,$parse) = @_; + return bless [$type, + $data, + $parse->file, + $parse->line, + $parse->element, + $parse, + {} + ]; +} + # Accessors. +sub type { return $_[0]->[0]; } +sub data { return $_[0]->[1]; } +sub file { return $_[0]->[2]; } +sub line { return $_[0]->[3]; } +sub element { return $_[0]->[4]; } +sub parse { return $_[0]->[5]; } +sub ext { return $_[0]->[6]; } + # Generate a key for the event. +sub key { + my $self = shift; + if (ref($self->data) eq SGMLS_Element || + ref($self->data) eq SGMLS_Entity) { + return $self->data->name; + } else { + return $self->data; + } +} + # Look up an entity in the parse. +sub entity { + my ($self,$ename) = (@_); + return $self->parse->entity($ename); +} + # Look up a notation in the parse. +sub notation { + my ($self,$nname) = (@_); + return $self->parse->notation($nname); +} + + +# +# Data class for a single SGML attribute. The object will know its +# type, and will keep a value unless the type is 'IMPLIED', in which +# case no meaningful value is available. +# +# Attribute types are as follow: +# Type Value +# --------------------------------------- +# IMPLIED [none] +# CDATA string +# NOTATION SGMLS_Notation +# ENTITY SGMLS_Entity +# TOKEN string +# +package SGMLS_Attribute; +use Carp; + # Constructor. +sub new { + my ($class,$name,$type,$value) = @_; + return bless [$name,$type,$value,{}]; +} + # Accessors. +sub name { return $_[0]->[0]; } +sub type { return $_[0]->[1]; } +sub value { return $_[0]->[2]; } +sub ext { return $_[0]->[3]; } + # Return 1 if the value is implied. +sub is_implied { + my $self = shift; + return ($self->type eq 'IMPLIED'); +} + # Set the attribute's type. +sub set_type { + my ($self,$type) = @_; + $self->[1] = $type; +} + + # Set the attribute's value. +sub set_value { + my ($self,$value) = @_; + $self->[2] = $value; +} + + +# +# Data class for a single element of an SGML document. The object will not +# know about its children (data or other elements), but it keeps track of its +# parent and its attributes. +# +package SGMLS_Element; +use Carp; + # Constructor. +sub new { + my ($class,$name,$parent,$attributes,$parse) = @_; + return bless [$name,$parent,$attributes,$parse,{}]; +} + # Accessors. +sub name { return $_[0]->[0]; } +sub parent { return $_[0]->[1]; } +sub parse { return $_[0]->[3]; } +sub ext { return $_[0]->[4]; } + + # Return the associative array of + # attributes, parsing it the first + # time through. +sub attributes { + my $self = shift; + if (ref($self->[2]) eq 'ARRAY') { + my $new = {}; + foreach (@{$self->[2]}) { + /^(\S+) (IMPLIED|CDATA|NOTATION|ENTITY|TOKEN)( (.*))?$/ + || croak "Bad attribute event data: $_"; + my ($name,$type,$value) = ($1,$2,$4); + if ($type eq 'NOTATION') { + $value = $self->parse->notation($value); + } elsif ($type eq 'ENTITY') { + $value = $self->parse->entity($value); + } + $new->{$name} = + new SGMLS_Attribute($name,$type,$value); + } + $self->[2] = $new; + } + return $self->[2]; +} + # Return a list of attribute names. +sub attribute_names { + my $self = shift; + return keys(%{$self->attributes}); +} + # Find an attribute by name. +sub attribute { + my ($self,$aname) = @_; + return $self->attributes->{$aname}; +} + # Add a new attribute. +sub set_attribute { + my ($self,$attribute) = @_; + $self->attributes->{$attribute->name} = $attribute; +} + # Check parent by name. +sub in { + my ($self,$name) = @_; + if ($self->parent && $self->parent->name eq $name) { + return $self->parent; + } else { + return ''; + } +} + # Check ancestors by name. +sub within { + my ($self,$name) = @_; + for ($self = $self->parent; $self; $self = $self->parent) { + return $self if ($self->name eq $name); + } + return ''; +} + + +# +# Data class for an SGML notation. The only information available +# will be the name, the sysid, and the pubid -- the rest is up to the +# processing application. +# +package SGMLS_Notation; +use Carp; + # Constructor. +sub new { + my ($class,$name,$sysid,$pubid) = @_; + return bless [$name,$sysid,$pubid,{}]; +} + # Accessors. +sub name { return $_[0]->[0]; } +sub sysid { return $_[0]->[1]; } +sub pubid { return $_[0]->[2]; } +sub ext { return $_[0]->[3]; } + +# +# Data class for a single SGML entity. All entities will have a name +# and a type. Internal entities will be of type CDATA or SDATA only, +# and will have a value rather than a notation and sysid/pubid. External +# CDATA, NDATA, and SDATA entities will always have notations attached, +# and SUBDOC entities are always external (and will be parsed by SGMLS). +# +# Entity types are as follow: +# Type Internal External +# ----------------------------------------------------------- +# CDATA x x +# NDATA x +# SDATA x x +# SUBDOC x +# (newer versions of NSGMLS only:) +# PI x +# TEXT x x +# +package SGMLS_Entity; +use Carp; + # Constructor. +sub new { + my ($class,$name,$type,$value,$sysid,$pubid,$filenames,$notation) = @_; + return bless [$name,$type,$value,{},$sysid,$pubid,$filenames,$notation,{}]; +} + # Accessors. +sub name { return $_[0]->[0]; } +sub type { return $_[0]->[1]; } +sub value { return $_[0]->[2]; } +sub data_attributes { return $_[0]->[3]; } +sub sysid { return $_[0]->[4]; } +sub pubid { return $_[0]->[5]; } +sub filenames { return $_[0]->[6]; } +sub notation { return $_[0]->[7]; } +sub ext { return $_[0]->[8]; } + # Return a list of data-attribute names. +sub data_attribute_names { + my $self = shift; + return keys(%{$self->data_attributes}); +} + # Find a data attribute by name. +sub data_attribute { + my ($self,$aname) = @_; + return $self->data_attributes->{$aname}; +} + # Add a new data attribute. +sub set_data_attribute { + my ($self,$data_attribute) = @_; + $self->data_attributes()->{$data_attribute->name} = $data_attribute; +} + + + +# +# Data class for a single SGMLS parse. The constructor takes a single +# argument, a file handle from which the SGMLS ESIS events will be read +# (it may be a pipe, a fifo, a file, a socket, etc.). It is essential +# that no two SGMLS objects have the same handle. +# +package SGMLS; + # Constructor. +sub new { + my ($class,$handle) = @_; + + # Force unqualified filehandles into caller's package + my ($package) = caller; + $handle =~ s/^[^':]+$/$package\:\:$&/; + + return bless { + 'handle' => $handle, + 'event_stack' => [], + 'current_element' => '', + 'current_attributes' => [], + 'current_entities' => {}, + 'entity_stack' => [], + 'current_notations' => {}, + 'notation_stack' => [], + 'current_sysid' => '', + 'current_pubid' => '', + 'current_filenames' => [], + 'current_file' => '', + 'current_line' => '', + 'appinfo' => '', + 'ext' => {} + }; +} + # Accessors. +sub element { return $_[0]->{'current_element'}; } +sub file { return $_[0]->{'current_file'}; } +sub line { return $_[0]->{'current_line'}; } +sub appinfo { return $_[0]->{'appinfo'}; } +sub ext { return $_[0]->{'ext'}; } + + # Given its name, look up a notation. +sub notation { + my ($self,$nname) = @_; + return $self->{'current_notations'}->{$nname}; +} + # Given its name, look up an entity. +sub entity { + my ($self,$ename) = @_; + return $self->{'current_entities'}->{$ename}; +} + + # Return the next SGMLS_Event, or '' + # if the document has finished. +sub next_event { + my $self = shift; + my $handle = $self->{'handle'}; + + # If there are any queued up events, + # grab them first. + if ($#{$self->{event_stack}} >= 0) { + return pop @{$self->{event_stack}}; + } + + dispatch: while (!eof($handle)) { + + my $c = getc($handle); + my $data = <$handle>; + chop $data; + + ($c eq '(') && do { # start an element + $self->{'current_element'} = + new SGMLS_Element($data, + $self->{'current_element'}, + $self->{'current_attributes'}, + $self); + $self->{'current_attributes'} = []; + return new SGMLS_Event('start_element', + $self->{'current_element'}, + $self); + }; + + ($c eq ')') && do { # end an element + my $old = $self->{'current_element'}; + $self->{'current_element'} = $self->{'current_element'}->parent; + return new SGMLS_Event('end_element',$old,$self); + }; + + ($c eq '-') && do { # some data + my $sdata_flag = 0; + my $out = ''; + while ($data =~ /\\(\\|n|\||[0-7]{1,3})/) { + $out .= $`; + $data = $'; + # beginning or end of SDATA + if ($1 eq '|') { + if ("$out" ne '') { + unshift(@{$self->{'event_stack'}}, + new SGMLS_Event($sdata_flag?'sdata':'cdata', + $out, + $self)); + $out = ''; + } + $sdata_flag = !$sdata_flag; + # record end + } elsif ($1 eq 'n') { + if ("$out" ne '') { + unshift(@{$self->{'event_stack'}}, + new SGMLS_Event($sdata_flag?'sdata':'cdata', + $out, + $self)); + $out = ''; + } + unshift(@{$self->{'event_stack'}}, + new SGMLS_Event('re','',$self)); + } elsif ($1 eq '\\') { + $out .= '\\'; + } else { + $out .= chr(oct($1)); + } + } + $out .= $data; + if ("$out" ne '') { + unshift(@{$self->{'event_stack'}}, + new SGMLS_Event($sdata_flag?'sdata':'cdata', + $out, + $self)); + } + return $self->next_event; + }; + + ($c eq '&') && do { # external entity reference + return new SGMLS_Event('entity', + ($self->{'current_entities'}->{$data} + || croak "Unknown external entity: $data\n"), + $self); + }; + + ($c eq '?') && do { # processing instruction + return new SGMLS_Event('pi', + $data, + $self); + }; + + ($c eq 'A') && do { # attribute declaration + # (will parse only on demand) + push @{$self->{'current_attributes'}}, $data; + next dispatch; + }; + + ($c eq 'a') && do { # link attribute declaration + # NOT YET IMPLEMENTED! + next dispatch; + }; + + ($c eq 'D') && do { # data attribute declaration + $data =~ /^(\S+) (\S+) (\S+)( (.*))?$/ + || croak "Bad data-attribute event data: $data"; + my ($ename,$aname,$type,$value) = ($1,$2,$3,$5); + my $entity = $self->{'current_entities'}->{$ename}; + my $attribute = new SGMLS_Attribute($aname,$type,$value); + $entity->set_data_attribute($attribute); + next dispatch; + }; + + ($c eq 'N') && do { # notation declaration + $self->{'current_notations'}->{$data} = + new SGMLS_Notation($data, + $self->{'current_sysid'}, + $self->{'current_pubid'}); + $self->{'current_sysid'} = ''; + $self->{'current_pubid'} = ''; + next dispatch; + }; + + ($c eq 'E') && do { # external entity declaration + $data =~ /^(\S+) (\S+) (\S+)$/ + || croak "Bad external entity event data: $data"; + my ($name,$type,$nname) = ($1,$2,$3); + my $notation = $self->{'current_notations'}->{$nname} if $nname; + $self->{'current_entities'}->{$name} = + new SGMLS_Entity($name, + $type, + '', + $self->{'current_sysid'}, + $self->{'current_pubid'}, + $self->{'current_filenames'}, + $notation); + $self->{'current_sysid'} = ''; + $self->{'current_pubid'} = ''; + $self->{'current_filenames'} = []; + next dispatch; + }; + + ($c eq 'I') && do { # internal entity declaration + $data =~ /^(\S+) (\S+) (.*)$/ + || croak "Bad external entity event data: $data"; + my ($name,$type,$value) = ($1,$2,$3); + $self->{'current_entities'}->{$name} = + new SGMLS_Entity($name, $type, $value); + next dispatch; + }; + + ($c eq 'T') && do { # external text entity declaration + $self->{'current_entities'}->{$data} = + new SGMLS_Entity($data, + 'TEXT', + '', + $self->{'current_sysid'}, + $self->{'current_pubid'}, + $self->{'current_filenames'}, + ''); + $self->{'current_sysid'} = ''; + $self->{'current_pubid'} = ''; + $self->{'current_filenames'} = []; + next dispatch; + }; + + ($c eq 'S') && do { # subdocument entity declaration + $self->{'current_entities'}->{$data} = + new SGMLS_Entity($data, + 'SUBDOC', + '', + $self->{'current_sysid'}, + $self->{'current_pubid'}, + $self->{'current_filenames'}, + ''); + $self->{'current_sysid'} = ''; + $self->{'current_pubid'} = ''; + $self->{'current_filenames'} = []; + next dispatch; + }; + + ($c eq 's') && do { # system id + $self->{'current_sysid'} = $data; + next dispatch; + }; + + ($c eq 'p') && do { # public id + $self->{'current_pubid'} = $data; + next dispatch; + }; + + ($c eq 'f') && do { # generated filename + push @{$self->{'current_filenames'}}, $data; + next dispatch; + }; + + ($c eq '{') && do { # begin subdocument entity + my $subdoc = ($self->{'current_entities'}->{$data}|| + croak "Unknown SUBDOC entity $data\n"); + push @{$self->{'notation_stack'}}, $self->{'current_notations'}; + push @{$self->{'entity_stack'}}, $self->{'current_entities'}; + $self->{'current_notations'} = {}; + $self->{'current_entities'} = {}; + return new SGMLS_Event('start_subdoc', + $subdoc, + $self); + }; + + ($c eq '}') && do { # end subdocument entity + $self->{'current_notations'} = pop @{$self->{'notation_stack'}}; + $self->{'current_entities'} = pop @{$self->{'entity_stack'}}; + return new SGMLS_Event('end_subdoc', + ($self->{'current_entities'}->{$data} || + croak "Unknown SUBDOC entity $data\n"), + $self); + }; + + ($c eq 'L') && do { # line number (and file name) + $data =~ /^(\d+)( (.*))?$/; + $self->{'current_line'} = $1; + $self->{'current_file'} = $3 if $3; + next dispatch; + }; + + ($c eq '#') && do { # APPINFO parameter + $self->{'appinfo'} = $data; + next dispatch; + }; + + ($c eq 'C') && do { # document is conforming + return new SGMLS_Event('conforming','',$self); + }; + } + return ''; +} + +1; + +######################################################################## +# Local Variables: +# mode: perl +# End: +######################################################################## diff --git a/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/catalog b/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/catalog new file mode 100644 index 00000000000..f2393cb97ad --- /dev/null +++ b/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/catalog @@ -0,0 +1,5 @@ +SGMLDECL "xml.dcl" +PUBLIC "-//W3C//DTD Specification::19971229//EN" "xmlspec.dtd" +PUBLIC "-//James Clark//DTD DSSSL Flow Object Tree//EN" "fot.dtd" +PUBLIC "-//James Clark//DTD DSSSL Style-Sheet//EN" "style-sheet.dtd" +PUBLIC "ISO/IEC 10179:1996//DTD DSSSL Architecture//EN" "dsssl.dtd" diff --git a/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/catalog.dsssl b/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/catalog.dsssl new file mode 100644 index 00000000000..11bc0425afe --- /dev/null +++ b/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/catalog.dsssl @@ -0,0 +1,4 @@ +PUBLIC "-//James Clark//DTD DSSSL Flow Object Tree//EN" "fot.dtd" +PUBLIC "ISO/IEC 10179:1996//DTD DSSSL Architecture//EN" "dsssl.dtd" +PUBLIC "-//James Clark//DTD DSSSL Style Sheet//EN" "style-sheet.dtd" +PUBLIC "-//OpenJade//DTD DSSSL Style Sheet//EN" "style-sheet.dtd" diff --git a/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/catalog.xml b/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/catalog.xml new file mode 100644 index 00000000000..bd4f2aa939f --- /dev/null +++ b/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/catalog.xml @@ -0,0 +1,2 @@ +SGMLDECL "xml.dcl" +PUBLIC "-//W3C//DTD Specification::19971229//EN" "xmlspec.dtd" diff --git a/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/dsssl.cat b/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/dsssl.cat new file mode 100644 index 00000000000..76a78096b11 --- /dev/null +++ b/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/dsssl.cat @@ -0,0 +1,3 @@ +PUBLIC "-//James Clark//DTD DSSSL Flow Object Tree//EN" "fot.dtd" +PUBLIC "ISO/IEC 10179:1996//DTD DSSSL Architecture//EN" "dsssl.dtd" +PUBLIC "-//James Clark//DTD DSSSL Style Sheet//EN" "style-sheet.dtd" diff --git a/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/dsssl.dtd b/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/dsssl.dtd new file mode 100644 index 00000000000..50f66baa676 --- /dev/null +++ b/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/dsssl.dtd @@ -0,0 +1,134 @@ +<!-- DSSSL Architectural Forms --> + +<!ENTITY % declarations + "features | baseset-encoding | literal-described-char | add-name-chars + | add-separator-chars | standard-chars | other-chars + | combine-char | map-sdata-entity | char-repertoire" +> + +<!element dsssl-specification - O + ((%declarations;)*, + (style-specification | transformation-specification + | external-specification)+)> +<!attlist dsssl-specification + version CDATA #FIXED "ISO/IEC 10179:1996" +> + +<!element transformation-specification - O + ((%declarations;)*, transformation-specification-body*)> +<!attlist transformation-specification + id ID #IMPLIED + desc CDATA #IMPLIED + -- human readable description of specification -- + partial (partial | complete) complete + -- is the specification complete is or is it just a fragment + to be used in other specifications? -- + use -- reftype(transformation-specification|external-specification) -- + IDREFS #IMPLIED -- Default: none -- + entities + -- entities available to be specified as DTD for validation + of result document -- + ENTITIES #IMPLIED -- Default: none -- +> + +<!element style-specification - O + ((%declarations;)*, style-specification-body*)> +<!attlist style-specification + id ID #IMPLIED + desc CDATA #IMPLIED + -- human readable description of specification -- + partial (partial | complete) complete + -- is the specification complete is or is it just a fragment + to be used in other specifications? -- + use -- reftype(style-specification|external-specification) -- + IDREFS #IMPLIED -- Default: none -- +> + +<!-- Assign a local ID to a specification in another document. --> +<!element external-specification - O EMPTY> +<!attlist external-specification + id ID #REQUIRED + document -- document containing spec -- + ENTITY #REQUIRED + specid -- id of spec in document -- + NAME #IMPLIED -- Default: first spec in document -- +> + +<!-- Declares features used by specification. --> +<!element features - O (#PCDATA) + -- dlextype(featurename*) --> + +<!-- Map character numbers in a base character set to character names; +not needed when system knows a character set, and all characters +in character set have universal code. --> +<!element baseset-encoding - O (#PCDATA) + -- dlextype((number, charname)*) --> +<!attlist baseset-encoding + name CDATA #REQUIRED -- public identifier of baseset -- +> + +<!-- Map a character described in the SGML declaration with a minimum literal +to a character name. --> +<!element literal-described-char - O (#PCDATA) + -- dlextype(charname) --> +<!attlist literal-described-char + desc CDATA #REQUIRED -- the literal description -- +> + +<!-- Declare additional characters allowed in name within DSSSL notation. --> +<!element add-name-chars - O (#PCDATA) + -- dlextype(charname*) --> + +<!-- Declare additional characters allowed as separators within +DSSSL notation. --> +<!element add-separator-chars - O (#PCDATA) + -- dlextype(charname*) --> + +<!-- Define characters associating names with universal codes. --> + +<!element standard-chars - O (#PCDATA) + -- dlextype((charname, number))*) --> + +<!-- Define characters with no universal codes. --> + +<!element other-chars - O (#PCDATA) + -- dlextype(charname*) --> + +<!-- Map an SDATA entity onto a character. --> + +<!element map-sdata-entity - O (#PCDATA) + -- dlextype(charname) --> +<!attlist map-sdata-entity + name CDATA #IMPLIED -- Default: mapping uses replacement text only -- + text CDATA #IMPLIED -- Default: mapping uses name only -- +> + +<!-- Declare character combining. --> + +<!element combine-char - O (#PCDATA) + -- dlextype(charname, charname, charname+) --> + +<!-- Declare a character repertoire. --> +<!element char-repertoire - O EMPTY> +<!attlist char-repertoire + name -- public identifier for repertoire -- + CDATA #REQUIRED +> + +<!element style-specification-body - - CDATA + -- content uses notation of DSSSL style language --> +<!attlist style-specification-body + content ENTITY #CONREF -- Default: syntactic content -- +> + +<!element transformation-specification-body - - CDATA + -- content uses notation of DSSSL transformation language --> +<!attlist transformation-specification-body + content ENTITY #CONREF -- Default: syntactic content -- +> + +<!-- This notation is intended for use as the value of the ArcDataF + architectural form support attribute. --> + +<!NOTATION dsssl-specification PUBLIC + "ISO/IEC 10179:1996//NOTATION DSSSL Specification//EN"> diff --git a/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/empty.dsl b/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/empty.dsl new file mode 100644 index 00000000000..9b49481f1e3 --- /dev/null +++ b/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/empty.dsl @@ -0,0 +1,8 @@ +<!-- empty.dsl --> +<!DOCTYPE style-sheet PUBLIC "-//James Clark//DTD DSSSL Style Sheet//EN"> +<style-sheet> + <style-specification> + <style-specification-body> + </style-specification-body> + </style-specification> +</style-sheet> diff --git a/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/empty.xsl b/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/empty.xsl new file mode 100644 index 00000000000..b419996c59c --- /dev/null +++ b/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/empty.xsl @@ -0,0 +1,2 @@ +<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> +</xsl:stylesheet> diff --git a/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/emptyexample.xml b/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/emptyexample.xml new file mode 100644 index 00000000000..957a6041065 --- /dev/null +++ b/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/emptyexample.xml @@ -0,0 +1,15 @@ +<!DOCTYPE emptyexample [ +<!ELEMENT emptyexample (par*)> +<!ELEMENT par (#PCDATA|image|imref)*> +<!ELEMENT image EMPTY> +<!ATTLIST image name ID #IMPLIED + address CDATA #REQUIRED> +<!ELEMENT imref EMPTY> +<!ATTLIST imref name IDREF #REQUIRED> +<!ENTITY logo-uri "http://www.ucc.ie/xml/xml.gif"> +]> +<emptyexample> +<par>The XML logo is shown in the image <imref name="xml-logo"/>.</par> +<par>The image shows an alternative syntax for an empty element +<image name="xml-logo" address="&logo-uri;"></image></par> +</emptyexample> diff --git a/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/entable-alt.xml b/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/entable-alt.xml new file mode 100644 index 00000000000..a295e611d88 --- /dev/null +++ b/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/entable-alt.xml @@ -0,0 +1,243 @@ +<?xml version='1.0' encoding="ISO-8859-1"?> +<countries> +<country shortname="Afghanistan" fullname="Islamic State of Afghanistan" isocountry="AF" capital="Kabul" citizen="Afghan" adjective="Afghan" currency="afghani" isocurrency="AFA" currensubunit="pul"/> +<country shortname="Albania" fullname="Republic of Albania" isocountry="AL" capital="Tirana" citizen="Albanian" adjective="Albanian" currency="lek" isocurrency="ALL" currensubunit="quindar (pl.quindarka)"/> +<country shortname="Algeria" fullname="People's Democratic Republic of Algeria" isocountry="DZ" capital="Algiers" citizen="Algerian" adjective="Algerian" currency="Algerian dinar" isocurrency="DZD" currensubunit="centime"/> +<country shortname="American Samoa" fullname="Territory of American Samoa" isocountry="AS" capital="Pago Pago" citizen="Samoan" adjective="Samoan" currency="US dollar" isocurrency="USD" currensubunit="cent"/> +<country shortname="Andorra" fullname="Principality of Andorra" isocountry="AD" capital="Andorra la Vella" citizen="Andorran" adjective="Andorran" currency="Spanish peseta; French franc" isocurrency="ESP; FRF" currensubunit="céntimo; centime"/> +<country shortname="Angola" fullname="Republic of Angola" isocountry="AO" capital="Luanda" citizen="Angolan" adjective="Angolan" currency="readjusted kwanza" isocurrency="AOR" currensubunit="lwei (inv.)"/> +<country shortname="Anguilla" fullname="Anguilla" isocountry="AI" capital="The Valley" citizen="Anguillan" adjective="Anguillan" currency="Eastern Caribbean dollar" isocurrency="XCD" currensubunit="cent"/> +<country shortname="Antarctica" fullname="Antarctica" isocountry="AQ" capital="-" citizen="-" adjective="Antarctic" currency="-" isocurrency=" " currensubunit=" "/> +<country shortname="Antigua and Barbuda" fullname="Antigua and Barbuda" isocountry="AG" capital="St John's" citizen="Antiguan; Barbudian" adjective="Antiguan; Barbudian; of Antigua and Barbuda" currency="Eastern Caribbean dollar" isocurrency="XCD" currensubunit="cent"/> +<country shortname="Argentina" fullname="Argentine Republic" isocountry="AR" capital="Buenos Aires" citizen="Argentinian" adjective="Argentine" currency="Argentine peso" isocurrency="ARS" currensubunit="centavo"/> +<country shortname="Armenia" fullname="Republic of Armenia" isocountry="AM" capital="Yerevan" citizen="Armenian" adjective="Armenian" currency="dram (inv.)" isocurrency="AMD" currensubunit="luma"/> +<country shortname="Aruba" fullname="Aruba" isocountry="AW" capital="Oranjestad" citizen="Aruban" adjective="Aruban" currency="Aruban guilder" isocurrency="AWG" currensubunit="cent"/> +<country shortname="Australia" fullname="Commonwealth of Australia" isocountry="AU" capital="Canberra" citizen="Australian" adjective="Australian" currency="Australian dollar" isocurrency="AUD" currensubunit="cent"/> +<country shortname="Austria" fullname="Republic of Austria" isocountry="AT " capital="Vienna" citizen="Austrian" adjective="Austrian" currency="Austrian schilling" isocurrency="ATS" currensubunit="groschen (inv.)"/> +<country shortname="Azerbaijan" fullname="Azerbaijani Republic" isocountry="AZ" capital="Baku" citizen="Azeri" adjective="Azerbaijani" currency="Azerbaijani manat" isocurrency="AZM" currensubunit="kepik (inv.)"/> +<country shortname="Bahrain" fullname="State of Bahrain" isocountry="BH" capital="Manama" citizen="Bahraini" adjective="Bahraini" currency="Bahraini dinar" isocurrency="BHD" currensubunit="fils (inv.)"/> +<country shortname="Bangladesh" fullname="People's Republic of Bangladesh" isocountry="BD" capital="Dhaka" citizen="Bangladeshi" adjective="of Bangladesh" currency="taka (inv.)" isocurrency="BDT" currensubunit="poisha (inv.)"/> +<country shortname="Barbados" fullname="Barbados" isocountry="BB" capital="Bridgetown" citizen="Barbadian" adjective="Barbadian" currency="Barbados dollar" isocurrency="BBD" currensubunit="cent"/> +<country shortname="Belarus" fullname="Republic of Belarus" isocountry="BY" capital="Minsk" citizen="Belarusian" adjective="Belarusian" currency="Belarusian rouble" isocurrency="BYB" currensubunit="kopek"/> +<country shortname="Belgium" fullname="Kingdom of Belgium" isocountry="BE " capital="Brussels" citizen="Belgian" adjective="Belgian" currency="Belgian franc" isocurrency="BEF" currensubunit="centime"/> +<country shortname="Belize" fullname="Belize" isocountry="BZ" capital="Belmopan" citizen="Belizean" adjective="Belizean" currency="Belize dollar" isocurrency="BZD" currensubunit="cent"/> +<country shortname="Benin" fullname="Republic of Benin" isocountry="BJ" capital="Porto Novo" citizen="Beninese" adjective="Beninese" currency="CFA franc" isocurrency="XOF" currensubunit="centime"/> +<country shortname="Bermuda" fullname="Bermuda" isocountry="BM" capital="Hamilton" citizen="Bermudian" adjective="Bermudian" currency="Bermuda dollar" isocurrency="BMD" currensubunit="cent"/> +<country shortname="Bhutan" fullname="Kingdom of Bhutan" isocountry="BT" capital="Thimphu" citizen="Bhutanese" adjective="Bhutanese" currency="ngultrum (inv.)" isocurrency="BTN" currensubunit="chhetrum (inv.)"/> +<country shortname="Bolivia" fullname="Republic of Bolivia" isocountry="BO" capital="Sucre" citizen="Bolivian" adjective="Bolivian" currency="boliviano" isocurrency="BOB" currensubunit="centavo"/> +<country shortname="Bosnia and Herzegovina" fullname="Bosnia and Herzegovina" isocountry="BA" capital="Sarajevo" citizen="Bosnian; Herzegovinian" adjective="Bosnian; Herzegovinian" currency="Bosnian dinar; Bosnian convertible mark" isocurrency="BAM" currensubunit="fening"/> +<country shortname="Botswana" fullname="Republic of Botswana" isocountry="BW" capital="Gaborone" citizen="Botswanan" adjective="Botswanan; of Botswana" currency="pula (inv.)" isocurrency="BWP" currensubunit="thebe (inv.)"/> +<country shortname="Bouvet Island" fullname="Bouvet Island" isocountry="BV" capital="-" citizen="-" adjective="of Bouvet Island" currency=" " isocurrency=" " currensubunit=" "/> +<country shortname="Brazil" fullname="Federative Republic of Brazil" isocountry="BR" capital="Brasilia" citizen="Brazilian" adjective="Brazilian" currency="Brazilian real (pl. reais)" isocurrency="BRL" currensubunit="centavo"/> +<country shortname="British Indian Ocean Territory" fullname="British Indian Ocean Territory" isocountry="IO" capital="-" citizen="-" adjective="of the British Indian Ocean Territory" currency=" " isocurrency=" " currensubunit=" "/> +<country shortname="British Virgin Islands" fullname="British Virgin Islands" isocountry="VG" capital="Road Town" citizen="British Virgin Islander; BVIslander" adjective="of the British Virgin Islands" currency="US dollar" isocurrency="USD" currensubunit="cent"/> +<country shortname="Brunei" fullname="Negara Brunei Darussalam" isocountry="BN" capital="Bandar Seri Begawan" citizen="Bruneian" adjective="Bruneian; of Brunei" currency="Brunei dollar" isocurrency="BND" currensubunit="sen (inv.)"/> +<country shortname="Bulgaria" fullname="Republic of Bulgaria" isocountry="BG" capital="Sofia" citizen="Bulgarian" adjective="Bulgarian" currency="lev (pl. leva)" isocurrency="BGL" currensubunit="stotinka (pl. stotinki)"/> +<country shortname="Burkina Faso" fullname="Burkina Faso" isocountry="BF" capital="Ouagadougou" citizen="Burkinabe" adjective="Burkinabe; of Burkina Faso" currency="CFA franc" isocurrency="XOF" currensubunit="centime"/> +<country shortname="Burundi" fullname="Republic of Burundi" isocountry="BI" capital="Bujumbura" citizen="Burundian" adjective="Burundian; of Burundi" currency="Burundi franc" isocurrency="BIF" currensubunit="centime"/> +<country shortname="Cambodia" fullname="Kingdom of Cambodia" isocountry="KH" capital="Phnom Penh" citizen="Cambodian" adjective="Cambodian" currency="riel" isocurrency="KHR" currensubunit="sen (inv.)"/> +<country shortname="Cameroon" fullname="Republic of Cameroon" isocountry="CM" capital="Yaoundé" citizen="Cameroonian" adjective="Cameroonian" currency="CFA franc" isocurrency="XAF" currensubunit="centime"/> +<country shortname="Canada" fullname="Canada" isocountry="CA" capital="Ottawa" citizen="Canadian" adjective="Canadian" currency="Canadian dollar" isocurrency="CAD" currensubunit="cent"/> +<country shortname="Cape Verde" fullname="Republic of Cape Verde" isocountry="CV" capital="Praia" citizen="Cape Verdean" adjective="Cape Verdean" currency="Cape Verde escudo" isocurrency="CVE" currensubunit="centavo"/> +<country shortname="Cayman Islands" fullname="Cayman Islands" isocountry="KY" capital="George Town" citizen="Caymanian" adjective="Caymanian; of the Cayman Islands" currency="Cayman Islands dollar" isocurrency="KYD" currensubunit="cent"/> +<country shortname="Central African Republic" fullname="Central African Republic" isocountry="CF" capital="Bangui" citizen="Central African" adjective="Central African; of the Central African Republic" currency="CFA franc" isocurrency="XAF" currensubunit="centime"/> +<country shortname="Chad" fullname="Republic of Chad" isocountry="TD" capital="N'Djamena" citizen="Chadian" adjective="Chadian; of Chad" currency="CFA franc" isocurrency="XAF" currensubunit="centime"/> +<country shortname="Chile" fullname="Republic of Chile" isocountry="CL" capital="Santiago" citizen="Chilean" adjective="Chilean" currency="Chilean peso" isocurrency="CLP" currensubunit="centavo"/> +<country shortname="China" fullname="People's Republic of China" isocountry="CN" capital="Beijing" citizen="Chinese" adjective="Chinese" currency="renminbi-yuan (inv.)" isocurrency="CNY" currensubunit="fen (inv.)"/> +<country shortname="Christmas Island" fullname="Christmas Island Territory" isocountry="CX" capital="Flying Fish Cove" citizen="Christmas Islander" adjective="of Christmas Island" currency="Australian dollar" isocurrency="AUD" currensubunit="cent"/> +<country shortname="Cocos (Keeling) Islands" fullname="Territory of Cocos (Keeling) Islands" isocountry="CC" capital="Bantam" citizen="Cocos Islander" adjective="of the Cocos (Keeling) Islands" currency="Australian dollar" isocurrency="AUD" currensubunit="cent"/> +<country shortname="Colombia" fullname="Republic of Colombia" isocountry="CO" capital="Santa Fe de Bogotá" citizen="Colombian" adjective="Colombian" currency="Colombian peso" isocurrency="COP" currensubunit="centavo"/> +<country shortname="Congo" fullname="Republic of the Congo" isocountry="CG" capital="Brazzaville" citizen="Congolese" adjective="Congolese" currency="CFA franc" isocurrency="XAF" currensubunit="centime"/> +<country shortname="Cook Islands" fullname="Cook Islands" isocountry="CK" capital="Avarua" citizen="Cook Islander" adjective="of the Cook Islands" currency="New Zealand dollar" isocurrency="NZD" currensubunit="cent"/> +<country shortname="Costa Rica" fullname="Republic of Costa Rica" isocountry="CR" capital="San José" citizen="Costa Rican" adjective="Costa Rican" currency="Costa Rican colón (pl.colones)" isocurrency="CRC" currensubunit="céntimo"/> +<country shortname="Côte d'Ivoire" fullname="Republic of Côte d'Ivoire" isocountry="CI" capital="Yamoussoukro" citizen="Ivorian" adjective="Ivorian" currency="CFA franc" isocurrency="XOF" currensubunit="centime"/> +<country shortname="Croatia" fullname="Republic of Croatia" isocountry="HR" capital="Zagreb" citizen="Croat" adjective="Croatian" currency="kuna (inv.)" isocurrency="HRK" currensubunit="lipa (inv.)"/> +<country shortname="Cuba" fullname="Republic of Cuba" isocountry="CU" capital="Havana" citizen="Cuban" adjective="Cuban" currency="Cuban peso" isocurrency="CUP" currensubunit="centavo"/> +<country shortname="Cyprus" fullname="Republic of Cyprus" isocountry="CY" capital="Nicosia" citizen="Cypriot" adjective="Cypriot" currency="Cyprus pound" isocurrency="CYP" currensubunit="mil"/> +<country shortname="Czech Republic" fullname="Czech Republic" isocountry="CZ" capital="Prague" citizen="Czech" adjective="Czech" currency="Czech koruna (pl.koruny)" isocurrency="CZK" currensubunit="halér (pl. halére)"/> +<country shortname="Democratic Republic of the Congo" fullname="Democratic Republic of the Congo" isocountry="CD" capital="Kinshasa" citizen="Congolese" adjective="Congolese; of the Democratic Republic of the Congo" currency="new zaire" isocurrency="CDF" currensubunit="centime"/> +<country shortname="Denmark" fullname="Kingdom of Denmark" isocountry="DK " capital="Copenhagen" citizen="Dane" adjective="Danish" currency="Danish krone (pl.kroner) " isocurrency="DKK" currensubunit="øre (inv.)"/> +<country shortname="Djibouti" fullname="Republic of Djibouti" isocountry="DJ" capital="Djibouti" citizen="Djiboutian" adjective="of Djibouti" currency="Djibouti franc" isocurrency="DJF" currensubunit="centime"/> +<country shortname="Dominica" fullname="Commonwealth of Dominica" isocountry="DM" capital="Roseau" citizen="Dominican" adjective="of Dominica" currency="Eastern Caribbean dollar" isocurrency="XCD" currensubunit="cent"/> +<country shortname="Dominican Republic" fullname="Dominican Republic" isocountry="DO" capital="Santo Domingo" citizen="Dominican" adjective="Dominican" currency="Dominican peso" isocurrency="DOP" currensubunit="centavo"/> +<country shortname="East Timor" fullname="East Timor" isocountry="TP" capital="Dili" citizen="East Timorese" adjective="East Timorese" currency="Indonesian rupiah" isocurrency="IDR" currensubunit="-"/> +<country shortname="Ecuador" fullname="Republic of Ecuador" isocountry="EC" capital="Quito" citizen="Ecuadorian" adjective="Ecuadorian" currency="sucre" isocurrency="ECS" currensubunit="centavo"/> +<country shortname="Egypt" fullname="Arab Republic of Egypt" isocountry="EG" capital="Cairo" citizen="Egyptian" adjective="Egyptian" currency="Egyptian pound" isocurrency="EGP" currensubunit="piastre"/> +<country shortname="El Salvador" fullname="Republic of El Salvador" isocountry="SV" capital="San Salvador" citizen="Salvadorian; Salvadoran" adjective="Salvadorian; Salvadoran" currency="El Salvador colón (pl.colones)" isocurrency="SVC" currensubunit="centavo"/> +<country shortname="Equatorial Guinea" fullname="Republic of Equatorial Guinea" isocountry="GQ" capital="Malabo" citizen="Equatorial Guinean" adjective="of Equatorial Guinea" currency="CFA franc" isocurrency="XAF" currensubunit="centime"/> +<country shortname="Eritrea" fullname="State of Eritrea" isocountry="ER" capital="Asmara" citizen="Eritrean" adjective="Eritrean" currency="nakfa (inv.)" isocurrency="ERN" currensubunit="centime"/> +<country shortname="Estonia" fullname="Republic of Estonia" isocountry="EE" capital="Tallinn" citizen="Estonian" adjective="Estonian" currency="Estonian kroon (pl.krooni)" isocurrency="EEK" currensubunit="sent (pl. senti)"/> +<country shortname="Ethiopia" fullname="Federal Democratic Republic of Ethiopia" isocountry="ET" capital="Addis Ababa" citizen="Ethiopian" adjective="Ethiopian" currency="Ethiopian birr (inv.)" isocurrency="ETB" currensubunit="cent"/> +<country shortname="Faeroe Islands" fullname="Faeroe Islands" isocountry="FO" capital="Thorshavn" citizen="Faeroese" adjective="Faeroese" currency="Danish krone (pl.kroner)" isocurrency="DKK" currensubunit="øre (inv.)"/> +<country shortname="Falkland Islands" fullname="Falkland Islands" isocountry="FK" capital="Stanley" citizen="Falkland Islander" adjective="of the Falkland Islands" currency="Falkland Islands pound" isocurrency="FKP" currensubunit="new penny (pl. pence)"/> +<country shortname="Fiji" fullname="Republic of Fiji" isocountry="FJ" capital="Suva" citizen="Fijian" adjective="Fijian; of Fiji" currency="Fiji dollar" isocurrency="FJD" currensubunit="cent"/> +<country shortname="Finland" fullname="Republic of Finland" isocountry="FI " capital="Helsinki" citizen="Finn" adjective="Finnish" currency="Finnish markka (pl.markkaa)" isocurrency="FIM" currensubunit="penni (pl. penniä)"/> +<country shortname="France" fullname="French Republic" isocountry="FR " capital="Paris" citizen="Frenchman; Frenchwoman" adjective="French" currency="French franc" isocurrency="FRF" currensubunit="centime"/> +<country shortname="French Guiana" fullname="Department of French Guiana" isocountry="GF" capital="Cayenne" citizen="Guianese" adjective="Guianese" currency="French franc" isocurrency="FRF" currensubunit="centime"/> +<country shortname="French Polynesia" fullname="Territory of French Polynesia" isocountry="PF" capital="Papeete" citizen="Polynesian" adjective="Polynesian" currency="CFP franc" isocurrency="XPF" currensubunit="centime"/> +<country shortname="French Southern and Antarctic Lands" +fullname="Territory of the French Southern and Antarctic Lands" +isocountry="TF" capital=" " citizen="-" adjective="of the French Southern and Antarctic Lands" currency="-" isocurrency="-" currensubunit="-"/> +<country shortname="Gabon" fullname="Gabonese Republic" isocountry="GA" capital="Libreville" citizen="Gabonese" adjective="Gabonese" currency="CFA franc" isocurrency="XAF" currensubunit="centime"/> +<country shortname="Georgia" fullname="Georgia" isocountry="GE" capital="Tbilisi" citizen="Georgian" adjective="Georgian" currency="lari" isocurrency="GEL" currensubunit="tetri (inv.)"/> +<country shortname="Germany" fullname="Federal Republic of Germany" isocountry="DE " capital="Berlin" citizen="German" adjective="German" currency="German mark" isocurrency="DEM" currensubunit="pfennig"/> +<country shortname="Ghana" fullname="Republic of Ghana" isocountry="GH" capital="Accra" citizen="Ghanaian" adjective="Ghanaian" currency="cedi" isocurrency="GHC" currensubunit="pesewa"/> +<country shortname="Gibraltar" fullname="Gibraltar" isocountry="GI" capital="Gibraltar" citizen="Gibraltarian" adjective="Gibraltarian; of Gibraltar" currency="Gibraltar pound" isocurrency="GIP" currensubunit="penny (pl. pence)"/> +<country shortname="Greece" fullname="Hellenic Republic" isocountry="GR " capital="Athens" citizen="Greek" adjective="Greek" currency="Greek drachma (pl.drachmae)" isocurrency="GRD" currensubunit="lepton (pl.lepta)"/> +<country shortname="Greenland" fullname="Greenland" isocountry="GL" capital="Nuuk" citizen="Greenlander" adjective="Greenlandic; of Greenland" currency="Danish krone (pl.kroner)" isocurrency="DKK" currensubunit="øre (inv.)"/> +<country shortname="Grenada" fullname="Grenada" isocountry="GD" capital="St George's" citizen="Grenadian" adjective="Grenadian" currency="Eastern Caribbean dollar" isocurrency="XCD" currensubunit="cent"/> +<country shortname="Guadeloupe" fullname="Department of Guadeloupe" isocountry="GP" capital="Basse Terre" citizen="Guadeloupean" adjective="of Guadeloupe; Guadeloupean" currency="French franc" isocurrency="FRF" currensubunit="centime"/> +<country shortname="Guam" fullname="Territory of Guam" isocountry="GU" capital="Hagåtña" citizen="Guamanian" adjective="Guamanian; of Guam" currency="US dollar" isocurrency="USD" currensubunit="cent"/> +<country shortname="Guatemala" fullname="Republic of Guatemala" isocountry="GT" capital="Guatemala City" citizen="Guatemalan" adjective="Guatemalan" currency="Guatemalan quetzal (pl.quetzales)" isocurrency="GTQ" currensubunit="centavo"/> +<country shortname="Guinea" fullname="Republic of Guinea" isocountry="GN" capital="Conakry" citizen="Guinean" adjective="Guinean" currency="Guinean franc" isocurrency="GNF" currensubunit="-"/> +<country shortname="Guinea-Bissau" fullname="Republic of Guinea-Bissau" isocountry="GW" capital="Bissau" citizen="Guinea-Bissau national; Guinean" adjective="of Guinea-Bissau" currency="CFA franc" isocurrency="XOF" currensubunit="centime"/> +<country shortname="Guyana" fullname="Cooperative Republic of Guyana" isocountry="GY" capital="Georgetown" citizen="Guyanese" adjective="Guyanese" currency="Guyanese dollar" isocurrency="GYD" currensubunit="cent"/> +<country shortname="Haiti" fullname="Republic of Haiti" isocountry="HT" capital="Port-au-Prince" citizen="Haitian" adjective="Haitian" currency="gourde" isocurrency="HTG" currensubunit="centime"/> +<country shortname="Heard Island and McDonald Islands" fullname="Territory of Heard Island and McDonald Islands" isocountry="HM" capital="-" citizen="-" adjective="of Heard Island and McDonald Islands" currency=" " isocurrency=" " currensubunit=" "/> +<country shortname="Honduras" fullname="Republic of Honduras" isocountry="HN" capital="Tegucigalpa" citizen="Honduran" adjective="Honduran" currency="lempira" isocurrency="HNL" currensubunit="centavo"/> +<country shortname="Hong Kong" fullname="Hong Kong Special Administrative Region (HKSAR)" isocountry="HK" capital="Victoria" citizen="Hong Kong Chinese" adjective="Hong Kong Chinese" currency="Hong Kong dollar" isocurrency="HKD" currensubunit="cent"/> +<country shortname="Hungary" fullname="Republic of Hungary" isocountry="HU" capital="Budapest" citizen="Hungarian" adjective="Hungarian" currency="forint (inv.)" isocurrency="HUF" currensubunit="fillér (inv.)"/> +<country shortname="Iceland" fullname="Republic of Iceland" isocountry="IS" capital="Reykjavik" citizen="Icelander" adjective="Icelandic" currency="Icelandic króna (pl.krónur)" isocurrency="ISK" currensubunit="eyrir (pl.aurar)"/> +<country shortname="India" fullname="Republic of India" isocountry="IN" capital="New Delhi" citizen="Indian" adjective="Indian" currency="Indian rupee" isocurrency="INR" currensubunit="paisa (pl.paise)"/> +<country shortname="Indonesia" fullname="Republic of Indonesia" isocountry="ID" capital="Jakarta" citizen="Indonesian" adjective="Indonesian" currency="Indonesian rupiah (inv.)" isocurrency="IDR" currensubunit="sen (inv.)"/> +<country shortname="Iran" fullname="Islamic Republic of Iran" isocountry="IR" capital="Tehran" citizen="Iranian" adjective="Iranian" currency="Iranian rial" isocurrency="IRR" currensubunit="-"/> +<country shortname="Iraq" fullname="Republic of Iraq" isocountry="IQ" capital="Baghdad" citizen="Iraqi" adjective="Iraqi" currency="Iraqi dinar" isocurrency="IQD" currensubunit="fils (inv.)"/> +<country shortname="Ireland" fullname="Ireland" isocountry="IE " capital="Dublin" citizen="Irishman; Irishwoman" adjective="Irish" currency="Irish pound" isocurrency="IEP" currensubunit="penny (pl.pence)"/> +<country shortname="Israel" fullname="State of Israel" isocountry="IL" capital="Jerusalem" citizen="Israeli" adjective="Israeli" currency="new shekel" isocurrency="ILS" currensubunit="agora (pl.agorot)"/> +<country shortname="Italy" fullname="Italian Republic" isocountry="IT " capital="Rome" citizen="Italian" adjective="Italian" currency="Italian lira (pl. lire)" isocurrency="ITL" currensubunit=" "/> +<country shortname="Jamaica" fullname="Jamaica" isocountry="JM" capital="Kingston" citizen="Jamaican" adjective="Jamaican" currency="Jamaica dollar" isocurrency="JMD" currensubunit="cent"/> +<country shortname="Japan" fullname="Japan" isocountry="JP" capital="Tokyo" citizen="Japanese" adjective="Japanese" currency="yen (inv.)" isocurrency="JPY" currensubunit="sen (inv.)"/> +<country shortname="Jordan" fullname="Hashemite Kingdom of Jordan" isocountry="JO" capital="Amman" citizen="Jordanian" adjective="Jordanian" currency="Jordanian dinar" isocurrency="JOD" currensubunit="fils (inv.)"/> +<country shortname="Kazakhstan" fullname="Republic of Kazakhstan" isocountry="KZ" capital="Astana" citizen="Kazakh" adjective="Kazakh" currency="tenge (inv.)" isocurrency="KZT" currensubunit="tiyn"/> +<country shortname="Kenya" fullname="Republic of Kenya" isocountry="KE" capital="Nairobi" citizen="Kenyan" adjective="Kenyan" currency="Kenyan shilling" isocurrency="KES" currensubunit="cent"/> +<country shortname="Kiribati" fullname="Republic of Kiribati" isocountry="KI" capital="Bairiki" citizen="Kiribatian" adjective="of Kiribati; Kiribatian" currency="Australian dollar" isocurrency="AUD" currensubunit="cent"/> +<country shortname="Kuwait" fullname="State of Kuwait" isocountry="KW" capital="Kuwait City" citizen="Kuwaiti" adjective="Kuwaiti" currency="Kuwaiti dinar" isocurrency="KWD" currensubunit="fils (inv.)"/> +<country shortname="Kyrgyzstan" fullname="Kyrgyz Republic" isocountry="KG" capital="Bishkek" citizen="Kyrgyz" adjective="Kyrgyz" currency="som" isocurrency="KGS" currensubunit="tyiyn"/> +<country shortname="Laos" fullname="Lao People's Democratic Republic" isocountry="LA" capital="Vientiane" citizen="Lao" adjective="Lao" currency="kip (inv.)" isocurrency="LAK" currensubunit="at (inv.)"/> +<country shortname="Latvia" fullname="Republic of Latvia" isocountry="LV" capital="Riga" citizen="Latvian" adjective="Latvian" currency="lats (pl. lati)" isocurrency="LVL" currensubunit="santims (pl. santimi)"/> +<country shortname="Lebanon" fullname="Lebanese Republic" isocountry="LB" capital="Beirut" citizen="Lebanese" adjective="Lebanese" currency="Lebanese pound" isocurrency="LBP" currensubunit="piastre"/> +<country shortname="Lesotho" fullname="Kingdom of Lesotho" isocountry="LS" capital="Maseru" citizen="Basotho" adjective="of Lesotho" currency="loti (pl. maloti)" isocurrency="LSL" currensubunit="sente (pl. lisente)"/> +<country shortname="Liberia" fullname="Republic of Liberia" isocountry="LR" capital="Monrovia" citizen="Liberian" adjective="Liberian" currency="Liberian dollar" isocurrency="LRD" currensubunit="cent"/> +<country shortname="Libya" fullname="Socialist People's Libyan Arab Jamahiriya" isocountry="LY" capital="Tripoli" citizen="Libyan" adjective="Libyan" currency="Libyan dinar" isocurrency="LYD" currensubunit="dirham"/> +<country shortname="Liechtenstein" fullname="Principality of Liechtenstein" isocountry="LI" capital="Vaduz" citizen="Liechtensteiner" adjective="of Liechtenstein" currency="Swiss franc" isocurrency="CHF" currensubunit="centime"/> +<country shortname="Lithuania" fullname="Republic of Lithuania" isocountry="LT" capital="Vilnius" citizen="Lithuanian" adjective="Lithuanian" currency="litas (pl. litai)" isocurrency="LTL" currensubunit="centas (pl. centai)"/> +<country shortname="Luxembourg" fullname="Grand Duchy of Luxembourg" isocountry="LU " capital="Luxembourg" citizen="Luxembourger" adjective="Luxembourgish; of Luxembourg" currency="Luxembourg franc" isocurrency="LUF" currensubunit="centime"/> +<country shortname="Macao" fullname="Macao" isocountry="MO" capital="Macao" citizen="Macanese" adjective="Macanese; of Macao" currency="pataca" isocurrency="MOP" currensubunit="avo"/> +<country shortname="-" fullname="Former Yugoslav Republic of Macedonia" isocountry="MK" capital="Skopje" citizen="Macedonian" adjective="Macedonian" currency="denar (inv.)" isocurrency="MKD" currensubunit="deni (inv.)"/> +<country shortname="Madagascar" fullname="Republic of Madagascar" isocountry="MG" capital="Antananarivo" citizen="Malagasy" adjective="Malagasy" currency="Malagasy franc" isocurrency="MGF" currensubunit="centime"/> +<country shortname="Malawi" fullname="Republic of Malawi" isocountry="MW" capital="Lilongwe" citizen="Malawian" adjective="Malawian" currency="Malawi kwacha (inv.)" isocurrency="MWK" currensubunit="tambala (inv.)"/> +<country shortname="Malaysia" fullname="Malaysia" isocountry="MY" capital="Kuala Lumpur" citizen="Malaysian" adjective="Malaysian" currency="Malaysian ringgit (inv.)" isocurrency="MYR" currensubunit="sen (inv.)"/> +<country shortname="Maldives" fullname="Republic of Maldives" isocountry="MV" capital="Malé" citizen="Maldivian" adjective="Maldivian" currency="rufiyaa" isocurrency="MVR" currensubunit="laari (inv.)"/> +<country shortname="Mali" fullname="Republic of Mali" isocountry="ML" capital="Bamako" citizen="Malian" adjective="Malian" currency="CFA franc" isocurrency="XOF" currensubunit="centime"/> +<country shortname="Malta" fullname="Republic of Malta" isocountry="MT" capital="Valletta" citizen="Maltese" adjective="Maltese" currency="Maltese lira" isocurrency="MTL" currensubunit="cent"/> +<country shortname="Marshall Islands" fullname="Republic of the Marshall Islands" isocountry="MH" capital="Majuro" citizen="Marshallese" adjective="Marshallese; of the Marshall Islands" currency="US dollar" isocurrency="USD" currensubunit="cent"/> +<country shortname="Martinique" fullname="Department of Martinique" isocountry="MQ" capital="Fort-de-France" citizen="Martinican" adjective="Martinican; of Martinique" currency="French franc" isocurrency="FRF" currensubunit="centime"/> +<country shortname="Mauritania" fullname="Islamic Republic of Mauritania" isocountry="MR" capital="Nouakchott" citizen="Mauritanian" adjective="Mauritanian" currency="Mauritanian ouguiya" isocurrency="MRO" currensubunit="khoum"/> +<country shortname="Mauritius" fullname="Republic of Mauritius" isocountry="MU" capital="Port Louis" citizen="Mauritian" adjective="Mauritian" currency="Mauritian rupee" isocurrency="MUR" currensubunit="cent"/> +<country shortname="Mayotte" fullname="Territorial collectivity of Mayotte" isocountry="YT" capital="Mamoudzou" citizen="Mahorais" adjective="Mahoran" currency="French franc" isocurrency="FRF" currensubunit="centime"/> +<country shortname="Mexico" fullname="United Mexican States" isocountry="MX" capital="Mexico City" citizen="Mexican" adjective="Mexican" currency="Mexican peso" isocurrency="MXN" currensubunit="centavo"/> +<country shortname="Micronesia" fullname="Federated States of Micronesia" isocountry="FM" capital="Palikir" citizen="Micronesian" adjective="of Micronesia" currency="US dollar" isocurrency="USD" currensubunit="cent"/> +<country shortname="Moldova" fullname="Republic of Moldova" isocountry="MD" capital="Chisinau" citizen="Moldovan" adjective="Moldovan" currency="Moldovan leu (pl. lei)" isocurrency="MDL" currensubunit="ban (pl. bani)"/> +<country shortname="Monaco" fullname="Principality of Monaco" isocountry="MC" capital="Monaco" citizen="Monegasque" adjective="Monegasque" currency="French franc" isocurrency="FRF" currensubunit="centime"/> +<country shortname="Mongolia" fullname="Mongolia" isocountry="MN" capital="Ulan Bator" citizen="Mongolian" adjective="Mongolian" currency="tugrik" isocurrency="MNT" currensubunit="möngö (inv.)"/> +<country shortname="Montserrat" fullname="Montserrat" isocountry="MS" capital="Plymouth" citizen="Montserratian" adjective="of Montserrat; Montserratian" currency="Eastern Caribbean dollar" isocurrency="XCD" currensubunit="cent"/> +<country shortname="Morocco" fullname="Kingdom of Morocco" isocountry="MA" capital="Rabat" citizen="Moroccan" adjective="Moroccan" currency="Moroccan dirham" isocurrency="MAD" currensubunit="centime"/> +<country shortname="Mozambique" fullname="Republic of Mozambique" isocountry="MZ" capital="Maputo" citizen="Mozambican" adjective="Mozambican" currency="metical (pl. meticais)" isocurrency="MZM" currensubunit="centavo"/> +<country shortname="Myanmar" fullname="Union of Myanmar" isocountry="MM" capital="Yangon" citizen="Burmese" adjective="Burmese; of Myanmar" currency="kyat" isocurrency="MMK" currensubunit="pya"/> +<country shortname="Namibia" fullname="Republic of Namibia" isocountry="NA" capital="Windhoek" citizen="Namibian" adjective="Namibian" currency="Namibian dollar" isocurrency="NAD" currensubunit="cent"/> +<country shortname="Nauru" fullname="Republic of Nauru" isocountry="NR" capital="Yaren" citizen="Nauruan" adjective="Nauruan" currency="Australian dollar" isocurrency="AUD" currensubunit="cent"/> +<country shortname="Nepal" fullname="Kingdom of Nepal" isocountry="NP" capital="Kathmandu" citizen="Nepalese" adjective="Nepalese" currency="Nepalese rupee" isocurrency="NPR" currensubunit="paisa (inv.)"/> +<country shortname="Netherlands" fullname="Kingdom of the Netherlands" isocountry="NL " capital="Amsterdam" citizen="Dutchman; Netherlander" adjective="Netherlands; Dutch" currency="Dutch guilder" isocurrency="NLG" currensubunit="cent"/> +<country shortname="Netherlands Antilles" fullname="Netherlands Antilles" isocountry="AN" capital="Willemstad" citizen="Antillean" adjective="of the Netherlands Antilles" currency="Netherlands Antillean guilder" isocurrency="ANG" currensubunit="cent"/> +<country shortname="New Caledonia" fullname="Territory of New Caledonia and Dependencies" isocountry="NC" capital="Nouméa" citizen="New Caledonian" adjective="New Caledonian" currency="CFP franc" isocurrency="XPF" currensubunit="centime"/> +<country shortname="New Zealand" fullname="New Zealand" isocountry="NZ" capital="Wellington" citizen="New Zealander" adjective="of New Zealand" currency="New Zealand dollar" isocurrency="NZD" currensubunit="cent"/> +<country shortname="Nicaragua" fullname="Republic of Nicaragua" isocountry="NI" capital="Managua" citizen="Nicaraguan" adjective="Nicaraguan" currency="córdoba" isocurrency="NIO" currensubunit="centavo"/> +<country shortname="Niger" fullname="Republic of Niger" isocountry="NE" capital="Niamey" citizen="Nigerien" adjective="Nigerien; of Niger" currency="CFA franc" isocurrency="XOF" currensubunit="centime"/> +<country shortname="Nigeria" fullname="Federal Republic of Nigeria" isocountry="NG" capital="Abuja" citizen="Nigerian" adjective="Nigerian" currency="naira (inv.)" isocurrency="NGN" currensubunit="kobo (inv.)"/> +<country shortname="Niue" fullname="Niue" isocountry="NU" capital="Alofi" citizen="Niuean" adjective="of Niue; Niuean" currency="New Zealand dollar" isocurrency="NZD" currensubunit="cent"/> +<country shortname="Norfolk Island" fullname="Territory of Norfolk Island" isocountry="NF" capital="Kingston" citizen="Norfolk Islander" adjective="of Norfolk Island" currency="Australian dollar" isocurrency="AUD" currensubunit="cent"/> +<country shortname="North Korea" fullname="Democratic People's Republic of Korea" isocountry="KP" capital="Pyongyang" citizen="North Korean" adjective="North Korean" currency="North Korean won (inv.) " isocurrency="KPW" currensubunit="chun (inv.)"/> +<country shortname="Northern Marianas" fullname="Commonwealth of the Northern Mariana Islands" isocountry="MP" capital="Saipan" citizen="Northern Mariana Islander" adjective="of the Northern Mariana Islands" currency="US dollar" isocurrency="USD" currensubunit="cent"/> +<country shortname="Norway" fullname="Kingdom of Norway" isocountry="NO" capital="Oslo" citizen="Norwegian" adjective="Norwegian" currency="Norwegian krone (pl.kroner)" isocurrency="NOK" currensubunit="øre (inv.)"/> +<country shortname="Oman" fullname="Sultanate of Oman" isocountry="OM" capital="Muscat" citizen="Omani" adjective="Omani" currency="Omani rial" isocurrency="OMR" currensubunit="baiza"/> +<country shortname="Pakistan" fullname="Islamic Republic of Pakistan" isocountry="PK" capital="Islamabad" citizen="Pakistani" adjective="Pakistani; of Pakistan" currency="Pakistani rupee" isocurrency="PKR" currensubunit="paisa"/> +<country shortname="Palau" fullname="Republic of Palau" isocountry="PW" capital="Koror" citizen="Palauan" adjective="of Palau; Palauan" currency="US dollar" isocurrency="USD" currensubunit="cent"/> +<country shortname="Panama" fullname="Republic of Panama" isocountry="PA" capital="Panama City" citizen="Panamanian" adjective="Panamanian" currency="balboa" isocurrency="PAB" currensubunit="centésimo"/> +<country shortname="Papua New Guinea" fullname="Independent State of Papua New Guinea" isocountry="PG" capital="Port Moresby" citizen="Papua New Guinean" adjective="of Papua New Guinea" currency="kina (inv.)" isocurrency="PGK" currensubunit="toea (inv.)"/> +<country shortname="Paraguay" fullname="Republic of Paraguay" isocountry="PY" capital="Asunción" citizen="Paraguayan" adjective="Paraguayan" currency="guaraní (pl.guaraníes)" isocurrency="PYG" currensubunit="céntimo"/> +<country shortname="Peru" fullname="Republic of Peru" isocountry="PE" capital="Lima" citizen="Peruvian" adjective="Peruvian" currency="new sol" isocurrency="PEN" currensubunit="céntimo"/> +<country shortname="Philippines" fullname="Republic of the Philippines" isocountry="PH" capital="Manila" citizen="Filipino" adjective="Philippine" currency="Philippine peso" isocurrency="PHP" currensubunit="centavo"/> +<country shortname="Pitcairn Islands" fullname="Pitcairn Islands" isocountry="PN" capital="Adamstown" citizen="Pitcairner" adjective="Pitcairner; of Pitcairn" currency="New Zealand dollar" isocurrency="NZD" currensubunit="cent"/> +<country shortname="Poland" fullname="Republic of Poland" isocountry="PL" capital="Warsaw" citizen="Pole" adjective="Polish" currency="zloty" isocurrency="PLN" currensubunit="grosz (pl.groszy)"/> +<country shortname="Portugal" fullname="Portuguese Republic" isocountry="PT " capital="Lisbon" citizen="Portuguese" adjective="Portuguese" currency="Portuguese escudo" isocurrency="PTE" currensubunit="centavo"/> +<country shortname="Puerto Rico" fullname="Commonwealth of Puerto Rico" isocountry="PR" capital="San Juan" citizen="Puerto Rican" adjective="Puerto Rican" currency="US dollar" isocurrency="USD" currensubunit="cent"/> +<country shortname="Qatar" fullname="State of Qatar" isocountry="QA" capital="Doha" citizen="Qatari" adjective="Qatari" currency="Qatari riyal" isocurrency="QAR" currensubunit="dirham"/> +<country shortname="Réunion" fullname="Department of Réunion" isocountry="RE" capital="Saint-Denis" citizen="Reunionese" adjective="of Réunion; Reunionese" currency="French franc" isocurrency="FRF" currensubunit="centime"/> +<country shortname="Romania" fullname="Romania" isocountry="RO" capital="Bucharest" citizen="Romanian" adjective="Romanian" currency="Romanian leu (pl. lei)" isocurrency="ROL" currensubunit="ban (pl. bani)"/> +<country shortname="Russia" fullname="Russian Federation" isocountry="RU" capital="Moscow" citizen="Russian" adjective="Russian" currency="new rouble" isocurrency="RUR" currensubunit="kopek"/> +<country shortname="Rwanda" fullname="Rwandese Republic" isocountry="RW" capital="Kigali" citizen="Rwandan; Rwandese" adjective="Rwandan; Rwandese" currency="Rwandese franc" isocurrency="RWF" currensubunit="centime"/> +<country shortname="Saint Helena" fullname="Saint Helena and Dependencies" isocountry="SH" capital="Jamestown" citizen="Saint Helenian; Saint" adjective="Saint Helenian; of Saint Helena" currency="Saint Helena pound" isocurrency="SHP" currensubunit="penny (pl.pence)"/> +<country shortname="Saint Kitts and Nevis" fullname="Federation of Saint Kitts and Nevis" isocountry="KN" capital="Basseterre" citizen="Kittsian; Nevisian" adjective="of Saint Kitts and Nevis" currency="Eastern Caribbean dollar" isocurrency="XCD" currensubunit="cent"/> +<country shortname="Saint Lucia" fullname="Saint Lucia" isocountry="LC" capital="Castries" citizen="Saint Lucian" adjective="Saint Lucian" currency="Eastern Caribbean dollar" isocurrency="XCD" currensubunit="cent"/> +<country shortname="Saint Pierre and Miquelon" fullname="Territorial collectivity of Saint Pierre and Miquelon" isocountry="PM" capital="Saint-Pierre" citizen="St-Pierrais; Miquelonnais" adjective="of Saint Pierre and Miquelon" currency="French franc" isocurrency="FRF" currensubunit="centime"/> +<country shortname="Saint Vincent and the Grenadines" fullname="Saint Vincent and the Grenadines" isocountry="VC" capital="Kingstown" citizen="Vincentian" adjective="Vincentian; of Saint Vincent and the Grenadines" currency="Eastern Caribbean dollar" isocurrency="XCD" currensubunit="cent"/> +<country shortname="Samoa" fullname="Independent State of Samoa" isocountry="WS" capital="Apia" citizen="Samoan" adjective="Samoan" currency="tala (inv.)" isocurrency="WST" currensubunit="sene (inv.)"/> +<country shortname="San Marino" fullname="Republic of San Marino" isocountry="SM" capital="San Marino" citizen="San Marinese" adjective="of San Marino" currency="Italian lira" isocurrency="ITL" currensubunit=" "/> +<country shortname="São Tomé and Príncipe" fullname="Democratic Republic of São Tomé and Príncipe" isocountry="ST" capital="São Tomé" citizen="São Toméan" adjective="of São Tomé and Príncipe; São Toméan" currency="dobra" isocurrency="STD" currensubunit="centavo"/> +<country shortname="Saudi Arabia" fullname="Kingdom of Saudi Arabia" isocountry="SA" capital="Riyadh" citizen="Saudi Arabian" adjective="Saudi Arabian" currency="Saudi riyal" isocurrency="SAR" currensubunit="halala"/> +<country shortname="Senegal" fullname="Republic of Senegal" isocountry="SN" capital="Dakar" citizen="Senegalese" adjective="Senegalese" currency="CFA franc" isocurrency="XOF" currensubunit="centime"/> +<country shortname="Seychelles" fullname="Republic of Seychelles" isocountry="SC" capital="Victoria" citizen="Seychellois" adjective="of Seychelles" currency="Seychelles rupee" isocurrency="SCR" currensubunit="cent"/> +<country shortname="Sierra Leone" fullname="Republic of Sierra Leone" isocountry="SL" capital="Freetown" citizen="Sierra Leonean" adjective="Sierra Leonean" currency="leone" isocurrency="SLL" currensubunit="cent"/> +<country shortname="Singapore" fullname="Republic of Singapore" isocountry="SG" capital="Singapore" citizen="Singaporean" adjective="Singaporean" currency="Singapore dollar" isocurrency="SGD" currensubunit="cent"/> +<country shortname="Slovakia" fullname="Slovak Republic" isocountry="SK" capital="Bratislava" citizen="Slovak" adjective="Slovak" currency="Slovak koruna (pl.koruny)" isocurrency="SKK" currensubunit="halier (pl.haliere)"/> +<country shortname="Slovenia" fullname="Republic of Slovenia" isocountry="SI" capital="Ljubljana" citizen="Slovene" adjective="Slovene; Slovenian" currency="tolar" isocurrency="SIT" currensubunit="stotin"/> +<country shortname="Solomon Islands" fullname="Solomon Islands" isocountry="SB" capital="Honiara" citizen="Solomon Islander" adjective="of the Solomon Islands" currency="Solomon Islands dollar" isocurrency="SBD" currensubunit="cent"/> +<country shortname="Somalia" fullname="Somali Democratic Republic" isocountry="SO" capital="Mogadishu" citizen="Somali" adjective="Somali" currency="Somali shilling" isocurrency="SOS" currensubunit="cent"/> +<country shortname="South Africa" fullname="Republic of South Africa" isocountry="ZA" capital="Pretoria" citizen="South African" adjective="South African" currency="rand" isocurrency="ZAR" currensubunit="cent"/> +<country shortname="South Georgia and the South Sandwich Islands" fullname="South Georgia and the South Sandwich Islands" isocountry="GS" capital="-" citizen="-" adjective="of South Georgia and the South Sandwich Islands" currency=" " isocurrency=" " currensubunit=" "/> +<country shortname="South Korea" fullname="Republic of Korea" isocountry="KR" capital="Seoul" citizen="South Korean" adjective="South Korean" currency="South Korean won (inv.)" isocurrency="KRW" currensubunit="chun (inv.)"/> +<country shortname="Spain" fullname="Kingdom of Spain" isocountry="ES " capital="Madrid" citizen="Spaniard" adjective="Spanish" currency="Spanish peseta" isocurrency="ESP" currensubunit="céntimo"/> +<country shortname="Sri Lanka" fullname="Democratic Socialist Republic of Sri Lanka" isocountry="LK" capital="Colombo" citizen="Sri Lankan" adjective="Sri Lankan; of Sri Lanka" currency="Sri Lanka rupee" isocurrency="LKR" currensubunit="cent"/> +<country shortname="Sudan" fullname="Republic of Sudan" isocountry="SD" capital="Khartoum" citizen="Sudanese" adjective="Sudanese" currency="Sudanese pound" isocurrency="SDD" currensubunit="piastre"/> +<country shortname="Suriname" fullname="Republic of Suriname" isocountry="SR" capital="Paramaribo" citizen="Surinamese" adjective="Surinamese" currency="Suriname guilder" isocurrency="SRG" currensubunit="cent"/> +<country shortname="Svalbard and Jan Mayen" fullname="Svalbard and Jan Mayen Islands" isocountry="SJ" capital="Longyearbyen (on Spitsbergen, Svalbard)" citizen="-" adjective="of Svalbard; of Jan Mayen" currency="Norwegian krone (pl.kroner)" isocurrency="NOK" currensubunit="øre (inv.)"/> +<country shortname="Swaziland" fullname="Kingdom of Swaziland" isocountry="SZ" capital="Mbabane" citizen="Swazi" adjective="Swazi" currency="lilangeni (pl.emalangeni)" isocurrency="SZL" currensubunit="cent"/> +<country shortname="Sweden" fullname="Kingdom of Sweden" isocountry="SE " capital="Stockholm" citizen="Swede" adjective="Swedish" currency="Swedish krona (pl.kronor)" isocurrency="SEK" currensubunit="öre (inv.)"/> +<country shortname="Switzerland" fullname="Swiss Confederation" isocountry="CH" capital="Berne" citizen="Swiss" adjective="Swiss" currency="Swiss franc" isocurrency="CHF" currensubunit="centime"/> +<country shortname="Syria" fullname="Syrian Arab Republic" isocountry="SY" capital="Damascus" citizen="Syrian" adjective="Syrian" currency="Syrian pound" isocurrency="SYP" currensubunit="piastre"/> +<country shortname="Taiwan" fullname="Republic of China" isocountry="TW" capital="Taipei" citizen="Taiwanese" adjective="Taiwanese; of Taiwan" currency="new Taiwan dollar" isocurrency="TWD" currensubunit="fen (inv.)"/> +<country shortname="Tajikistan" fullname="Republic of Tajikistan" isocountry="TJ" capital="Dushanbe" citizen="Tajik" adjective="Tajik" currency="Tajik rouble" isocurrency="TJR" currensubunit="kopek"/> +<country shortname="Tanzania" fullname="United Republic of Tanzania" isocountry="TZ" capital="Dodoma" citizen="Tanzanian" adjective="Tanzanian" currency="Tanzanian shilling" isocurrency="TZS" currensubunit="cent"/> +<country shortname="Thailand" fullname="Kingdom of Thailand" isocountry="TH" capital="Bangkok" citizen="Thai" adjective="Thai" currency="baht (inv.)" isocurrency="THB" currensubunit="satang (inv.)"/> +<country shortname="The Bahamas" fullname="Commonwealth of The Bahamas" isocountry="BS" capital="Nassau" citizen="Bahamian" adjective="Bahamian" currency="Bahamian dollar" isocurrency="BSD" currensubunit="cent"/> +<country shortname="The Comoros" fullname="Islamic Federal Republic of The Comoros" isocountry="KM" capital="Moroni" citizen="Comorian" adjective="Comorian" currency="Comorian franc" isocurrency="KMF" currensubunit="centime"/> +<country shortname="The Gambia" fullname="Republic of The Gambia" isocountry="GM" capital="Banjul" citizen="Gambian" adjective="Gambian" currency="dalasi (inv.)" isocurrency="GMD" currensubunit="butut"/> +<country shortname="Togo" fullname="Togolese Republic" isocountry="TG" capital="Lomé" citizen="Togolese" adjective="Togolese" currency="CFA franc" isocurrency="XOF" currensubunit="centime"/> +<country shortname="Tokelau" fullname="Tokelau" isocountry="TK" capital="Fakaofo" citizen="Tokelauan" adjective="of Tokelau; Tokelauan" currency="New Zealand dollar" isocurrency="NZD" currensubunit="cent"/> +<country shortname="Tonga" fullname="Kingdom of Tonga" isocountry="TO" capital="Nuku'alofa" citizen="Tongan" adjective="Tongan" currency="pa'anga (inv.)" isocurrency="TOP" currensubunit="seniti (inv.)"/> +<country shortname="Trinidad and Tobago" fullname="Republic of Trinidad and Tobago" isocountry="TT" capital="Port of Spain" citizen="Trinidadian; Tobagonian" adjective="of Trinidad and Tobago" currency="Trinidad and Tobago dollar" isocurrency="TTD" currensubunit="cent"/> +<country shortname="Tunisia" fullname="Republic of Tunisia" isocountry="TN" capital="Tunis" citizen="Tunisian" adjective="Tunisian" currency="Tunisian dinar" isocurrency="TND" currensubunit="millime"/> +<country shortname="Turkey" fullname="Republic of Turkey" isocountry="TR" capital="Ankara" citizen="Turk" adjective="Turkish" currency="Turkish lira" isocurrency="TRL" currensubunit="kurus (inv.)"/> +<country shortname="Turkmenistan" fullname="Turkmenistan" isocountry="TM" capital="Ashkhabad" citizen="Turkmen" adjective="Turkmen" currency="Turkmen manat (inv.)" isocurrency="TMM" currensubunit="tenge (inv.)"/> +<country shortname="Turks and Caicos Islands" fullname="Turks and Caicos Islands" isocountry="TC" capital="Cockburn Town" citizen="Turks and Caicos Islander" adjective="of the Turks and Caicos Islands " currency="US dollar" isocurrency="USD" currensubunit="cent"/> +<country shortname="Tuvalu" fullname="Tuvalu" isocountry="TV" capital="Fongafale" citizen="Tuvaluan" adjective="Tuvaluan" currency="Australian dollar" isocurrency="AUD" currensubunit="cent"/> +<country shortname="Uganda" fullname="Republic of Uganda" isocountry="UG" capital="Kampala" citizen="Ugandan" adjective="Ugandan" currency="Uganda shilling" isocurrency="UGX" currensubunit="cent"/> +<country shortname="Ukraine" fullname="Ukraine" isocountry="UA" capital="Kiev" citizen="Ukrainian" adjective="Ukrainian" currency="hryvnia" isocurrency="UAH" currensubunit="kopiyka"/> +<country shortname="United Arab Emirates" fullname="United Arab Emirates" isocountry="AE" capital="Abu Dhabi" citizen="UAE national" adjective="of the United Arab Emirates" currency="UAE dirham" isocurrency="AED" currensubunit="fils (inv.)"/> +<country shortname="United Kingdom" fullname="United Kingdom of Great Britain and Northern Ireland" isocountry="GB " capital="London" citizen="Briton" adjective="British; of the United Kingdom" currency="pound sterling" isocurrency="GBP" currensubunit="penny (pl. pence.)"/> +<country shortname="United States" fullname="United States of America" isocountry="US" capital="Washington DC" citizen="American; US citizen" adjective="American; of the United States" currency="US dollar" isocurrency="USD" currensubunit="cent"/> +<country shortname="United States Minor Outlying Islands" fullname="United States Minor Outlying Islands" isocountry="UM" capital="-" citizen="-" adjective="-" currency="US dollar" isocurrency="USD" currensubunit="cent"/> +<country shortname="Uruguay" fullname="Eastern Republic of Uruguay" isocountry="UY" capital="Montevideo" citizen="Uruguayan" adjective="Uruguayan" currency="Uruguayan peso" isocurrency="UYU" currensubunit="centésimo"/> +<country shortname="US Virgin Islands" fullname="Virgin Islands of the United States" isocountry="VI" capital="Charlotte Amalie" citizen="US Virgin Islander" adjective="of the US Virgin Islands" currency="US dollar" isocurrency="USD" currensubunit="cent"/> +<country shortname="Uzbekistan" fullname="Republic of Uzbekistan" isocountry="UZ" capital="Tashkent" citizen="Uzbek" adjective="Uzbek" currency="sum (inv.) " isocurrency="UZS" currensubunit="tiyin (inv.)"/> +<country shortname="Vanuatu" fullname="Republic of Vanuatu" isocountry="VU" capital="Port Vila" citizen="Vanuatuan" adjective="of Vanuatu; Vanuatuan" currency="vatu (inv.)" isocurrency="VUV" currensubunit="-"/> +<country shortname="the Vatican" fullname="The Holy see" isocountry="VA" capital="Vatican City" citizen="-" adjective="Vatican; of the Vatican" currency="Italian lira" isocurrency="ITL" currensubunit="-"/> +<country shortname="Venezuela" fullname="Republic of Venezuela" isocountry="VE" capital="Caracas" citizen="Venezuelan" adjective="Venezuelan" currency="bolívar (pl:bolívares)" isocurrency="VEB" currensubunit="centavo"/> +<country shortname="Vietnam" fullname="Socialist Republic of Viet Nam" isocountry="VN" capital="Hanoi" citizen="Vietnamese" adjective="Vietnamese" currency="dong" isocurrency="VND" currensubunit="-"/> +<country shortname="Wallis and Futuna" fullname="Territory of the Wallis and Futuna Islands" isocountry="WF" capital="Mata-Utu" citizen="Wallisian; Futunan; Wallis and Futuna Islander" adjective="of the Wallis and Futuna Islands" currency="CFP franc" isocurrency="XPF" currensubunit="centime"/> +<country shortname="Western Sahara" fullname="-" isocountry="EH" capital="Al aaiun" citizen="Sahrawi" adjective="Sahrawi" currency="Moroccan dirham" isocurrency="MAD" currensubunit="centime"/> +<country shortname="Yemen" fullname="Republic of Yemen" isocountry="YE" capital="San'a" citizen="Yemenite" adjective="Yemeni" currency="Yemeni rial" isocurrency="YER" currensubunit="fils (inv.)"/> +<country shortname="Yugoslavia" fullname="Federal Republic of Yugoslavia" isocountry="YU" capital="Belgrade" citizen="Yugoslav" adjective="Yugoslav" currency="Yugoslav dinar" isocurrency="YUM" currensubunit="para (inv.)"/> +<country shortname="Zambia" fullname="Republic of Zambia" isocountry="ZM" capital="Lusaka" citizen="Zambian" adjective="Zambian" currency="Zambian kwacha (inv.)" isocurrency="ZMK" currensubunit="ngwee (inv.)"/> +<country shortname="Zimbabwe" fullname="Republic of Zimbabwe" isocountry="ZW" capital="Harare" citizen="Zimbabwean" adjective="Zimbabwean" currency="Zimbabwe dollar" isocurrency="ZWD" currensubunit="cent"/> +</countries> diff --git a/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/entable.xml b/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/entable.xml new file mode 100644 index 00000000000..7efc506f232 --- /dev/null +++ b/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/entable.xml @@ -0,0 +1,2639 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> +<countries> +<country> +<shortname>Afghanistan</shortname> +<fullname>Islamic State of Afghanistan</fullname> +<isocountry>AF</isocountry> +<capital>Kabul</capital> +<citizen>Afghan</citizen> +<adjective>Afghan</adjective> +<currency>afghani</currency> +<isocurrency>AFA</isocurrency> +<currensubunit>pul</currensubunit> +</country> +<country> +<shortname>Albania</shortname> +<fullname>Republic of Albania</fullname> +<isocountry>AL</isocountry> +<capital>Tirana</capital> +<citizen>Albanian</citizen> +<adjective>Albanian</adjective> +<currency>lek</currency> +<isocurrency>ALL</isocurrency> +<currensubunit>quindar (pl.quindarka)</currensubunit> +</country> +<country> +<shortname>Algeria</shortname> +<fullname>People's Democratic Republic of Algeria</fullname> +<isocountry>DZ</isocountry> +<capital>Algiers</capital> +<citizen>Algerian</citizen> +<adjective>Algerian</adjective> +<currency>Algerian dinar</currency> +<isocurrency>DZD</isocurrency> +<currensubunit>centime</currensubunit> +</country> +<country> +<shortname>American Samoa</shortname> +<fullname>Territory of American Samoa</fullname> +<isocountry>AS</isocountry> +<capital>Pago Pago</capital> +<citizen>Samoan</citizen> +<adjective>Samoan</adjective> +<currency>US dollar</currency> +<isocurrency>USD</isocurrency> +<currensubunit>cent</currensubunit> +</country> +<country> +<shortname>Andorra</shortname> +<fullname>Principality of Andorra</fullname> +<isocountry>AD</isocountry> +<capital>Andorra la Vella</capital> +<citizen>Andorran</citizen> +<adjective>Andorran</adjective> +<currency>Spanish peseta; French franc</currency> +<isocurrency>ESP; FRF</isocurrency> +<currensubunit>céntimo; centime</currensubunit> +</country> +<country> +<shortname>Angola</shortname> +<fullname>Republic of Angola</fullname> +<isocountry>AO</isocountry> +<capital>Luanda</capital> +<citizen>Angolan</citizen> +<adjective>Angolan</adjective> +<currency>readjusted kwanza</currency> +<isocurrency>AOR</isocurrency> +<currensubunit>lwei (inv.)</currensubunit> +</country> +<country> +<shortname>Anguilla</shortname> +<fullname>Anguilla</fullname> +<isocountry>AI</isocountry> +<capital>The Valley</capital> +<citizen>Anguillan</citizen> +<adjective>Anguillan</adjective> +<currency>Eastern Caribbean dollar</currency> +<isocurrency>XCD</isocurrency> +<currensubunit>cent</currensubunit> +</country> +<country> +<shortname>Antarctica</shortname> +<fullname>Antarctica</fullname> +<isocountry>AQ</isocountry> +<capital>-</capital> +<citizen>-</citizen> +<adjective>Antarctic</adjective> +<currency>-</currency> +<isocurrency> </isocurrency> +<currensubunit> </currensubunit> +</country> +<country> +<shortname>Antigua and Barbuda</shortname> +<fullname>Antigua and Barbuda</fullname> +<isocountry>AG</isocountry> +<capital>St John's</capital> +<citizen>Antiguan; Barbudian</citizen> +<adjective>Antiguan; Barbudian; of Antigua and Barbuda</adjective> +<currency>Eastern Caribbean dollar</currency> +<isocurrency>XCD</isocurrency> +<currensubunit>cent</currensubunit> +</country> +<country> +<shortname>Argentina</shortname> +<fullname>Argentine Republic</fullname> +<isocountry>AR</isocountry> +<capital>Buenos Aires</capital> +<citizen>Argentinian</citizen> +<adjective>Argentine</adjective> +<currency>Argentine peso</currency> +<isocurrency>ARS</isocurrency> +<currensubunit>centavo</currensubunit> +</country> +<country> +<shortname>Armenia</shortname> +<fullname>Republic of Armenia</fullname> +<isocountry>AM</isocountry> +<capital>Yerevan</capital> +<citizen>Armenian</citizen> +<adjective>Armenian</adjective> +<currency>dram (inv.)</currency> +<isocurrency>AMD</isocurrency> +<currensubunit>luma</currensubunit> +</country> +<country> +<shortname>Aruba</shortname> +<fullname>Aruba</fullname> +<isocountry>AW</isocountry> +<capital>Oranjestad</capital> +<citizen>Aruban</citizen> +<adjective>Aruban</adjective> +<currency>Aruban guilder</currency> +<isocurrency>AWG</isocurrency> +<currensubunit>cent</currensubunit> +</country> +<country> +<shortname>Australia</shortname> +<fullname>Commonwealth of Australia</fullname> +<isocountry>AU</isocountry> +<capital>Canberra</capital> +<citizen>Australian</citizen> +<adjective>Australian</adjective> +<currency>Australian dollar</currency> +<isocurrency>AUD</isocurrency> +<currensubunit>cent</currensubunit> +</country> +<country> +<shortname>Austria</shortname> +<fullname>Republic of Austria</fullname> +<isocountry>AT </isocountry> +<capital>Vienna</capital> +<citizen>Austrian</citizen> +<adjective>Austrian</adjective> +<currency>Austrian schilling</currency> +<isocurrency>ATS</isocurrency> +<currensubunit>groschen (inv.)</currensubunit> +</country> +<country> +<shortname>Azerbaijan</shortname> +<fullname>Azerbaijani Republic</fullname> +<isocountry>AZ</isocountry> +<capital>Baku</capital> +<citizen>Azeri</citizen> +<adjective>Azerbaijani</adjective> +<currency>Azerbaijani manat</currency> +<isocurrency>AZM</isocurrency> +<currensubunit>kepik (inv.)</currensubunit> +</country> +<country> +<shortname>Bahrain</shortname> +<fullname>State of Bahrain</fullname> +<isocountry>BH</isocountry> +<capital>Manama</capital> +<citizen>Bahraini</citizen> +<adjective>Bahraini</adjective> +<currency>Bahraini dinar</currency> +<isocurrency>BHD</isocurrency> +<currensubunit>fils (inv.)</currensubunit> +</country> +<country> +<shortname>Bangladesh</shortname> +<fullname>People's Republic of Bangladesh</fullname> +<isocountry>BD</isocountry> +<capital>Dhaka</capital> +<citizen>Bangladeshi</citizen> +<adjective>of Bangladesh</adjective> +<currency>taka (inv.)</currency> +<isocurrency>BDT</isocurrency> +<currensubunit>poisha (inv.)</currensubunit> +</country> +<country> +<shortname>Barbados</shortname> +<fullname>Barbados</fullname> +<isocountry>BB</isocountry> +<capital>Bridgetown</capital> +<citizen>Barbadian</citizen> +<adjective>Barbadian</adjective> +<currency>Barbados dollar</currency> +<isocurrency>BBD</isocurrency> +<currensubunit>cent</currensubunit> +</country> +<country> +<shortname>Belarus</shortname> +<fullname>Republic of Belarus</fullname> +<isocountry>BY</isocountry> +<capital>Minsk</capital> +<citizen>Belarusian</citizen> +<adjective>Belarusian</adjective> +<currency>Belarusian rouble</currency> +<isocurrency>BYB</isocurrency> +<currensubunit>kopek</currensubunit> +</country> +<country> +<shortname>Belgium</shortname> +<fullname>Kingdom of Belgium</fullname> +<isocountry>BE </isocountry> +<capital>Brussels</capital> +<citizen>Belgian</citizen> +<adjective>Belgian</adjective> +<currency>Belgian franc</currency> +<isocurrency>BEF</isocurrency> +<currensubunit>centime</currensubunit> +</country> +<country> +<shortname>Belize</shortname> +<fullname>Belize</fullname> +<isocountry>BZ</isocountry> +<capital>Belmopan</capital> +<citizen>Belizean</citizen> +<adjective>Belizean</adjective> +<currency>Belize dollar</currency> +<isocurrency>BZD</isocurrency> +<currensubunit>cent</currensubunit> +</country> +<country> +<shortname>Benin</shortname> +<fullname>Republic of Benin</fullname> +<isocountry>BJ</isocountry> +<capital>Porto Novo</capital> +<citizen>Beninese</citizen> +<adjective>Beninese</adjective> +<currency>CFA franc</currency> +<isocurrency>XOF</isocurrency> +<currensubunit>centime</currensubunit> +</country> +<country> +<shortname>Bermuda</shortname> +<fullname>Bermuda</fullname> +<isocountry>BM</isocountry> +<capital>Hamilton</capital> +<citizen>Bermudian</citizen> +<adjective>Bermudian</adjective> +<currency>Bermuda dollar</currency> +<isocurrency>BMD</isocurrency> +<currensubunit>cent</currensubunit> +</country> +<country> +<shortname>Bhutan</shortname> +<fullname>Kingdom of Bhutan</fullname> +<isocountry>BT</isocountry> +<capital>Thimphu</capital> +<citizen>Bhutanese</citizen> +<adjective>Bhutanese</adjective> +<currency>ngultrum (inv.)</currency> +<isocurrency>BTN</isocurrency> +<currensubunit>chhetrum (inv.)</currensubunit> +</country> +<country> +<shortname>Bolivia</shortname> +<fullname>Republic of Bolivia</fullname> +<isocountry>BO</isocountry> +<capital>Sucre</capital> +<citizen>Bolivian</citizen> +<adjective>Bolivian</adjective> +<currency>boliviano</currency> +<isocurrency>BOB</isocurrency> +<currensubunit>centavo</currensubunit> +</country> +<country> +<shortname>Bosnia and Herzegovina</shortname> +<fullname>Bosnia and Herzegovina</fullname> +<isocountry>BA</isocountry> +<capital>Sarajevo</capital> +<citizen>Bosnian; Herzegovinian</citizen> +<adjective>Bosnian; Herzegovinian</adjective> +<currency>Bosnian dinar; Bosnian convertible mark</currency> +<isocurrency>BAM</isocurrency> +<currensubunit>fening</currensubunit> +</country> +<country> +<shortname>Botswana</shortname> +<fullname>Republic of Botswana</fullname> +<isocountry>BW</isocountry> +<capital>Gaborone</capital> +<citizen>Botswanan</citizen> +<adjective>Botswanan; of Botswana</adjective> +<currency>pula (inv.)</currency> +<isocurrency>BWP</isocurrency> +<currensubunit>thebe (inv.)</currensubunit> +</country> +<country> +<shortname>Bouvet Island</shortname> +<fullname>Bouvet Island</fullname> +<isocountry>BV</isocountry> +<capital>-</capital> +<citizen>-</citizen> +<adjective>of Bouvet Island</adjective> +<currency> </currency> +<isocurrency> </isocurrency> +<currensubunit> </currensubunit> +</country> +<country> +<shortname>Brazil</shortname> +<fullname>Federative Republic of Brazil</fullname> +<isocountry>BR</isocountry> +<capital>Brasilia</capital> +<citizen>Brazilian</citizen> +<adjective>Brazilian</adjective> +<currency>Brazilian real (pl. reais)</currency> +<isocurrency>BRL</isocurrency> +<currensubunit>centavo</currensubunit> +</country> +<country> +<shortname>British Indian Ocean Territory</shortname> +<fullname>British Indian Ocean Territory</fullname> +<isocountry>IO</isocountry> +<capital>-</capital> +<citizen>-</citizen> +<adjective>of the British Indian Ocean Territory</adjective> +<currency> </currency> +<isocurrency> </isocurrency> +<currensubunit> </currensubunit> +</country> +<country> +<shortname>British Virgin Islands</shortname> +<fullname>British Virgin Islands</fullname> +<isocountry>VG</isocountry> +<capital>Road Town</capital> +<citizen>British Virgin Islander; BVIslander</citizen> +<adjective>of the British Virgin Islands</adjective> +<currency>US dollar</currency> +<isocurrency>USD</isocurrency> +<currensubunit>cent</currensubunit> +</country> +<country> +<shortname>Brunei</shortname> +<fullname>Negara Brunei Darussalam</fullname> +<isocountry>BN</isocountry> +<capital>Bandar Seri Begawan</capital> +<citizen>Bruneian</citizen> +<adjective>Bruneian; of Brunei</adjective> +<currency>Brunei dollar</currency> +<isocurrency>BND</isocurrency> +<currensubunit>sen (inv.)</currensubunit> +</country> +<country> +<shortname>Bulgaria</shortname> +<fullname>Republic of Bulgaria</fullname> +<isocountry>BG</isocountry> +<capital>Sofia</capital> +<citizen>Bulgarian</citizen> +<adjective>Bulgarian</adjective> +<currency>lev (pl. leva)</currency> +<isocurrency>BGL</isocurrency> +<currensubunit>stotinka (pl. stotinki)</currensubunit> +</country> +<country> +<shortname>Burkina Faso</shortname> +<fullname>Burkina Faso</fullname> +<isocountry>BF</isocountry> +<capital>Ouagadougou</capital> +<citizen>Burkinabe</citizen> +<adjective>Burkinabe; of Burkina Faso</adjective> +<currency>CFA franc</currency> +<isocurrency>XOF</isocurrency> +<currensubunit>centime</currensubunit> +</country> +<country> +<shortname>Burundi</shortname> +<fullname>Republic of Burundi</fullname> +<isocountry>BI</isocountry> +<capital>Bujumbura</capital> +<citizen>Burundian</citizen> +<adjective>Burundian; of Burundi</adjective> +<currency>Burundi franc</currency> +<isocurrency>BIF</isocurrency> +<currensubunit>centime</currensubunit> +</country> +<country> +<shortname>Cambodia</shortname> +<fullname>Kingdom of Cambodia</fullname> +<isocountry>KH</isocountry> +<capital>Phnom Penh</capital> +<citizen>Cambodian</citizen> +<adjective>Cambodian</adjective> +<currency>riel</currency> +<isocurrency>KHR</isocurrency> +<currensubunit>sen (inv.)</currensubunit> +</country> +<country> +<shortname>Cameroon</shortname> +<fullname>Republic of Cameroon</fullname> +<isocountry>CM</isocountry> +<capital>Yaoundé</capital> +<citizen>Cameroonian</citizen> +<adjective>Cameroonian</adjective> +<currency>CFA franc</currency> +<isocurrency>XAF</isocurrency> +<currensubunit>centime</currensubunit> +</country> +<country> +<shortname>Canada</shortname> +<fullname>Canada</fullname> +<isocountry>CA</isocountry> +<capital>Ottawa</capital> +<citizen>Canadian</citizen> +<adjective>Canadian</adjective> +<currency>Canadian dollar</currency> +<isocurrency>CAD</isocurrency> +<currensubunit>cent</currensubunit> +</country> +<country> +<shortname>Cape Verde</shortname> +<fullname>Republic of Cape Verde</fullname> +<isocountry>CV</isocountry> +<capital>Praia</capital> +<citizen>Cape Verdean</citizen> +<adjective>Cape Verdean</adjective> +<currency>Cape Verde escudo</currency> +<isocurrency>CVE</isocurrency> +<currensubunit>centavo</currensubunit> +</country> +<country> +<shortname>Cayman Islands</shortname> +<fullname>Cayman Islands</fullname> +<isocountry>KY</isocountry> +<capital>George Town</capital> +<citizen>Caymanian</citizen> +<adjective>Caymanian; of the Cayman Islands</adjective> +<currency>Cayman Islands dollar</currency> +<isocurrency>KYD</isocurrency> +<currensubunit>cent</currensubunit> +</country> +<country> +<shortname>Central African Republic</shortname> +<fullname>Central African Republic</fullname> +<isocountry>CF</isocountry> +<capital>Bangui</capital> +<citizen>Central African</citizen> +<adjective>Central African; of the Central African +Republic</adjective> +<currency>CFA franc</currency> +<isocurrency>XAF</isocurrency> +<currensubunit>centime</currensubunit> +</country> +<country> +<shortname>Chad</shortname> +<fullname>Republic of Chad</fullname> +<isocountry>TD</isocountry> +<capital>N'Djamena</capital> +<citizen>Chadian</citizen> +<adjective>Chadian; of Chad</adjective> +<currency>CFA franc</currency> +<isocurrency>XAF</isocurrency> +<currensubunit>centime</currensubunit> +</country> +<country> +<shortname>Chile</shortname> +<fullname>Republic of Chile</fullname> +<isocountry>CL</isocountry> +<capital>Santiago</capital> +<citizen>Chilean</citizen> +<adjective>Chilean</adjective> +<currency>Chilean peso</currency> +<isocurrency>CLP</isocurrency> +<currensubunit>centavo</currensubunit> +</country> +<country> +<shortname>China</shortname> +<fullname>People's Republic of China</fullname> +<isocountry>CN</isocountry> +<capital>Beijing</capital> +<citizen>Chinese</citizen> +<adjective>Chinese</adjective> +<currency>renminbi-yuan (inv.)</currency> +<isocurrency>CNY</isocurrency> +<currensubunit>fen (inv.)</currensubunit> +</country> +<country> +<shortname>Christmas Island</shortname> +<fullname>Christmas Island Territory</fullname> +<isocountry>CX</isocountry> +<capital>Flying Fish Cove</capital> +<citizen>Christmas Islander</citizen> +<adjective>of Christmas Island</adjective> +<currency>Australian dollar</currency> +<isocurrency>AUD</isocurrency> +<currensubunit>cent</currensubunit> +</country> +<country> +<shortname>Cocos (Keeling) Islands</shortname> +<fullname>Territory of Cocos (Keeling) Islands</fullname> +<isocountry>CC</isocountry> +<capital>Bantam</capital> +<citizen>Cocos Islander</citizen> +<adjective>of the Cocos (Keeling) Islands</adjective> +<currency>Australian dollar</currency> +<isocurrency>AUD</isocurrency> +<currensubunit>cent</currensubunit> +</country> +<country> +<shortname>Colombia</shortname> +<fullname>Republic of Colombia</fullname> +<isocountry>CO</isocountry> +<capital>Santa Fe de Bogotá</capital> +<citizen>Colombian</citizen> +<adjective>Colombian</adjective> +<currency>Colombian peso</currency> +<isocurrency>COP</isocurrency> +<currensubunit>centavo</currensubunit> +</country> +<country> +<shortname>Congo</shortname> +<fullname>Republic of the Congo</fullname> +<isocountry>CG</isocountry> +<capital>Brazzaville</capital> +<citizen>Congolese</citizen> +<adjective>Congolese</adjective> +<currency>CFA franc</currency> +<isocurrency>XAF</isocurrency> +<currensubunit>centime</currensubunit> +</country> +<country> +<shortname>Cook Islands</shortname> +<fullname>Cook Islands</fullname> +<isocountry>CK</isocountry> +<capital>Avarua</capital> +<citizen>Cook Islander</citizen> +<adjective>of the Cook Islands</adjective> +<currency>New Zealand dollar</currency> +<isocurrency>NZD</isocurrency> +<currensubunit>cent</currensubunit> +</country> +<country> +<shortname>Costa Rica</shortname> +<fullname>Republic of Costa Rica</fullname> +<isocountry>CR</isocountry> +<capital>San José</capital> +<citizen>Costa Rican</citizen> +<adjective>Costa Rican</adjective> +<currency>Costa Rican colón (pl.colones)</currency> +<isocurrency>CRC</isocurrency> +<currensubunit>céntimo</currensubunit> +</country> +<country> +<shortname>Côte d'Ivoire</shortname> +<fullname>Republic of Côte d'Ivoire</fullname> +<isocountry>CI</isocountry> +<capital>Yamoussoukro</capital> +<citizen>Ivorian</citizen> +<adjective>Ivorian</adjective> +<currency>CFA franc</currency> +<isocurrency>XOF</isocurrency> +<currensubunit>centime</currensubunit> +</country> +<country> +<shortname>Croatia</shortname> +<fullname>Republic of Croatia</fullname> +<isocountry>HR</isocountry> +<capital>Zagreb</capital> +<citizen>Croat</citizen> +<adjective>Croatian</adjective> +<currency>kuna (inv.)</currency> +<isocurrency>HRK</isocurrency> +<currensubunit>lipa (inv.)</currensubunit> +</country> +<country> +<shortname>Cuba</shortname> +<fullname>Republic of Cuba</fullname> +<isocountry>CU</isocountry> +<capital>Havana</capital> +<citizen>Cuban</citizen> +<adjective>Cuban</adjective> +<currency>Cuban peso</currency> +<isocurrency>CUP</isocurrency> +<currensubunit>centavo</currensubunit> +</country> +<country> +<shortname>Cyprus</shortname> +<fullname>Republic of Cyprus</fullname> +<isocountry>CY</isocountry> +<capital>Nicosia</capital> +<citizen>Cypriot</citizen> +<adjective>Cypriot</adjective> +<currency>Cyprus pound</currency> +<isocurrency>CYP</isocurrency> +<currensubunit>mil</currensubunit> +</country> +<country> +<shortname>Czech Republic</shortname> +<fullname>Czech Republic</fullname> +<isocountry>CZ</isocountry> +<capital>Prague</capital> +<citizen>Czech</citizen> +<adjective>Czech</adjective> +<currency>Czech koruna (pl.koruny)</currency> +<isocurrency>CZK</isocurrency> +<currensubunit>halér (pl. halére)</currensubunit> +</country> +<country> +<shortname>Democratic Republic of the Congo</shortname> +<fullname>Democratic Republic of the Congo</fullname> +<isocountry>CD</isocountry> +<capital>Kinshasa</capital> +<citizen>Congolese</citizen> +<adjective>Congolese; of the Democratic Republic of the +Congo</adjective> +<currency>new zaire</currency> +<isocurrency>CDF</isocurrency> +<currensubunit>centime</currensubunit> +</country> +<country> +<shortname>Denmark</shortname> +<fullname>Kingdom of Denmark</fullname> +<isocountry>DK </isocountry> +<capital>Copenhagen</capital> +<citizen>Dane</citizen> +<adjective>Danish</adjective> +<currency>Danish krone (pl.kroner) +</currency> +<isocurrency>DKK</isocurrency> +<currensubunit>øre (inv.)</currensubunit> +</country> +<country> +<shortname>Djibouti</shortname> +<fullname>Republic of Djibouti</fullname> +<isocountry>DJ</isocountry> +<capital>Djibouti</capital> +<citizen>Djiboutian</citizen> +<adjective>of Djibouti</adjective> +<currency>Djibouti franc</currency> +<isocurrency>DJF</isocurrency> +<currensubunit>centime</currensubunit> +</country> +<country> +<shortname>Dominica</shortname> +<fullname>Commonwealth of Dominica</fullname> +<isocountry>DM</isocountry> +<capital>Roseau</capital> +<citizen>Dominican</citizen> +<adjective>of Dominica</adjective> +<currency>Eastern Caribbean dollar</currency> +<isocurrency>XCD</isocurrency> +<currensubunit>cent</currensubunit> +</country> +<country> +<shortname>Dominican Republic</shortname> +<fullname>Dominican Republic</fullname> +<isocountry>DO</isocountry> +<capital>Santo Domingo</capital> +<citizen>Dominican</citizen> +<adjective>Dominican</adjective> +<currency>Dominican peso</currency> +<isocurrency>DOP</isocurrency> +<currensubunit>centavo</currensubunit> +</country> +<country> +<shortname>East Timor</shortname> +<fullname>East Timor</fullname> +<isocountry>TP</isocountry> +<capital>Dili</capital> +<citizen>East Timorese</citizen> +<adjective>East Timorese</adjective> +<currency>Indonesian rupiah</currency> +<isocurrency>IDR</isocurrency> +<currensubunit>-</currensubunit> +</country> +<country> +<shortname>Ecuador</shortname> +<fullname>Republic of Ecuador</fullname> +<isocountry>EC</isocountry> +<capital>Quito</capital> +<citizen>Ecuadorian</citizen> +<adjective>Ecuadorian</adjective> +<currency>sucre</currency> +<isocurrency>ECS</isocurrency> +<currensubunit>centavo</currensubunit> +</country> +<country> +<shortname>Egypt</shortname> +<fullname>Arab Republic of Egypt</fullname> +<isocountry>EG</isocountry> +<capital>Cairo</capital> +<citizen>Egyptian</citizen> +<adjective>Egyptian</adjective> +<currency>Egyptian pound</currency> +<isocurrency>EGP</isocurrency> +<currensubunit>piastre</currensubunit> +</country> +<country> +<shortname>El Salvador</shortname> +<fullname>Republic of El Salvador</fullname> +<isocountry>SV</isocountry> +<capital>San Salvador</capital> +<citizen>Salvadorian; Salvadoran</citizen> +<adjective>Salvadorian; Salvadoran</adjective> +<currency>El Salvador colón (pl.colones)</currency> +<isocurrency>SVC</isocurrency> +<currensubunit>centavo</currensubunit> +</country> +<country> +<shortname>Equatorial Guinea</shortname> +<fullname>Republic of Equatorial Guinea</fullname> +<isocountry>GQ</isocountry> +<capital>Malabo</capital> +<citizen>Equatorial Guinean</citizen> +<adjective>of Equatorial Guinea</adjective> +<currency>CFA franc</currency> +<isocurrency>XAF</isocurrency> +<currensubunit>centime</currensubunit> +</country> +<country> +<shortname>Eritrea</shortname> +<fullname>State of Eritrea</fullname> +<isocountry>ER</isocountry> +<capital>Asmara</capital> +<citizen>Eritrean</citizen> +<adjective>Eritrean</adjective> +<currency>nakfa (inv.)</currency> +<isocurrency>ERN</isocurrency> +<currensubunit>centime</currensubunit> +</country> +<country> +<shortname>Estonia</shortname> +<fullname>Republic of Estonia</fullname> +<isocountry>EE</isocountry> +<capital>Tallinn</capital> +<citizen>Estonian</citizen> +<adjective>Estonian</adjective> +<currency>Estonian kroon (pl.krooni)</currency> +<isocurrency>EEK</isocurrency> +<currensubunit>sent (pl. senti)</currensubunit> +</country> +<country> +<shortname>Ethiopia</shortname> +<fullname>Federal Democratic Republic of Ethiopia</fullname> +<isocountry>ET</isocountry> +<capital>Addis Ababa</capital> +<citizen>Ethiopian</citizen> +<adjective>Ethiopian</adjective> +<currency>Ethiopian birr (inv.)</currency> +<isocurrency>ETB</isocurrency> +<currensubunit>cent</currensubunit> +</country> +<country> +<shortname>Faeroe Islands</shortname> +<fullname>Faeroe Islands</fullname> +<isocountry>FO</isocountry> +<capital>Thorshavn</capital> +<citizen>Faeroese</citizen> +<adjective>Faeroese</adjective> +<currency>Danish krone (pl.kroner)</currency> +<isocurrency>DKK</isocurrency> +<currensubunit>øre (inv.)</currensubunit> +</country> +<country> +<shortname>Falkland Islands</shortname> +<fullname>Falkland Islands</fullname> +<isocountry>FK</isocountry> +<capital>Stanley</capital> +<citizen>Falkland Islander</citizen> +<adjective>of the Falkland Islands</adjective> +<currency>Falkland Islands pound</currency> +<isocurrency>FKP</isocurrency> +<currensubunit>new penny (pl. pence)</currensubunit> +</country> +<country> +<shortname>Fiji</shortname> +<fullname>Republic of Fiji</fullname> +<isocountry>FJ</isocountry> +<capital>Suva</capital> +<citizen>Fijian</citizen> +<adjective>Fijian; of Fiji</adjective> +<currency>Fiji dollar</currency> +<isocurrency>FJD</isocurrency> +<currensubunit>cent</currensubunit> +</country> +<country> +<shortname>Finland</shortname> +<fullname>Republic of Finland</fullname> +<isocountry>FI </isocountry> +<capital>Helsinki</capital> +<citizen>Finn</citizen> +<adjective>Finnish</adjective> +<currency>Finnish markka (pl.markkaa)</currency> +<isocurrency>FIM</isocurrency> +<currensubunit>penni (pl. penniä)</currensubunit> +</country> +<country> +<shortname>France</shortname> +<fullname>French Republic</fullname> +<isocountry>FR </isocountry> +<capital>Paris</capital> +<citizen>Frenchman; Frenchwoman</citizen> +<adjective>French</adjective> +<currency>French franc</currency> +<isocurrency>FRF</isocurrency> +<currensubunit>centime</currensubunit> +</country> +<country> +<shortname>French Guiana</shortname> +<fullname>Department of French Guiana</fullname> +<isocountry>GF</isocountry> +<capital>Cayenne</capital> +<citizen>Guianese</citizen> +<adjective>Guianese</adjective> +<currency>French franc</currency> +<isocurrency>FRF</isocurrency> +<currensubunit>centime</currensubunit> +</country> +<country> +<shortname>French Polynesia</shortname> +<fullname>Territory of French Polynesia</fullname> +<isocountry>PF</isocountry> +<capital>Papeete</capital> +<citizen>Polynesian</citizen> +<adjective>Polynesian</adjective> +<currency>CFP franc</currency> +<isocurrency>XPF</isocurrency> +<currensubunit>centime</currensubunit> +</country> +<country> +<shortname>French Southern and Antarctic Lands</shortname> +<fullname>Territory of the French Southern and Antarctic +Lands</fullname> +<isocountry>TF</isocountry> +<capital> </capital> +<citizen>-</citizen> +<adjective>of the French Southern and Antarctic Lands</adjective> +<currency>-</currency> +<isocurrency>-</isocurrency> +<currensubunit>-</currensubunit> +</country> +<country> +<shortname>Gabon</shortname> +<fullname>Gabonese Republic</fullname> +<isocountry>GA</isocountry> +<capital>Libreville</capital> +<citizen>Gabonese</citizen> +<adjective>Gabonese</adjective> +<currency>CFA franc</currency> +<isocurrency>XAF</isocurrency> +<currensubunit>centime</currensubunit> +</country> +<country> +<shortname>Georgia</shortname> +<fullname>Georgia</fullname> +<isocountry>GE</isocountry> +<capital>Tbilisi</capital> +<citizen>Georgian</citizen> +<adjective>Georgian</adjective> +<currency>lari</currency> +<isocurrency>GEL</isocurrency> +<currensubunit>tetri (inv.)</currensubunit> +</country> +<country> +<shortname>Germany</shortname> +<fullname>Federal Republic of Germany</fullname> +<isocountry>DE </isocountry> +<capital>Berlin</capital> +<citizen>German</citizen> +<adjective>German</adjective> +<currency>German mark</currency> +<isocurrency>DEM</isocurrency> +<currensubunit>pfennig</currensubunit> +</country> +<country> +<shortname>Ghana</shortname> +<fullname>Republic of Ghana</fullname> +<isocountry>GH</isocountry> +<capital>Accra</capital> +<citizen>Ghanaian</citizen> +<adjective>Ghanaian</adjective> +<currency>cedi</currency> +<isocurrency>GHC</isocurrency> +<currensubunit>pesewa</currensubunit> +</country> +<country> +<shortname>Gibraltar</shortname> +<fullname>Gibraltar</fullname> +<isocountry>GI</isocountry> +<capital>Gibraltar</capital> +<citizen>Gibraltarian</citizen> +<adjective>Gibraltarian; of Gibraltar</adjective> +<currency>Gibraltar pound</currency> +<isocurrency>GIP</isocurrency> +<currensubunit>penny (pl. pence)</currensubunit> +</country> +<country> +<shortname>Greece</shortname> +<fullname>Hellenic Republic</fullname> +<isocountry>GR </isocountry> +<capital>Athens</capital> +<citizen>Greek</citizen> +<adjective>Greek</adjective> +<currency>Greek drachma (pl.drachmae)</currency> +<isocurrency>GRD</isocurrency> +<currensubunit>lepton (pl.lepta)</currensubunit> +</country> +<country> +<shortname>Greenland</shortname> +<fullname>Greenland</fullname> +<isocountry>GL</isocountry> +<capital>Nuuk</capital> +<citizen>Greenlander</citizen> +<adjective>Greenlandic; of Greenland</adjective> +<currency>Danish krone (pl.kroner)</currency> +<isocurrency>DKK</isocurrency> +<currensubunit>øre (inv.)</currensubunit> +</country> +<country> +<shortname>Grenada</shortname> +<fullname>Grenada</fullname> +<isocountry>GD</isocountry> +<capital>St George's</capital> +<citizen>Grenadian</citizen> +<adjective>Grenadian</adjective> +<currency>Eastern Caribbean dollar</currency> +<isocurrency>XCD</isocurrency> +<currensubunit>cent</currensubunit> +</country> +<country> +<shortname>Guadeloupe</shortname> +<fullname>Department of Guadeloupe</fullname> +<isocountry>GP</isocountry> +<capital>Basse Terre</capital> +<citizen>Guadeloupean</citizen> +<adjective>of Guadeloupe; Guadeloupean</adjective> +<currency>French franc</currency> +<isocurrency>FRF</isocurrency> +<currensubunit>centime</currensubunit> +</country> +<country> +<shortname>Guam</shortname> +<fullname>Territory of Guam</fullname> +<isocountry>GU</isocountry> +<capital>Hagåtña</capital> +<citizen>Guamanian</citizen> +<adjective>Guamanian; of Guam</adjective> +<currency>US dollar</currency> +<isocurrency>USD</isocurrency> +<currensubunit>cent</currensubunit> +</country> +<country> +<shortname>Guatemala</shortname> +<fullname>Republic of Guatemala</fullname> +<isocountry>GT</isocountry> +<capital>Guatemala City</capital> +<citizen>Guatemalan</citizen> +<adjective>Guatemalan</adjective> +<currency>Guatemalan quetzal (pl.quetzales)</currency> +<isocurrency>GTQ</isocurrency> +<currensubunit>centavo</currensubunit> +</country> +<country> +<shortname>Guinea</shortname> +<fullname>Republic of Guinea</fullname> +<isocountry>GN</isocountry> +<capital>Conakry</capital> +<citizen>Guinean</citizen> +<adjective>Guinean</adjective> +<currency>Guinean franc</currency> +<isocurrency>GNF</isocurrency> +<currensubunit>-</currensubunit> +</country> +<country> +<shortname>Guinea-Bissau</shortname> +<fullname>Republic of Guinea-Bissau</fullname> +<isocountry>GW</isocountry> +<capital>Bissau</capital> +<citizen>Guinea-Bissau national; Guinean</citizen> +<adjective>of Guinea-Bissau</adjective> +<currency>CFA franc</currency> +<isocurrency>XOF</isocurrency> +<currensubunit>centime</currensubunit> +</country> +<country> +<shortname>Guyana</shortname> +<fullname>Cooperative Republic of Guyana</fullname> +<isocountry>GY</isocountry> +<capital>Georgetown</capital> +<citizen>Guyanese</citizen> +<adjective>Guyanese</adjective> +<currency>Guyanese dollar</currency> +<isocurrency>GYD</isocurrency> +<currensubunit>cent</currensubunit> +</country> +<country> +<shortname>Haiti</shortname> +<fullname>Republic of Haiti</fullname> +<isocountry>HT</isocountry> +<capital>Port-au-Prince</capital> +<citizen>Haitian</citizen> +<adjective>Haitian</adjective> +<currency>gourde</currency> +<isocurrency>HTG</isocurrency> +<currensubunit>centime</currensubunit> +</country> +<country> +<shortname>Heard Island + +and McDonald Islands</shortname> +<fullname>Territory of Heard Island and McDonald +Islands</fullname> +<isocountry>HM</isocountry> +<capital>-</capital> +<citizen>-</citizen> +<adjective>of Heard Island and McDonald Islands</adjective> +<currency> </currency> +<isocurrency> </isocurrency> +<currensubunit> </currensubunit> +</country> +<country> +<shortname>Honduras</shortname> +<fullname>Republic of Honduras</fullname> +<isocountry>HN</isocountry> +<capital>Tegucigalpa</capital> +<citizen>Honduran</citizen> +<adjective>Honduran</adjective> +<currency>lempira</currency> +<isocurrency>HNL</isocurrency> +<currensubunit>centavo</currensubunit> +</country> +<country> +<shortname>Hong Kong</shortname> +<fullname>Hong Kong Special Administrative Region (HKSAR)</fullname> +<isocountry>HK</isocountry> +<capital>Victoria</capital> +<citizen>Hong Kong Chinese</citizen> +<adjective>Hong Kong Chinese</adjective> +<currency>Hong Kong dollar</currency> +<isocurrency>HKD</isocurrency> +<currensubunit>cent</currensubunit> +</country> +<country> +<shortname>Hungary</shortname> +<fullname>Republic of Hungary</fullname> +<isocountry>HU</isocountry> +<capital>Budapest</capital> +<citizen>Hungarian</citizen> +<adjective>Hungarian</adjective> +<currency>forint (inv.)</currency> +<isocurrency>HUF</isocurrency> +<currensubunit>fillér (inv.)</currensubunit> +</country> +<country> +<shortname>Iceland</shortname> +<fullname>Republic of Iceland</fullname> +<isocountry>IS</isocountry> +<capital>Reykjavik</capital> +<citizen>Icelander</citizen> +<adjective>Icelandic</adjective> +<currency>Icelandic króna (pl.krónur)</currency> +<isocurrency>ISK</isocurrency> +<currensubunit>eyrir (pl.aurar)</currensubunit> +</country> +<country> +<shortname>India</shortname> +<fullname>Republic of India</fullname> +<isocountry>IN</isocountry> +<capital>New Delhi</capital> +<citizen>Indian</citizen> +<adjective>Indian</adjective> +<currency>Indian rupee</currency> +<isocurrency>INR</isocurrency> +<currensubunit>paisa (pl.paise)</currensubunit> +</country> +<country> +<shortname>Indonesia</shortname> +<fullname>Republic of Indonesia</fullname> +<isocountry>ID</isocountry> +<capital>Jakarta</capital> +<citizen>Indonesian</citizen> +<adjective>Indonesian</adjective> +<currency>Indonesian rupiah (inv.)</currency> +<isocurrency>IDR</isocurrency> +<currensubunit>sen (inv.)</currensubunit> +</country> +<country> +<shortname>Iran</shortname> +<fullname>Islamic Republic of Iran</fullname> +<isocountry>IR</isocountry> +<capital>Tehran</capital> +<citizen>Iranian</citizen> +<adjective>Iranian</adjective> +<currency>Iranian rial</currency> +<isocurrency>IRR</isocurrency> +<currensubunit>-</currensubunit> +</country> +<country> +<shortname>Iraq</shortname> +<fullname>Republic of Iraq</fullname> +<isocountry>IQ</isocountry> +<capital>Baghdad</capital> +<citizen>Iraqi</citizen> +<adjective>Iraqi</adjective> +<currency>Iraqi dinar</currency> +<isocurrency>IQD</isocurrency> +<currensubunit>fils (inv.)</currensubunit> +</country> +<country> +<shortname>Ireland</shortname> +<fullname>Ireland</fullname> +<isocountry>IE </isocountry> +<capital>Dublin</capital> +<citizen>Irishman; Irishwoman</citizen> +<adjective>Irish</adjective> +<currency>Irish pound</currency> +<isocurrency>IEP</isocurrency> +<currensubunit>penny (pl.pence)</currensubunit> +</country> +<country> +<shortname>Israel</shortname> +<fullname>State of Israel</fullname> +<isocountry>IL</isocountry> +<capital>Jerusalem</capital> +<citizen>Israeli</citizen> +<adjective>Israeli</adjective> +<currency>new shekel</currency> +<isocurrency>ILS</isocurrency> +<currensubunit>agora (pl.agorot)</currensubunit> +</country> +<country> +<shortname>Italy</shortname> +<fullname>Italian Republic</fullname> +<isocountry>IT </isocountry> +<capital>Rome</capital> +<citizen>Italian</citizen> +<adjective>Italian</adjective> +<currency>Italian lira (pl. lire)</currency> +<isocurrency>ITL</isocurrency> +<currensubunit> </currensubunit> +</country> +<country> +<shortname>Jamaica</shortname> +<fullname>Jamaica</fullname> +<isocountry>JM</isocountry> +<capital>Kingston</capital> +<citizen>Jamaican</citizen> +<adjective>Jamaican</adjective> +<currency>Jamaica dollar</currency> +<isocurrency>JMD</isocurrency> +<currensubunit>cent</currensubunit> +</country> +<country> +<shortname>Japan</shortname> +<fullname>Japan</fullname> +<isocountry>JP</isocountry> +<capital>Tokyo</capital> +<citizen>Japanese</citizen> +<adjective>Japanese</adjective> +<currency>yen (inv.)</currency> +<isocurrency>JPY</isocurrency> +<currensubunit>sen (inv.)</currensubunit> +</country> +<country> +<shortname>Jordan</shortname> +<fullname>Hashemite Kingdom of Jordan</fullname> +<isocountry>JO</isocountry> +<capital>Amman</capital> +<citizen>Jordanian</citizen> +<adjective>Jordanian</adjective> +<currency>Jordanian dinar</currency> +<isocurrency>JOD</isocurrency> +<currensubunit>fils (inv.)</currensubunit> +</country> +<country> +<shortname>Kazakhstan</shortname> +<fullname>Republic of Kazakhstan</fullname> +<isocountry>KZ</isocountry> +<capital>Astana</capital> +<citizen>Kazakh</citizen> +<adjective>Kazakh</adjective> +<currency>tenge (inv.)</currency> +<isocurrency>KZT</isocurrency> +<currensubunit>tiyn</currensubunit> +</country> +<country> +<shortname>Kenya</shortname> +<fullname>Republic of Kenya</fullname> +<isocountry>KE</isocountry> +<capital>Nairobi</capital> +<citizen>Kenyan</citizen> +<adjective>Kenyan</adjective> +<currency>Kenyan shilling</currency> +<isocurrency>KES</isocurrency> +<currensubunit>cent</currensubunit> +</country> +<country> +<shortname>Kiribati</shortname> +<fullname>Republic of Kiribati</fullname> +<isocountry>KI</isocountry> +<capital>Bairiki</capital> +<citizen>Kiribatian</citizen> +<adjective>of Kiribati; Kiribatian</adjective> +<currency>Australian dollar</currency> +<isocurrency>AUD</isocurrency> +<currensubunit>cent</currensubunit> +</country> +<country> +<shortname>Kuwait</shortname> +<fullname>State of Kuwait</fullname> +<isocountry>KW</isocountry> +<capital>Kuwait City</capital> +<citizen>Kuwaiti</citizen> +<adjective>Kuwaiti</adjective> +<currency>Kuwaiti dinar</currency> +<isocurrency>KWD</isocurrency> +<currensubunit>fils (inv.)</currensubunit> +</country> +<country> +<shortname>Kyrgyzstan</shortname> +<fullname>Kyrgyz Republic</fullname> +<isocountry>KG</isocountry> +<capital>Bishkek</capital> +<citizen>Kyrgyz</citizen> +<adjective>Kyrgyz</adjective> +<currency>som</currency> +<isocurrency>KGS</isocurrency> +<currensubunit>tyiyn</currensubunit> +</country> +<country> +<shortname>Laos</shortname> +<fullname>Lao People's Democratic Republic</fullname> +<isocountry>LA</isocountry> +<capital>Vientiane</capital> +<citizen>Lao</citizen> +<adjective>Lao</adjective> +<currency>kip (inv.)</currency> +<isocurrency>LAK</isocurrency> +<currensubunit>at (inv.)</currensubunit> +</country> +<country> +<shortname>Latvia</shortname> +<fullname>Republic of Latvia</fullname> +<isocountry>LV</isocountry> +<capital>Riga</capital> +<citizen>Latvian</citizen> +<adjective>Latvian</adjective> +<currency>lats (pl. lati)</currency> +<isocurrency>LVL</isocurrency> +<currensubunit>santims (pl. santimi)</currensubunit> +</country> +<country> +<shortname>Lebanon</shortname> +<fullname>Lebanese Republic</fullname> +<isocountry>LB</isocountry> +<capital>Beirut</capital> +<citizen>Lebanese</citizen> +<adjective>Lebanese</adjective> +<currency>Lebanese pound</currency> +<isocurrency>LBP</isocurrency> +<currensubunit>piastre</currensubunit> +</country> +<country> +<shortname>Lesotho</shortname> +<fullname>Kingdom of Lesotho</fullname> +<isocountry>LS</isocountry> +<capital>Maseru</capital> +<citizen>Basotho</citizen> +<adjective>of Lesotho</adjective> +<currency>loti (pl. maloti)</currency> +<isocurrency>LSL</isocurrency> +<currensubunit>sente (pl. lisente)</currensubunit> +</country> +<country> +<shortname>Liberia</shortname> +<fullname>Republic of Liberia</fullname> +<isocountry>LR</isocountry> +<capital>Monrovia</capital> +<citizen>Liberian</citizen> +<adjective>Liberian</adjective> +<currency>Liberian dollar</currency> +<isocurrency>LRD</isocurrency> +<currensubunit>cent</currensubunit> +</country> +<country> +<shortname>Libya</shortname> +<fullname>Socialist People's Libyan Arab Jamahiriya</fullname> +<isocountry>LY</isocountry> +<capital>Tripoli</capital> +<citizen>Libyan</citizen> +<adjective>Libyan</adjective> +<currency>Libyan dinar</currency> +<isocurrency>LYD</isocurrency> +<currensubunit>dirham</currensubunit> +</country> +<country> +<shortname>Liechtenstein</shortname> +<fullname>Principality of Liechtenstein</fullname> +<isocountry>LI</isocountry> +<capital>Vaduz</capital> +<citizen>Liechtensteiner</citizen> +<adjective>of Liechtenstein</adjective> +<currency>Swiss franc</currency> +<isocurrency>CHF</isocurrency> +<currensubunit>centime</currensubunit> +</country> +<country> +<shortname>Lithuania</shortname> +<fullname>Republic of Lithuania</fullname> +<isocountry>LT</isocountry> +<capital>Vilnius</capital> +<citizen>Lithuanian</citizen> +<adjective>Lithuanian</adjective> +<currency>litas (pl. litai)</currency> +<isocurrency>LTL</isocurrency> +<currensubunit>centas (pl. centai)</currensubunit> +</country> +<country> +<shortname>Luxembourg</shortname> +<fullname>Grand Duchy of Luxembourg</fullname> +<isocountry>LU </isocountry> +<capital>Luxembourg</capital> +<citizen>Luxembourger</citizen> +<adjective>Luxembourgish; of Luxembourg</adjective> +<currency>Luxembourg franc</currency> +<isocurrency>LUF</isocurrency> +<currensubunit>centime</currensubunit> +</country> +<country> +<shortname>Macao</shortname> +<fullname>Macao</fullname> +<isocountry>MO</isocountry> +<capital>Macao</capital> +<citizen>Macanese</citizen> +<adjective>Macanese; of Macao</adjective> +<currency>pataca</currency> +<isocurrency>MOP</isocurrency> +<currensubunit>avo</currensubunit> +</country> +<country> +<shortname>-</shortname> +<fullname>Former Yugoslav Republic of Macedonia</fullname> +<isocountry>MK</isocountry> +<capital>Skopje</capital> +<citizen>Macedonian</citizen> +<adjective>Macedonian</adjective> +<currency>denar (inv.)</currency> +<isocurrency>MKD</isocurrency> +<currensubunit>deni (inv.)</currensubunit> +</country> +<country> +<shortname>Madagascar</shortname> +<fullname>Republic of Madagascar</fullname> +<isocountry>MG</isocountry> +<capital>Antananarivo</capital> +<citizen>Malagasy</citizen> +<adjective>Malagasy</adjective> +<currency>Malagasy franc</currency> +<isocurrency>MGF</isocurrency> +<currensubunit>centime</currensubunit> +</country> +<country> +<shortname>Malawi</shortname> +<fullname>Republic of Malawi</fullname> +<isocountry>MW</isocountry> +<capital>Lilongwe</capital> +<citizen>Malawian</citizen> +<adjective>Malawian</adjective> +<currency>Malawi kwacha (inv.)</currency> +<isocurrency>MWK</isocurrency> +<currensubunit>tambala (inv.)</currensubunit> +</country> +<country> +<shortname>Malaysia</shortname> +<fullname>Malaysia</fullname> +<isocountry>MY</isocountry> +<capital>Kuala Lumpur</capital> +<citizen>Malaysian</citizen> +<adjective>Malaysian</adjective> +<currency>Malaysian ringgit (inv.)</currency> +<isocurrency>MYR</isocurrency> +<currensubunit>sen (inv.)</currensubunit> +</country> +<country> +<shortname>Maldives</shortname> +<fullname>Republic of Maldives</fullname> +<isocountry>MV</isocountry> +<capital>Malé</capital> +<citizen>Maldivian</citizen> +<adjective>Maldivian</adjective> +<currency>rufiyaa</currency> +<isocurrency>MVR</isocurrency> +<currensubunit>laari (inv.)</currensubunit> +</country> +<country> +<shortname>Mali</shortname> +<fullname>Republic of Mali</fullname> +<isocountry>ML</isocountry> +<capital>Bamako</capital> +<citizen>Malian</citizen> +<adjective>Malian</adjective> +<currency>CFA franc</currency> +<isocurrency>XOF</isocurrency> +<currensubunit>centime</currensubunit> +</country> +<country> +<shortname>Malta</shortname> +<fullname>Republic of Malta</fullname> +<isocountry>MT</isocountry> +<capital>Valletta</capital> +<citizen>Maltese</citizen> +<adjective>Maltese</adjective> +<currency>Maltese lira</currency> +<isocurrency>MTL</isocurrency> +<currensubunit>cent</currensubunit> +</country> +<country> +<shortname>Marshall Islands</shortname> +<fullname>Republic of the Marshall Islands</fullname> +<isocountry>MH</isocountry> +<capital>Majuro</capital> +<citizen>Marshallese</citizen> +<adjective>Marshallese; of the Marshall Islands</adjective> +<currency>US dollar</currency> +<isocurrency>USD</isocurrency> +<currensubunit>cent</currensubunit> +</country> +<country> +<shortname>Martinique</shortname> +<fullname>Department of Martinique</fullname> +<isocountry>MQ</isocountry> +<capital>Fort-de-France</capital> +<citizen>Martinican</citizen> +<adjective>Martinican; of Martinique</adjective> +<currency>French franc</currency> +<isocurrency>FRF</isocurrency> +<currensubunit>centime</currensubunit> +</country> +<country> +<shortname>Mauritania</shortname> +<fullname>Islamic Republic of Mauritania</fullname> +<isocountry>MR</isocountry> +<capital>Nouakchott</capital> +<citizen>Mauritanian</citizen> +<adjective>Mauritanian</adjective> +<currency>Mauritanian ouguiya</currency> +<isocurrency>MRO</isocurrency> +<currensubunit>khoum</currensubunit> +</country> +<country> +<shortname>Mauritius</shortname> +<fullname>Republic of Mauritius</fullname> +<isocountry>MU</isocountry> +<capital>Port Louis</capital> +<citizen>Mauritian</citizen> +<adjective>Mauritian</adjective> +<currency>Mauritian rupee</currency> +<isocurrency>MUR</isocurrency> +<currensubunit>cent</currensubunit> +</country> +<country> +<shortname>Mayotte</shortname> +<fullname>Territorial collectivity of Mayotte</fullname> +<isocountry>YT</isocountry> +<capital>Mamoudzou</capital> +<citizen>Mahorais</citizen> +<adjective>Mahoran</adjective> +<currency>French franc</currency> +<isocurrency>FRF</isocurrency> +<currensubunit>centime</currensubunit> +</country> +<country> +<shortname>Mexico</shortname> +<fullname>United Mexican States</fullname> +<isocountry>MX</isocountry> +<capital>Mexico City</capital> +<citizen>Mexican</citizen> +<adjective>Mexican</adjective> +<currency>Mexican peso</currency> +<isocurrency>MXN</isocurrency> +<currensubunit>centavo</currensubunit> +</country> +<country> +<shortname>Micronesia</shortname> +<fullname>Federated States of Micronesia</fullname> +<isocountry>FM</isocountry> +<capital>Palikir</capital> +<citizen>Micronesian</citizen> +<adjective>of Micronesia</adjective> +<currency>US dollar</currency> +<isocurrency>USD</isocurrency> +<currensubunit>cent</currensubunit> +</country> +<country> +<shortname>Moldova</shortname> +<fullname>Republic of Moldova</fullname> +<isocountry>MD</isocountry> +<capital>Chisinau</capital> +<citizen>Moldovan</citizen> +<adjective>Moldovan</adjective> +<currency>Moldovan leu (pl. lei)</currency> +<isocurrency>MDL</isocurrency> +<currensubunit>ban (pl. bani)</currensubunit> +</country> +<country> +<shortname>Monaco</shortname> +<fullname>Principality of Monaco</fullname> +<isocountry>MC</isocountry> +<capital>Monaco</capital> +<citizen>Monegasque</citizen> +<adjective>Monegasque</adjective> +<currency>French franc</currency> +<isocurrency>FRF</isocurrency> +<currensubunit>centime</currensubunit> +</country> +<country> +<shortname>Mongolia</shortname> +<fullname>Mongolia</fullname> +<isocountry>MN</isocountry> +<capital>Ulan Bator</capital> +<citizen>Mongolian</citizen> +<adjective>Mongolian</adjective> +<currency>tugrik</currency> +<isocurrency>MNT</isocurrency> +<currensubunit>möngö (inv.)</currensubunit> +</country> +<country> +<shortname>Montserrat</shortname> +<fullname>Montserrat</fullname> +<isocountry>MS</isocountry> +<capital>Plymouth</capital> +<citizen>Montserratian</citizen> +<adjective>of Montserrat; Montserratian</adjective> +<currency>Eastern Caribbean dollar</currency> +<isocurrency>XCD</isocurrency> +<currensubunit>cent</currensubunit> +</country> +<country> +<shortname>Morocco</shortname> +<fullname>Kingdom of Morocco</fullname> +<isocountry>MA</isocountry> +<capital>Rabat</capital> +<citizen>Moroccan</citizen> +<adjective>Moroccan</adjective> +<currency>Moroccan dirham</currency> +<isocurrency>MAD</isocurrency> +<currensubunit>centime</currensubunit> +</country> +<country> +<shortname>Mozambique</shortname> +<fullname>Republic of Mozambique</fullname> +<isocountry>MZ</isocountry> +<capital>Maputo</capital> +<citizen>Mozambican</citizen> +<adjective>Mozambican</adjective> +<currency>metical (pl. meticais)</currency> +<isocurrency>MZM</isocurrency> +<currensubunit>centavo</currensubunit> +</country> +<country> +<shortname>Myanmar</shortname> +<fullname>Union of Myanmar</fullname> +<isocountry>MM</isocountry> +<capital>Yangon</capital> +<citizen>Burmese</citizen> +<adjective>Burmese; of Myanmar</adjective> +<currency>kyat</currency> +<isocurrency>MMK</isocurrency> +<currensubunit>pya</currensubunit> +</country> +<country> +<shortname>Namibia</shortname> +<fullname>Republic of Namibia</fullname> +<isocountry>NA</isocountry> +<capital>Windhoek</capital> +<citizen>Namibian</citizen> +<adjective>Namibian</adjective> +<currency>Namibian dollar</currency> +<isocurrency>NAD</isocurrency> +<currensubunit>cent</currensubunit> +</country> +<country> +<shortname>Nauru</shortname> +<fullname>Republic of Nauru</fullname> +<isocountry>NR</isocountry> +<capital>Yaren</capital> +<citizen>Nauruan</citizen> +<adjective>Nauruan</adjective> +<currency>Australian dollar</currency> +<isocurrency>AUD</isocurrency> +<currensubunit>cent</currensubunit> +</country> +<country> +<shortname>Nepal</shortname> +<fullname>Kingdom of Nepal</fullname> +<isocountry>NP</isocountry> +<capital>Kathmandu</capital> +<citizen>Nepalese</citizen> +<adjective>Nepalese</adjective> +<currency>Nepalese rupee</currency> +<isocurrency>NPR</isocurrency> +<currensubunit>paisa (inv.)</currensubunit> +</country> +<country> +<shortname>Netherlands</shortname> +<fullname>Kingdom of the Netherlands</fullname> +<isocountry>NL </isocountry> +<capital>Amsterdam</capital> +<citizen>Dutchman; Netherlander</citizen> +<adjective>Netherlands; Dutch</adjective> +<currency>Dutch guilder</currency> +<isocurrency>NLG</isocurrency> +<currensubunit>cent</currensubunit> +</country> +<country> +<shortname>Netherlands Antilles</shortname> +<fullname>Netherlands Antilles</fullname> +<isocountry>AN</isocountry> +<capital>Willemstad</capital> +<citizen>Antillean</citizen> +<adjective>of the Netherlands Antilles</adjective> +<currency>Netherlands Antillean guilder</currency> +<isocurrency>ANG</isocurrency> +<currensubunit>cent</currensubunit> +</country> +<country> +<shortname>New Caledonia</shortname> +<fullname>Territory of New Caledonia and Dependencies</fullname> +<isocountry>NC</isocountry> +<capital>Nouméa</capital> +<citizen>New Caledonian</citizen> +<adjective>New Caledonian</adjective> +<currency>CFP franc</currency> +<isocurrency>XPF</isocurrency> +<currensubunit>centime</currensubunit> +</country> +<country> +<shortname>New Zealand</shortname> +<fullname>New Zealand</fullname> +<isocountry>NZ</isocountry> +<capital>Wellington</capital> +<citizen>New Zealander</citizen> +<adjective>of New Zealand</adjective> +<currency>New Zealand dollar</currency> +<isocurrency>NZD</isocurrency> +<currensubunit>cent</currensubunit> +</country> +<country> +<shortname>Nicaragua</shortname> +<fullname>Republic of Nicaragua</fullname> +<isocountry>NI</isocountry> +<capital>Managua</capital> +<citizen>Nicaraguan</citizen> +<adjective>Nicaraguan</adjective> +<currency>córdoba</currency> +<isocurrency>NIO</isocurrency> +<currensubunit>centavo</currensubunit> +</country> +<country> +<shortname>Niger</shortname> +<fullname>Republic of Niger</fullname> +<isocountry>NE</isocountry> +<capital>Niamey</capital> +<citizen>Nigerien</citizen> +<adjective>Nigerien; of Niger</adjective> +<currency>CFA franc</currency> +<isocurrency>XOF</isocurrency> +<currensubunit>centime</currensubunit> +</country> +<country> +<shortname>Nigeria</shortname> +<fullname>Federal Republic of Nigeria</fullname> +<isocountry>NG</isocountry> +<capital>Abuja</capital> +<citizen>Nigerian</citizen> +<adjective>Nigerian</adjective> +<currency>naira (inv.)</currency> +<isocurrency>NGN</isocurrency> +<currensubunit>kobo (inv.)</currensubunit> +</country> +<country> +<shortname>Niue</shortname> +<fullname>Niue</fullname> +<isocountry>NU</isocountry> +<capital>Alofi</capital> +<citizen>Niuean</citizen> +<adjective>of Niue; Niuean</adjective> +<currency>New Zealand dollar</currency> +<isocurrency>NZD</isocurrency> +<currensubunit>cent</currensubunit> +</country> +<country> +<shortname>Norfolk Island</shortname> +<fullname>Territory of Norfolk Island</fullname> +<isocountry>NF</isocountry> +<capital>Kingston</capital> +<citizen>Norfolk Islander</citizen> +<adjective>of Norfolk Island</adjective> +<currency>Australian dollar</currency> +<isocurrency>AUD</isocurrency> +<currensubunit>cent</currensubunit> +</country> +<country> +<shortname>North Korea</shortname> +<fullname>Democratic People's Republic of Korea</fullname> +<isocountry>KP</isocountry> +<capital>Pyongyang</capital> +<citizen>North Korean</citizen> +<adjective>North Korean</adjective> +<currency>North Korean won (inv.) +</currency> +<isocurrency>KPW</isocurrency> +<currensubunit>chun (inv.)</currensubunit> +</country> +<country> +<shortname>Northern Marianas</shortname> +<fullname>Commonwealth of the Northern Mariana +Islands</fullname> +<isocountry>MP</isocountry> +<capital>Saipan</capital> +<citizen>Northern Mariana Islander</citizen> +<adjective>of the Northern Mariana Islands</adjective> +<currency>US dollar</currency> +<isocurrency>USD</isocurrency> +<currensubunit>cent</currensubunit> +</country> +<country> +<shortname>Norway</shortname> +<fullname>Kingdom of Norway</fullname> +<isocountry>NO</isocountry> +<capital>Oslo</capital> +<citizen>Norwegian</citizen> +<adjective>Norwegian</adjective> +<currency>Norwegian krone (pl.kroner)</currency> +<isocurrency>NOK</isocurrency> +<currensubunit>øre (inv.)</currensubunit> +</country> +<country> +<shortname>Oman</shortname> +<fullname>Sultanate of Oman</fullname> +<isocountry>OM</isocountry> +<capital>Muscat</capital> +<citizen>Omani</citizen> +<adjective>Omani</adjective> +<currency>Omani rial</currency> +<isocurrency>OMR</isocurrency> +<currensubunit>baiza</currensubunit> +</country> +<country> +<shortname>Pakistan</shortname> +<fullname>Islamic Republic of Pakistan</fullname> +<isocountry>PK</isocountry> +<capital>Islamabad</capital> +<citizen>Pakistani</citizen> +<adjective>Pakistani; of Pakistan</adjective> +<currency>Pakistani rupee</currency> +<isocurrency>PKR</isocurrency> +<currensubunit>paisa</currensubunit> +</country> +<country> +<shortname>Palau</shortname> +<fullname>Republic of Palau</fullname> +<isocountry>PW</isocountry> +<capital>Koror</capital> +<citizen>Palauan</citizen> +<adjective>of Palau; Palauan</adjective> +<currency>US dollar</currency> +<isocurrency>USD</isocurrency> +<currensubunit>cent</currensubunit> +</country> +<country> +<shortname>Panama</shortname> +<fullname>Republic of Panama</fullname> +<isocountry>PA</isocountry> +<capital>Panama City</capital> +<citizen>Panamanian</citizen> +<adjective>Panamanian</adjective> +<currency>balboa</currency> +<isocurrency>PAB</isocurrency> +<currensubunit>centésimo</currensubunit> +</country> +<country> +<shortname>Papua New Guinea</shortname> +<fullname>Independent State of Papua New Guinea</fullname> +<isocountry>PG</isocountry> +<capital>Port Moresby</capital> +<citizen>Papua New Guinean</citizen> +<adjective>of Papua New Guinea</adjective> +<currency>kina (inv.)</currency> +<isocurrency>PGK</isocurrency> +<currensubunit>toea (inv.)</currensubunit> +</country> +<country> +<shortname>Paraguay</shortname> +<fullname>Republic of Paraguay</fullname> +<isocountry>PY</isocountry> +<capital>Asunción</capital> +<citizen>Paraguayan</citizen> +<adjective>Paraguayan</adjective> +<currency>guaraní (pl.guaraníes)</currency> +<isocurrency>PYG</isocurrency> +<currensubunit>céntimo</currensubunit> +</country> +<country> +<shortname>Peru</shortname> +<fullname>Republic of Peru</fullname> +<isocountry>PE</isocountry> +<capital>Lima</capital> +<citizen>Peruvian</citizen> +<adjective>Peruvian</adjective> +<currency>new sol</currency> +<isocurrency>PEN</isocurrency> +<currensubunit>céntimo</currensubunit> +</country> +<country> +<shortname>Philippines</shortname> +<fullname>Republic of the Philippines</fullname> +<isocountry>PH</isocountry> +<capital>Manila</capital> +<citizen>Filipino</citizen> +<adjective>Philippine</adjective> +<currency>Philippine peso</currency> +<isocurrency>PHP</isocurrency> +<currensubunit>centavo</currensubunit> +</country> +<country> +<shortname>Pitcairn Islands</shortname> +<fullname>Pitcairn Islands</fullname> +<isocountry>PN</isocountry> +<capital>Adamstown</capital> +<citizen>Pitcairner</citizen> +<adjective>Pitcairner; of Pitcairn</adjective> +<currency>New Zealand dollar</currency> +<isocurrency>NZD</isocurrency> +<currensubunit>cent</currensubunit> +</country> +<country> +<shortname>Poland</shortname> +<fullname>Republic of Poland</fullname> +<isocountry>PL</isocountry> +<capital>Warsaw</capital> +<citizen>Pole</citizen> +<adjective>Polish</adjective> +<currency>zloty</currency> +<isocurrency>PLN</isocurrency> +<currensubunit>grosz (pl.groszy)</currensubunit> +</country> +<country> +<shortname>Portugal</shortname> +<fullname>Portuguese Republic</fullname> +<isocountry>PT </isocountry> +<capital>Lisbon</capital> +<citizen>Portuguese</citizen> +<adjective>Portuguese</adjective> +<currency>Portuguese escudo</currency> +<isocurrency>PTE</isocurrency> +<currensubunit>centavo</currensubunit> +</country> +<country> +<shortname>Puerto Rico</shortname> +<fullname>Commonwealth of Puerto Rico</fullname> +<isocountry>PR</isocountry> +<capital>San Juan</capital> +<citizen>Puerto Rican</citizen> +<adjective>Puerto Rican</adjective> +<currency>US dollar</currency> +<isocurrency>USD</isocurrency> +<currensubunit>cent</currensubunit> +</country> +<country> +<shortname>Qatar</shortname> +<fullname>State of Qatar</fullname> +<isocountry>QA</isocountry> +<capital>Doha</capital> +<citizen>Qatari</citizen> +<adjective>Qatari</adjective> +<currency>Qatari riyal</currency> +<isocurrency>QAR</isocurrency> +<currensubunit>dirham</currensubunit> +</country> +<country> +<shortname>Réunion</shortname> +<fullname>Department of Réunion</fullname> +<isocountry>RE</isocountry> +<capital>Saint-Denis</capital> +<citizen>Reunionese</citizen> +<adjective>of Réunion; Reunionese</adjective> +<currency>French franc</currency> +<isocurrency>FRF</isocurrency> +<currensubunit>centime</currensubunit> +</country> +<country> +<shortname>Romania</shortname> +<fullname>Romania</fullname> +<isocountry>RO</isocountry> +<capital>Bucharest</capital> +<citizen>Romanian</citizen> +<adjective>Romanian</adjective> +<currency>Romanian leu (pl. lei)</currency> +<isocurrency>ROL</isocurrency> +<currensubunit>ban (pl. bani)</currensubunit> +</country> +<country> +<shortname>Russia</shortname> +<fullname>Russian Federation</fullname> +<isocountry>RU</isocountry> +<capital>Moscow</capital> +<citizen>Russian</citizen> +<adjective>Russian</adjective> +<currency>new rouble</currency> +<isocurrency>RUR</isocurrency> +<currensubunit>kopek</currensubunit> +</country> +<country> +<shortname>Rwanda</shortname> +<fullname>Rwandese Republic</fullname> +<isocountry>RW</isocountry> +<capital>Kigali</capital> +<citizen>Rwandan; Rwandese</citizen> +<adjective>Rwandan; Rwandese</adjective> +<currency>Rwandese franc</currency> +<isocurrency>RWF</isocurrency> +<currensubunit>centime</currensubunit> +</country> +<country> +<shortname>Saint Helena</shortname> +<fullname>Saint Helena and Dependencies</fullname> +<isocountry>SH</isocountry> +<capital>Jamestown</capital> +<citizen>Saint Helenian; Saint</citizen> +<adjective>Saint Helenian; of Saint Helena</adjective> +<currency>Saint Helena pound</currency> +<isocurrency>SHP</isocurrency> +<currensubunit>penny (pl.pence)</currensubunit> +</country> +<country> +<shortname>Saint Kitts and Nevis</shortname> +<fullname>Federation of Saint Kitts and Nevis</fullname> +<isocountry>KN</isocountry> +<capital>Basseterre</capital> +<citizen>Kittsian; Nevisian</citizen> +<adjective>of Saint Kitts and Nevis</adjective> +<currency>Eastern Caribbean dollar</currency> +<isocurrency>XCD</isocurrency> +<currensubunit>cent</currensubunit> +</country> +<country> +<shortname>Saint Lucia</shortname> +<fullname>Saint Lucia</fullname> +<isocountry>LC</isocountry> +<capital>Castries</capital> +<citizen>Saint Lucian</citizen> +<adjective>Saint Lucian</adjective> +<currency>Eastern Caribbean dollar</currency> +<isocurrency>XCD</isocurrency> +<currensubunit>cent</currensubunit> +</country> +<country> +<shortname>Saint Pierre and Miquelon</shortname> +<fullname>Territorial collectivity of Saint Pierre and +Miquelon</fullname> +<isocountry>PM</isocountry> +<capital>Saint-Pierre</capital> +<citizen>St-Pierrais; Miquelonnais</citizen> +<adjective>of Saint Pierre and Miquelon</adjective> +<currency>French franc</currency> +<isocurrency>FRF</isocurrency> +<currensubunit>centime</currensubunit> +</country> +<country> +<shortname>Saint Vincent and the Grenadines</shortname> +<fullname>Saint Vincent and the Grenadines</fullname> +<isocountry>VC</isocountry> +<capital>Kingstown</capital> +<citizen>Vincentian</citizen> +<adjective>Vincentian; of Saint Vincent and the +Grenadines</adjective> +<currency>Eastern Caribbean dollar</currency> +<isocurrency>XCD</isocurrency> +<currensubunit>cent</currensubunit> +</country> +<country> +<shortname>Samoa</shortname> +<fullname>Independent State of Samoa</fullname> +<isocountry>WS</isocountry> +<capital>Apia</capital> +<citizen>Samoan</citizen> +<adjective>Samoan</adjective> +<currency>tala (inv.)</currency> +<isocurrency>WST</isocurrency> +<currensubunit>sene (inv.)</currensubunit> +</country> +<country> +<shortname>San Marino</shortname> +<fullname>Republic of San Marino</fullname> +<isocountry>SM</isocountry> +<capital>San Marino</capital> +<citizen>San Marinese</citizen> +<adjective>of San Marino</adjective> +<currency>Italian lira</currency> +<isocurrency>ITL</isocurrency> +<currensubunit> </currensubunit> +</country> +<country> +<shortname>São Tomé and Príncipe</shortname> +<fullname>Democratic Republic of São Tomé and +Príncipe</fullname> +<isocountry>ST</isocountry> +<capital>São Tomé</capital> +<citizen>São Toméan</citizen> +<adjective>of São Tomé and Príncipe; São Toméan</adjective> +<currency>dobra</currency> +<isocurrency>STD</isocurrency> +<currensubunit>centavo</currensubunit> +</country> +<country> +<shortname>Saudi Arabia</shortname> +<fullname>Kingdom of Saudi Arabia</fullname> +<isocountry>SA</isocountry> +<capital>Riyadh</capital> +<citizen>Saudi Arabian</citizen> +<adjective>Saudi Arabian</adjective> +<currency>Saudi riyal</currency> +<isocurrency>SAR</isocurrency> +<currensubunit>halala</currensubunit> +</country> +<country> +<shortname>Senegal</shortname> +<fullname>Republic of Senegal</fullname> +<isocountry>SN</isocountry> +<capital>Dakar</capital> +<citizen>Senegalese</citizen> +<adjective>Senegalese</adjective> +<currency>CFA franc</currency> +<isocurrency>XOF</isocurrency> +<currensubunit>centime</currensubunit> +</country> +<country> +<shortname>Seychelles</shortname> +<fullname>Republic of Seychelles</fullname> +<isocountry>SC</isocountry> +<capital>Victoria</capital> +<citizen>Seychellois</citizen> +<adjective>of Seychelles</adjective> +<currency>Seychelles rupee</currency> +<isocurrency>SCR</isocurrency> +<currensubunit>cent</currensubunit> +</country> +<country> +<shortname>Sierra Leone</shortname> +<fullname>Republic of Sierra Leone</fullname> +<isocountry>SL</isocountry> +<capital>Freetown</capital> +<citizen>Sierra Leonean</citizen> +<adjective>Sierra Leonean</adjective> +<currency>leone</currency> +<isocurrency>SLL</isocurrency> +<currensubunit>cent</currensubunit> +</country> +<country> +<shortname>Singapore</shortname> +<fullname>Republic of Singapore</fullname> +<isocountry>SG</isocountry> +<capital>Singapore</capital> +<citizen>Singaporean</citizen> +<adjective>Singaporean</adjective> +<currency>Singapore dollar</currency> +<isocurrency>SGD</isocurrency> +<currensubunit>cent</currensubunit> +</country> +<country> +<shortname>Slovakia</shortname> +<fullname>Slovak Republic</fullname> +<isocountry>SK</isocountry> +<capital>Bratislava</capital> +<citizen>Slovak</citizen> +<adjective>Slovak</adjective> +<currency>Slovak koruna (pl.koruny)</currency> +<isocurrency>SKK</isocurrency> +<currensubunit>halier (pl.haliere)</currensubunit> +</country> +<country> +<shortname>Slovenia</shortname> +<fullname>Republic of Slovenia</fullname> +<isocountry>SI</isocountry> +<capital>Ljubljana</capital> +<citizen>Slovene</citizen> +<adjective>Slovene; Slovenian</adjective> +<currency>tolar</currency> +<isocurrency>SIT</isocurrency> +<currensubunit>stotin</currensubunit> +</country> +<country> +<shortname>Solomon Islands</shortname> +<fullname>Solomon Islands</fullname> +<isocountry>SB</isocountry> +<capital>Honiara</capital> +<citizen>Solomon Islander</citizen> +<adjective>of the Solomon Islands</adjective> +<currency>Solomon Islands dollar</currency> +<isocurrency>SBD</isocurrency> +<currensubunit>cent</currensubunit> +</country> +<country> +<shortname>Somalia</shortname> +<fullname>Somali Democratic Republic</fullname> +<isocountry>SO</isocountry> +<capital>Mogadishu</capital> +<citizen>Somali</citizen> +<adjective>Somali</adjective> +<currency>Somali shilling</currency> +<isocurrency>SOS</isocurrency> +<currensubunit>cent</currensubunit> +</country> +<country> +<shortname>South Africa</shortname> +<fullname>Republic of South Africa</fullname> +<isocountry>ZA</isocountry> +<capital>Pretoria</capital> +<citizen>South African</citizen> +<adjective>South African</adjective> +<currency>rand</currency> +<isocurrency>ZAR</isocurrency> +<currensubunit>cent</currensubunit> +</country> +<country> +<shortname>South Georgia and the South Sandwich Islands</shortname> +<fullname>South Georgia and the South Sandwich +Islands</fullname> +<isocountry>GS</isocountry> +<capital>-</capital> +<citizen>-</citizen> +<adjective>of South Georgia and the South Sandwich +Islands</adjective> +<currency> </currency> +<isocurrency> </isocurrency> +<currensubunit> </currensubunit> +</country> +<country> +<shortname>South Korea</shortname> +<fullname>Republic of Korea</fullname> +<isocountry>KR</isocountry> +<capital>Seoul</capital> +<citizen>South Korean</citizen> +<adjective>South Korean</adjective> +<currency>South Korean won (inv.)</currency> +<isocurrency>KRW</isocurrency> +<currensubunit>chun (inv.)</currensubunit> +</country> +<country> +<shortname>Spain</shortname> +<fullname>Kingdom of Spain</fullname> +<isocountry>ES </isocountry> +<capital>Madrid</capital> +<citizen>Spaniard</citizen> +<adjective>Spanish</adjective> +<currency>Spanish peseta</currency> +<isocurrency>ESP</isocurrency> +<currensubunit>céntimo</currensubunit> +</country> +<country> +<shortname>Sri Lanka</shortname> +<fullname>Democratic Socialist Republic of Sri Lanka</fullname> +<isocountry>LK</isocountry> +<capital>Colombo</capital> +<citizen>Sri Lankan</citizen> +<adjective>Sri Lankan; of Sri Lanka</adjective> +<currency>Sri Lanka rupee</currency> +<isocurrency>LKR</isocurrency> +<currensubunit>cent</currensubunit> +</country> +<country> +<shortname>Sudan</shortname> +<fullname>Republic of Sudan</fullname> +<isocountry>SD</isocountry> +<capital>Khartoum</capital> +<citizen>Sudanese</citizen> +<adjective>Sudanese</adjective> +<currency>Sudanese pound</currency> +<isocurrency>SDD</isocurrency> +<currensubunit>piastre</currensubunit> +</country> +<country> +<shortname>Suriname</shortname> +<fullname>Republic of Suriname</fullname> +<isocountry>SR</isocountry> +<capital>Paramaribo</capital> +<citizen>Surinamese</citizen> +<adjective>Surinamese</adjective> +<currency>Suriname guilder</currency> +<isocurrency>SRG</isocurrency> +<currensubunit>cent</currensubunit> +</country> +<country> +<shortname>Svalbard and Jan Mayen</shortname> +<fullname>Svalbard and Jan Mayen Islands</fullname> +<isocountry>SJ</isocountry> +<capital>Longyearbyen (on Spitsbergen, Svalbard)</capital> +<citizen>-</citizen> +<adjective>of Svalbard; of Jan Mayen</adjective> +<currency>Norwegian krone (pl.kroner)</currency> +<isocurrency>NOK</isocurrency> +<currensubunit>øre (inv.)</currensubunit> +</country> +<country> +<shortname>Swaziland</shortname> +<fullname>Kingdom of Swaziland</fullname> +<isocountry>SZ</isocountry> +<capital>Mbabane</capital> +<citizen>Swazi</citizen> +<adjective>Swazi</adjective> +<currency>lilangeni (pl.emalangeni)</currency> +<isocurrency>SZL</isocurrency> +<currensubunit>cent</currensubunit> +</country> +<country> +<shortname>Sweden</shortname> +<fullname>Kingdom of Sweden</fullname> +<isocountry>SE </isocountry> +<capital>Stockholm</capital> +<citizen>Swede</citizen> +<adjective>Swedish</adjective> +<currency>Swedish krona (pl.kronor)</currency> +<isocurrency>SEK</isocurrency> +<currensubunit>öre (inv.)</currensubunit> +</country> +<country> +<shortname>Switzerland</shortname> +<fullname>Swiss Confederation</fullname> +<isocountry>CH</isocountry> +<capital>Berne</capital> +<citizen>Swiss</citizen> +<adjective>Swiss</adjective> +<currency>Swiss franc</currency> +<isocurrency>CHF</isocurrency> +<currensubunit>centime</currensubunit> +</country> +<country> +<shortname>Syria</shortname> +<fullname>Syrian Arab Republic</fullname> +<isocountry>SY</isocountry> +<capital>Damascus</capital> +<citizen>Syrian</citizen> +<adjective>Syrian</adjective> +<currency>Syrian pound</currency> +<isocurrency>SYP</isocurrency> +<currensubunit>piastre</currensubunit> +</country> +<country> +<shortname>Taiwan</shortname> +<fullname>Republic of China</fullname> +<isocountry>TW</isocountry> +<capital>Taipei</capital> +<citizen>Taiwanese</citizen> +<adjective>Taiwanese; of Taiwan</adjective> +<currency>new Taiwan dollar</currency> +<isocurrency>TWD</isocurrency> +<currensubunit>fen (inv.)</currensubunit> +</country> +<country> +<shortname>Tajikistan</shortname> +<fullname>Republic of Tajikistan</fullname> +<isocountry>TJ</isocountry> +<capital>Dushanbe</capital> +<citizen>Tajik</citizen> +<adjective>Tajik</adjective> +<currency>Tajik rouble</currency> +<isocurrency>TJR</isocurrency> +<currensubunit>kopek</currensubunit> +</country> +<country> +<shortname>Tanzania</shortname> +<fullname>United Republic of Tanzania</fullname> +<isocountry>TZ</isocountry> +<capital>Dodoma</capital> +<citizen>Tanzanian</citizen> +<adjective>Tanzanian</adjective> +<currency>Tanzanian shilling</currency> +<isocurrency>TZS</isocurrency> +<currensubunit>cent</currensubunit> +</country> +<country> +<shortname>Thailand</shortname> +<fullname>Kingdom of Thailand</fullname> +<isocountry>TH</isocountry> +<capital>Bangkok</capital> +<citizen>Thai</citizen> +<adjective>Thai</adjective> +<currency>baht (inv.)</currency> +<isocurrency>THB</isocurrency> +<currensubunit>satang (inv.)</currensubunit> +</country> +<country> +<shortname>The Bahamas</shortname> +<fullname>Commonwealth of The Bahamas</fullname> +<isocountry>BS</isocountry> +<capital>Nassau</capital> +<citizen>Bahamian</citizen> +<adjective>Bahamian</adjective> +<currency>Bahamian dollar</currency> +<isocurrency>BSD</isocurrency> +<currensubunit>cent</currensubunit> +</country> +<country> +<shortname>The Comoros</shortname> +<fullname>Islamic Federal Republic of The Comoros</fullname> +<isocountry>KM</isocountry> +<capital>Moroni</capital> +<citizen>Comorian</citizen> +<adjective>Comorian</adjective> +<currency>Comorian franc</currency> +<isocurrency>KMF</isocurrency> +<currensubunit>centime</currensubunit> +</country> +<country> +<shortname>The Gambia</shortname> +<fullname>Republic of The Gambia</fullname> +<isocountry>GM</isocountry> +<capital>Banjul</capital> +<citizen>Gambian</citizen> +<adjective>Gambian</adjective> +<currency>dalasi (inv.)</currency> +<isocurrency>GMD</isocurrency> +<currensubunit>butut</currensubunit> +</country> +<country> +<shortname>Togo</shortname> +<fullname>Togolese Republic</fullname> +<isocountry>TG</isocountry> +<capital>Lomé</capital> +<citizen>Togolese</citizen> +<adjective>Togolese</adjective> +<currency>CFA franc</currency> +<isocurrency>XOF</isocurrency> +<currensubunit>centime</currensubunit> +</country> +<country> +<shortname>Tokelau</shortname> +<fullname>Tokelau</fullname> +<isocountry>TK</isocountry> +<capital>Fakaofo</capital> +<citizen>Tokelauan</citizen> +<adjective>of Tokelau; Tokelauan</adjective> +<currency>New Zealand dollar</currency> +<isocurrency>NZD</isocurrency> +<currensubunit>cent</currensubunit> +</country> +<country> +<shortname>Tonga</shortname> +<fullname>Kingdom of Tonga</fullname> +<isocountry>TO</isocountry> +<capital>Nuku'alofa</capital> +<citizen>Tongan</citizen> +<adjective>Tongan</adjective> +<currency>pa'anga (inv.)</currency> +<isocurrency>TOP</isocurrency> +<currensubunit>seniti (inv.)</currensubunit> +</country> +<country> +<shortname>Trinidad and Tobago</shortname> +<fullname>Republic of Trinidad and Tobago</fullname> +<isocountry>TT</isocountry> +<capital>Port of Spain</capital> +<citizen>Trinidadian; Tobagonian</citizen> +<adjective>of Trinidad and Tobago</adjective> +<currency>Trinidad and Tobago dollar</currency> +<isocurrency>TTD</isocurrency> +<currensubunit>cent</currensubunit> +</country> +<country> +<shortname>Tunisia</shortname> +<fullname>Republic of Tunisia</fullname> +<isocountry>TN</isocountry> +<capital>Tunis</capital> +<citizen>Tunisian</citizen> +<adjective>Tunisian</adjective> +<currency>Tunisian dinar</currency> +<isocurrency>TND</isocurrency> +<currensubunit>millime</currensubunit> +</country> +<country> +<shortname>Turkey</shortname> +<fullname>Republic of Turkey</fullname> +<isocountry>TR</isocountry> +<capital>Ankara</capital> +<citizen>Turk</citizen> +<adjective>Turkish</adjective> +<currency>Turkish lira</currency> +<isocurrency>TRL</isocurrency> +<currensubunit>kurus (inv.)</currensubunit> +</country> +<country> +<shortname>Turkmenistan</shortname> +<fullname>Turkmenistan</fullname> +<isocountry>TM</isocountry> +<capital>Ashkhabad</capital> +<citizen>Turkmen</citizen> +<adjective>Turkmen</adjective> +<currency>Turkmen manat (inv.)</currency> +<isocurrency>TMM</isocurrency> +<currensubunit>tenge (inv.)</currensubunit> +</country> +<country> +<shortname>Turks and Caicos Islands</shortname> +<fullname>Turks and Caicos Islands</fullname> +<isocountry>TC</isocountry> +<capital>Cockburn Town</capital> +<citizen>Turks and Caicos Islander</citizen> +<adjective>of the Turks and Caicos Islands +</adjective> +<currency>US dollar</currency> +<isocurrency>USD</isocurrency> +<currensubunit>cent</currensubunit> +</country> +<country> +<shortname>Tuvalu</shortname> +<fullname>Tuvalu</fullname> +<isocountry>TV</isocountry> +<capital>Fongafale</capital> +<citizen>Tuvaluan</citizen> +<adjective>Tuvaluan</adjective> +<currency>Australian dollar</currency> +<isocurrency>AUD</isocurrency> +<currensubunit>cent</currensubunit> +</country> +<country> +<shortname>Uganda</shortname> +<fullname>Republic of Uganda</fullname> +<isocountry>UG</isocountry> +<capital>Kampala</capital> +<citizen>Ugandan</citizen> +<adjective>Ugandan</adjective> +<currency>Uganda shilling</currency> +<isocurrency>UGX</isocurrency> +<currensubunit>cent</currensubunit> +</country> +<country> +<shortname>Ukraine</shortname> +<fullname>Ukraine</fullname> +<isocountry>UA</isocountry> +<capital>Kiev</capital> +<citizen>Ukrainian</citizen> +<adjective>Ukrainian</adjective> +<currency>hryvnia</currency> +<isocurrency>UAH</isocurrency> +<currensubunit>kopiyka</currensubunit> +</country> +<country> +<shortname>United Arab Emirates</shortname> +<fullname>United Arab Emirates</fullname> +<isocountry>AE</isocountry> +<capital>Abu Dhabi</capital> +<citizen>UAE national</citizen> +<adjective>of the United Arab Emirates</adjective> +<currency>UAE dirham</currency> +<isocurrency>AED</isocurrency> +<currensubunit>fils (inv.)</currensubunit> +</country> +<country> +<shortname>United Kingdom</shortname> +<fullname>United Kingdom of Great Britain and Northern +Ireland</fullname> +<isocountry>GB </isocountry> +<capital>London</capital> +<citizen>Briton</citizen> +<adjective>British; of the United Kingdom</adjective> +<currency>pound sterling</currency> +<isocurrency>GBP</isocurrency> +<currensubunit>penny (pl. pence.)</currensubunit> +</country> +<country> +<shortname>United States</shortname> +<fullname>United States of America</fullname> +<isocountry>US</isocountry> +<capital>Washington DC</capital> +<citizen>American; US citizen</citizen> +<adjective>American; of the United States</adjective> +<currency>US dollar</currency> +<isocurrency>USD</isocurrency> +<currensubunit>cent</currensubunit> +</country> +<country> +<shortname>United States Minor Outlying Islands</shortname> +<fullname>United States Minor Outlying Islands</fullname> +<isocountry>UM</isocountry> +<capital>-</capital> +<citizen>-</citizen> +<adjective>-</adjective> +<currency>US dollar</currency> +<isocurrency>USD</isocurrency> +<currensubunit>cent</currensubunit> +</country> +<country> +<shortname>Uruguay</shortname> +<fullname>Eastern Republic of Uruguay</fullname> +<isocountry>UY</isocountry> +<capital>Montevideo</capital> +<citizen>Uruguayan</citizen> +<adjective>Uruguayan</adjective> +<currency>Uruguayan peso</currency> +<isocurrency>UYU</isocurrency> +<currensubunit>centésimo</currensubunit> +</country> +<country> +<shortname>US Virgin Islands</shortname> +<fullname>Virgin Islands of the United States</fullname> +<isocountry>VI</isocountry> +<capital>Charlotte Amalie</capital> +<citizen>US Virgin Islander</citizen> +<adjective>of the US Virgin Islands</adjective> +<currency>US dollar</currency> +<isocurrency>USD</isocurrency> +<currensubunit>cent</currensubunit> +</country> +<country> +<shortname>Uzbekistan</shortname> +<fullname>Republic of Uzbekistan</fullname> +<isocountry>UZ</isocountry> +<capital>Tashkent</capital> +<citizen>Uzbek</citizen> +<adjective>Uzbek</adjective> +<currency>sum (inv.) +</currency> +<isocurrency>UZS</isocurrency> +<currensubunit>tiyin (inv.)</currensubunit> +</country> +<country> +<shortname>Vanuatu</shortname> +<fullname>Republic of Vanuatu</fullname> +<isocountry>VU</isocountry> +<capital>Port Vila</capital> +<citizen>Vanuatuan</citizen> +<adjective>of Vanuatu; Vanuatuan</adjective> +<currency>vatu (inv.)</currency> +<isocurrency>VUV</isocurrency> +<currensubunit>-</currensubunit> +</country> +<country> +<shortname>the Vatican</shortname> +<fullname>The Holy see</fullname> +<isocountry>VA</isocountry> +<capital>Vatican City</capital> +<citizen>-</citizen> +<adjective>Vatican; of the Vatican</adjective> +<currency>Italian lira</currency> +<isocurrency>ITL</isocurrency> +<currensubunit>-</currensubunit> +</country> +<country> +<shortname>Venezuela</shortname> +<fullname>Republic of Venezuela</fullname> +<isocountry>VE</isocountry> +<capital>Caracas</capital> +<citizen>Venezuelan</citizen> +<adjective>Venezuelan</adjective> +<currency>bolívar (pl:bolívares)</currency> +<isocurrency>VEB</isocurrency> +<currensubunit>centavo</currensubunit> +</country> +<country> +<shortname>Vietnam</shortname> +<fullname>Socialist Republic of Viet Nam</fullname> +<isocountry>VN</isocountry> +<capital>Hanoi</capital> +<citizen>Vietnamese</citizen> +<adjective>Vietnamese</adjective> +<currency>dong</currency> +<isocurrency>VND</isocurrency> +<currensubunit>-</currensubunit> +</country> +<country> +<shortname>Wallis and Futuna</shortname> +<fullname>Territory of the Wallis and Futuna Islands</fullname> +<isocountry>WF</isocountry> +<capital>Mata-Utu</capital> +<citizen>Wallisian; Futunan; Wallis and Futuna +Islander</citizen> +<adjective>of the Wallis and Futuna Islands</adjective> +<currency>CFP franc</currency> +<isocurrency>XPF</isocurrency> +<currensubunit>centime</currensubunit> +</country> +<country> +<shortname>Western Sahara</shortname> +<fullname>-</fullname> +<isocountry>EH</isocountry> +<capital>Al aaiun</capital> +<citizen>Sahrawi</citizen> +<adjective>Sahrawi</adjective> +<currency>Moroccan dirham</currency> +<isocurrency>MAD</isocurrency> +<currensubunit>centime</currensubunit> +</country> +<country> +<shortname>Yemen</shortname> +<fullname>Republic of Yemen</fullname> +<isocountry>YE</isocountry> +<capital>San'a</capital> +<citizen>Yemenite</citizen> +<adjective>Yemeni</adjective> +<currency>Yemeni rial</currency> +<isocurrency>YER</isocurrency> +<currensubunit>fils (inv.)</currensubunit> +</country> +<country> +<shortname>Yugoslavia</shortname> +<fullname>Federal Republic of Yugoslavia</fullname> +<isocountry>YU</isocountry> +<capital>Belgrade</capital> +<citizen>Yugoslav</citizen> +<adjective>Yugoslav</adjective> +<currency>Yugoslav dinar</currency> +<isocurrency>YUM</isocurrency> +<currensubunit>para (inv.)</currensubunit> +</country> +<country> +<shortname>Zambia</shortname> +<fullname>Republic of Zambia</fullname> +<isocountry>ZM</isocountry> +<capital>Lusaka</capital> +<citizen>Zambian</citizen> +<adjective>Zambian</adjective> +<currency>Zambian kwacha (inv.)</currency> +<isocurrency>ZMK</isocurrency> +<currensubunit>ngwee (inv.)</currensubunit> +</country> +<country> +<shortname>Zimbabwe</shortname> +<fullname>Republic of Zimbabwe</fullname> +<isocountry>ZW</isocountry> +<capital>Harare</capital> +<citizen>Zimbabwean</citizen> +<adjective>Zimbabwean</adjective> +<currency>Zimbabwe dollar</currency> +<isocurrency>ZWD</isocurrency> +<currensubunit>cent</currensubunit> +</country> +</countries>
\ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/fot.dtd b/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/fot.dtd new file mode 100644 index 00000000000..afe3576dc59 --- /dev/null +++ b/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/fot.dtd @@ -0,0 +1,507 @@ +<!-- Typical use: + +<!DOCTYPE fot PUBLIC "-//James Clark//DTD DSSSL Flow Object Tree//EN" "fot.dtd"> + +--> +<!ENTITY % length-spec "CDATA"> +<!-- represents length-spec or #f; #f is represented by empty value --> +<!ENTITY % opt-length-spec "CDATA"> +<!ENTITY % length "NMTOKEN"> +<!ENTITY % enum "NMTOKEN"> +<!ENTITY % enum-or-boolean "NMTOKEN"> +<!ENTITY % boolean "(true|false)"> + +<!ENTITY % flow " +(paragraph +|sequence +|display-group +|line-field +|link +|scroll +|marginalia +|leader +|sideline +|box +|score +|table-row +|math-sequence +|unmath +|subscript +|superscript +|grid +|grid-cell +|paragraph-break +|external-graphic +|rule +|alignment-point +|table-column +|character +|simple-page-sequence +|fraction +|script +|mark +|fence +|radical +|math-operator +|table +|table-part +|table-cell +|multi-mode +|page-number +|text +|sdata +|a +|define-glyph-subst-table)*"> + +<!ELEMENT fot %flow;> +<!ELEMENT text (#PCDATA)> +<!ELEMENT sdata EMPTY> +<!ATTLIST sdata name CDATA #REQUIRED text CDATA #REQUIRED> + +<!ELEMENT paragraph %flow;> +<!ELEMENT sequence %flow;> +<!ELEMENT display-group %flow;> +<!ELEMENT line-field %flow;> +<!ELEMENT link %flow;> +<!ELEMENT scroll %flow;> +<!ELEMENT marginalia %flow;> +<!ELEMENT leader %flow;> +<!ELEMENT sideline %flow;> +<!ELEMENT box %flow;> +<!ELEMENT score %flow;> +<!ELEMENT table-row %flow;> +<!ELEMENT math-sequence %flow;> +<!ELEMENT unmath %flow;> +<!ELEMENT subscript %flow;> +<!ELEMENT superscript %flow;> +<!ELEMENT grid %flow;> +<!ELEMENT grid-cell %flow;> +<!ELEMENT paragraph-break EMPTY> +<!ELEMENT external-graphic EMPTY> +<!ELEMENT rule EMPTY> +<!ELEMENT alignment-point EMPTY> +<!ELEMENT table-column EMPTY> +<!ELEMENT character EMPTY> + +<!ELEMENT page-number EMPTY> +<!ATTLIST page-number ref CDATA #IMPLIED> + +<!ELEMENT define-glyph-subst-table (glyph-subst*)> +<!ATTLIST define-glyph-subst-table id ID #REQUIRED> + +<!ELEMENT glyph-subst EMPTY> +<!ATTLIST glyph-subst old CDATA #REQUIRED new CDATA #REQUIRED> + +<!ELEMENT a EMPTY> +<!ATTLIST a + name CDATA #REQUIRED +> + +<!ELEMENT simple-page-sequence + ((simple-page-sequence.right-header + |simple-page-sequence.center-header + |simple-page-sequence.left-header + |simple-page-sequence.right-footer + |simple-page-sequence.center-footer + |simple-page-sequence.left-footer)*, + %flow;) +> + +<!ELEMENT simple-page-sequence.left-header %flow;> +<!ELEMENT simple-page-sequence.right-header %flow;> +<!ELEMENT simple-page-sequence.center-header %flow;> +<!ELEMENT simple-page-sequence.left-footer %flow;> +<!ELEMENT simple-page-sequence.right-footer %flow;> +<!ELEMENT simple-page-sequence.center-footer %flow;> + +<!ENTITY % hf " + front %boolean; #IMPLIED + first %boolean; #IMPLIED +"> + +<!ATTLIST simple-page-sequence.right-header %hf;> +<!ATTLIST simple-page-sequence.center-header %hf;> +<!ATTLIST simple-page-sequence.left-footer %hf;> +<!ATTLIST simple-page-sequence.right-footer %hf;> +<!ATTLIST simple-page-sequence.center-footer %hf;> + +<!ELEMENT table +(table.before-row-border, table.after-row-border, + table.before-column-border, table.after-column-border, + %flow;)> + +<!ELEMENT table.before-row-border EMPTY> +<!ELEMENT table.after-row-border EMPTY> +<!ELEMENT table.before-column-border EMPTY> +<!ELEMENT table.after-column-border EMPTY> + +<!ELEMENT table-part + (table-part.principal, table-part.header, table-part.footer) +> + +<!ELEMENT table-part.header %flow;> +<!ELEMENT table-part.footer %flow;> +<!ELEMENT table-part.principal %flow;> + +<!ELEMENT table-cell +(table-cell.before-row-border, table-cell.after-row-border, + table-cell.before-column-border, table-cell.after-column-border, + %flow;)> + +<!ELEMENT table-cell.before-row-border EMPTY> +<!ELEMENT table-cell.after-row-border EMPTY> +<!ELEMENT table-cell.before-column-border EMPTY> +<!ELEMENT table-cell.after-column-border EMPTY> + +<!ELEMENT fraction + (fraction.fraction-bar, fraction.numerator, fraction.denominator)> +<!ELEMENT fraction.numerator %flow;> +<!ELEMENT fraction.denominator %flow;> +<!ELEMENT fraction.fraction-bar EMPTY> + +<!ELEMENT script (script.principal, + script.pre-sup, script.pre-sub, + script.post-sup, script.post-sub, + script.mid-sup, script.mid-sub)> + +<!ELEMENT script.principal %flow;> +<!ELEMENT script.pre-sup %flow;> +<!ELEMENT script.pre-sub %flow;> +<!ELEMENT script.post-sup %flow;> +<!ELEMENT script.post-sub %flow;> +<!ELEMENT script.mid-sup %flow;> +<!ELEMENT script.mid-sub %flow;> + +<!ELEMENT mark (mark.principal, mark.over-mark, mark.under-mark)> +<!ELEMENT mark.principal %flow;> +<!ELEMENT mark.over-mark %flow;> +<!ELEMENT mark.under-mark %flow;> + +<!ELEMENT fence (fence.principal, fence.open, fence.close)> +<!ELEMENT fence.principal %flow;> +<!ELEMENT fence.open %flow;> +<!ELEMENT fence.close %flow;> + +<!ELEMENT radical (radical.radical?, radical.principal, radical.degree)> +<!ELEMENT radical.principal %flow;> +<!ELEMENT radical.degree %flow;> +<!ELEMENT radical.radical EMPTY> + +<!ELEMENT math-operator (math-operator.principal, math-operator.operator, + math-operator.lower-limit, math-operator.upper-limit)> +<!ELEMENT math-operator.principal %flow;> +<!ELEMENT math-operator.operator %flow;> +<!ELEMENT math-operator.lower-limit %flow;> +<!ELEMENT math-operator.upper-limit %flow;> + +<!ELEMENT multi-mode (multi-mode.mode, multi-mode.mode+)> +<!ELEMENT multi-mode.mode %flow;> +<!ATTLIST multi-mode.mode + name CDATA #IMPLIED + desc CDATA #IMPLIED +> + +<!ENTITY % inherited-characteristics " +font-size %length; #IMPLIED +font-family-name CDATA #IMPLIED +font-weight %enum-or-boolean; #IMPLIED +font-posture %enum-or-boolean; #IMPLIED +start-indent %length-spec; #IMPLIED +end-indent %length-spec; #IMPLIED +first-line-start-indent %length-spec; #IMPLIED +last-line-end-indent %length-spec; #IMPLIED +line-spacing %length-spec; #IMPLIED +min-pre-line-spacing %opt-length-spec; #IMPLIED +min-post-line-spacing %opt-length-spec; #IMPLIED +min-leading %opt-length-spec; #IMPLIED +field-width %length-spec; #IMPLIED +lines %enum; #IMPLIED +quadding %enum; #IMPLIED +display-alignment %enum; #IMPLIED +field-align %enum; #IMPLIED +marginalia-side %enum; #IMPLIED +principal-mode-simultaneous %boolean; #IMPLIED +marginalia-sep %length-spec; #IMPLIED +marginalia-keep-with-previous %boolean; #IMPLIED +grid-equidistant-rows %boolean; #IMPLIED +grid-equidistant-columns %boolean; #IMPLIED +color CDATA #IMPLIED +background-color CDATA #IMPLIED +page-width %length; #IMPLIED +page-height %length; #IMPLIED +left-margin %length; #IMPLIED +right-margin %length; #IMPLIED +top-margin %length; #IMPLIED +bottom-margin %length; #IMPLIED +header-margin %length; #IMPLIED +footer-margin %length; #IMPLIED +border-present %boolean; #IMPLIED +hyphenate %boolean; #IMPLIED +kern %boolean; #IMPLIED +ligature %boolean; #IMPLIED +score-spaces %boolean; #IMPLIED +float-out-marginalia %boolean; #IMPLIED +float-out-sidelines %boolean; #IMPLIED +float-out-line-numbers %boolean; #IMPLIED +cell-background %boolean; #IMPLIED +span-weak %boolean; #IMPLIED +ignore-record-end %boolean; #IMPLIED +numbered-lines %boolean; #IMPLIED +hanging-punct %boolean; #IMPLIED +box-open-end %boolean; #IMPLIED +truncate-leader %boolean; #IMPLIED +align-leader %boolean; #IMPLIED +table-part-omit-middle-header %boolean; #IMPLIED +table-part-omit-middle-footer %boolean; #IMPLIED +border-omit-at-break %boolean; #IMPLIED +line-join %enum; #IMPLIED +line-cap %enum; #IMPLIED +line-number-side %enum; #IMPLIED +kern-mode %enum; #IMPLIED +input-whitespace-treatment %enum; #IMPLIED +filling-direction %enum; #IMPLIED +writing-mode %enum; #IMPLIED +last-line-quadding %enum; #IMPLIED +math-display-mode %enum; #IMPLIED +script-pre-align %enum; #IMPLIED +script-post-align %enum; #IMPLIED +script-mid-sup-align %enum; #IMPLIED +script-mid-sub-align %enum; #IMPLIED +numerator-align %enum; #IMPLIED +denominator-align %enum; #IMPLIED +grid-position-cell-type %enum; #IMPLIED +grid-column-alignment %enum; #IMPLIED +grid-row-Alignment %enum; #IMPLIED +box-type %enum; #IMPLIED +glyph-alignment-mode %enum; #IMPLIED +box-border-alignment %enum; #IMPLIED +cell-row-alignment %enum; #IMPLIED +border-alignment %enum; #IMPLIED +sideline-side %enum; #IMPLIED +hyphenation-keep %enum-or-boolean; #IMPLIED +font-structure %enum-or-boolean; #IMPLIED +font-proportionate-width %enum-or-boolean; #IMPLIED +cell-crossed %enum-or-boolean; #IMPLIED +position-point-shift %length-spec; #IMPLIED +start-margin %length-spec; #IMPLIED +end-margin %length-spec; #IMPLIED +sideline-sep %length-spec; #IMPLIED +asis-wrap-indent %length-spec; #IMPLIED +line-number-sep %length-spec; #IMPLIED +last-line-justify-limit %length-spec; #IMPLIED +justify-glyph-space-max-add %length-spec; #IMPLIED +justify-glyph-space-max-remove %length-spec; #IMPLIED +table-corner-radius %length-spec; #IMPLIED +box-corner-radius %length-spec; #IMPLIED +line-thickness %length; #IMPLIED +cell-before-row-margin %length; #IMPLIED +cell-after-row-margin %length; #IMPLIED +cell-before-column-margin %length; #IMPLIED +cell-after-column-margin %length; #IMPLIED +line-sep %length; #IMPLIED +box-size-before %length; #IMPLIED +box-size-after %length; #IMPLIED +country NMTOKEN #IMPLIED +language NMTOKEN #IMPLIED +expand-tabs NMTOKEN #IMPLIED +hyphenation-ladder-count NMTOKEN #IMPLIED +layer NMTOKEN #IMPLIED +background-layer NMTOKEN #IMPLIED +border-priority NMTOKEN #IMPLIED +line-repeat NMTOKEN #IMPLIED +span NMTOKEN #IMPLIED +min-leader-repeat NMTOKEN #IMPLIED +hyphenation-remain-char-count NMTOKEN #IMPLIED +hyphenation-push-char-count NMTOKEN #IMPLIED +widow-count NMTOKEN #IMPLIED +orphan-count NMTOKEN #IMPLIED +background-tile CDATA #IMPLIED +line-breaking-method CDATA #IMPLIED +line-composition-method CDATA #IMPLIED +implicit-bidi-method CDATA #IMPLIED +glyph-subst-method CDATA #IMPLIED +glyph-reorder-method CDATA #IMPLIED +hyphenation-method CDATA #IMPLIED +table-auto-width-method CDATA #IMPLIED +font-name CDATA #IMPLIED +escapement-space-before CDATA #IMPLIED +escapement-space-after CDATA #IMPLIED +glyph-subst-table NMTOKENS #IMPLIED +"> + +<!ENTITY % display-nic " + position-preference %enum-or-boolean; #IMPLIED + keep-with-next %boolean; 'false' + keep-with-previous %boolean; 'false' + may-violate-keep-before %boolean; 'false' + may-violate-keep-after %boolean; 'false' + keep %enum-or-boolean; #IMPLIED + break-before %enum-or-boolean; #IMPLIED + break-after %enum-or-boolean; #IMPLIED + space-before CDATA #IMPLIED + space-before-conditional %boolean; #IMPLIED + space-before-priority NMTOKEN #IMPLIED + space-after CDATA #IMPLIED + space-after-conditional %boolean; #IMPLIED + space-after-priority NMTOKEN #IMPLIED +"> + +<!ENTITY % inline-nic " + break-before-priority NMTOKEN #IMPLIED + break-after-priority NMTOKEN #IMPLIED +"> + +<!ATTLIST sequence %inherited-characteristics;> +<!ATTLIST line-field %inherited-characteristics;> +<!ATTLIST simple-page-sequence %inherited-characteristics;> +<!ATTLIST fraction %inherited-characteristics;> +<!ATTLIST fraction.fraction-bar %inherited-characteristics;> +<!ATTLIST math-sequence %inherited-characteristics;> +<!ATTLIST unmath %inherited-characteristics;> +<!ATTLIST subscript %inherited-characteristics;> +<!ATTLIST superscript %inherited-characteristics;> +<!ATTLIST script %inherited-characteristics;> +<!ATTLIST mark %inherited-characteristics;> +<!ATTLIST fence %inherited-characteristics;> +<!ATTLIST radical %inherited-characteristics;> +<!ATTLIST math-operator %inherited-characteristics;> +<!ATTLIST sideline %inherited-characteristics;> +<!ATTLIST scroll %inherited-characteristics;> +<!ATTLIST marginalia %inherited-characteristics;> +<!ATTLIST multi-mode %inherited-characteristics;> +<!ATTLIST table-row %inherited-characteristics;> +<!ATTLIST table.before-row-border %inherited-characteristics;> +<!ATTLIST table.after-row-border %inherited-characteristics;> +<!ATTLIST table.before-column-border %inherited-characteristics;> +<!ATTLIST table.after-column-border %inherited-characteristics;> +<!ATTLIST table-cell.before-row-border %inherited-characteristics;> +<!ATTLIST table-cell.after-row-border %inherited-characteristics;> +<!ATTLIST table-cell.before-column-border %inherited-characteristics;> +<!ATTLIST table-cell.after-column-border %inherited-characteristics;> + +<!ATTLIST table-column + column-number NMTOKEN #REQUIRED + n-columns-spanned NMTOKEN #IMPLIED + width %length-spec; #IMPLIED + %inherited-characteristics; +> + +<!ATTLIST table + width %length-spec; #IMPLIED + minimum-width %boolean; "false" + %display-nic; + %inherited-characteristics; +> + +<!-- column-number of 0 has a special meaning: it identifies a dummy cell that + can be used to fill out the row if it later proves necessary to do so --> +<!ATTLIST table-cell + column-number NMTOKEN #REQUIRED + n-columns-spanned NMTOKEN #IMPLIED + n-rows-spanned NMTOKEN #IMPLIED + %inherited-characteristics; +> + +<!ATTLIST link + destination CDATA #IMPLIED + %inherited-characteristics; +> + +<!ATTLIST box + display %boolean; "false" + %display-nic; + %inline-nic; + %inherited-characteristics; +> + +<!ATTLIST score + type (before|through|after|char) #IMPLIED + type.length-spec %length-spec; #IMPLIED + char CDATA #IMPLIED + %inherited-characteristics; +> + +<!ATTLIST leader + length %length-spec; #IMPLIED + %inherited-characteristics; + %inline-nic; +> + +<!ATTLIST rule + orientation (horizontal|vertical|escapement|line-progression) + #REQUIRED + length %length-spec; #IMPLIED + %display-nic; + %inline-nic; + %inherited-characteristics; +> + +<!ATTLIST external-graphic + display %boolean; "false" + scale %enum; #IMPLIED + scale-x NMTOKEN #IMPLIED + scale-y NMTOKEN #IMPLIED + max-width %length-spec; #IMPLIED + max-height %length-spec; #IMPLIED + entity-system-id CDATA #REQUIRED + notation-system-id CDATA #REQUIRED + escapement-direction %enum; #IMPLIED + position-point-x %length-spec; #IMPLIED + position-point-y %length-spec; #IMPLIED + %inline-nic; + %display-nic; + %inherited-characteristics; +> + +<!ATTLIST display-group + coalesce-id CDATA #IMPLIED + %display-nic; + %inherited-characteristics; +> + +<!ATTLIST paragraph + %display-nic; + %inherited-characteristics; +> + +<!ATTLIST paragraph-break + %display-nic; + %inherited-characteristics; +> + +<!ATTLIST table-part + %display-nic; + %inherited-characteristics; +> + +<!ENTITY % character-c " + char CDATA #IMPLIED + glyph-id CDATA #IMPLIED + drop-after-line-break %boolean; #IMPLIED + drop-unless-before-line-break %boolean; #IMPLIED + punct %boolean; #IMPLIED + space %boolean; #IMPLIED + input-tab %boolean; #IMPLIED + input-whitespace %boolean; #IMPLIED + record-end %boolean; #IMPLIED + break-before-priority NMTOKEN #IMPLIED + break-after-priority NMTOKEN #IMPLIED + math-font-posture %enum-or-boolean; #IMPLIED + math-class %enum; #IMPLIED + script CDATA #IMPLIED + %inherited-characteristics;"> + +<!ATTLIST character %character-c;> +<!ATTLIST radical.radical %character-c;> + +<!ATTLIST grid + grid-n-columns NMTOKEN #IMPLIED + grid-n-rows NMTOKEN #IMPLIED + %inherited-characteristics; +> + +<!ATTLIST grid-cell + column-number NMTOKEN #IMPLIED + row-number NMTOKEN #IMPLIED + %inherited-characteristics; +> diff --git a/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/frisotab1exa1.xsl b/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/frisotab1exa1.xsl new file mode 100644 index 00000000000..672b36e5a42 --- /dev/null +++ b/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/frisotab1exa1.xsl @@ -0,0 +1,17 @@ +<?xml version='1.0' encoding="ISO-8859-1"?> +<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> + +<xsl:output method="text" encoding="ISO-8859-1"/> + +<xsl:template match="/listeDesPays"> +<xsl:for-each select="pays"> +<xsl:value-of select="nomComplet"/> +<xsl:text> (</xsl:text> +<xsl:value-of select="nomISO"/> +<xsl:text>) et la capitale </xsl:text> +<xsl:value-of select="capitale"/> +<xsl:text>.
</xsl:text><!-- retour à la ligne --> +</xsl:for-each> +</xsl:template> + +</xsl:stylesheet> diff --git a/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/frisotab1exa2.xsl b/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/frisotab1exa2.xsl new file mode 100644 index 00000000000..cafaad4ca96 --- /dev/null +++ b/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/frisotab1exa2.xsl @@ -0,0 +1,48 @@ +<?xml version='1.0' encoding="ISO-8859-1"?> +<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> + +<xsl:output method="text" encoding="ISO-8859-1"/> + +<xsl:template match="/listeDesPays"> +<xsl:for-each select="pays"> + <xsl:sort select="capitale"/> + <xsl:if test="string(capitale) != '-'"> + <xsl:value-of select="capitale"/> + <xsl:variable name="Nom" select="string(nomComplet)"/> + <xsl:choose> + <xsl:when test="substring($Nom,1,3) = 'les'"> + <xsl:text> est la capitale des </xsl:text> + <xsl:value-of select="substring-after($Nom,' ')"/> + </xsl:when> + <xsl:when test="substring($Nom,1,3) = 'le '"> + <xsl:text> est la capitale du </xsl:text> + <xsl:value-of select="substring-after($Nom,' ')"/> + </xsl:when> + <xsl:when test="substring($Nom,1,3) = 'la '"> + <xsl:text> est la capitale de </xsl:text> + <xsl:value-of select="$Nom"/> + </xsl:when> + <xsl:when test='substring($Nom,1,2) = "l'"'> + <xsl:text> est la capitale de </xsl:text> + <xsl:value-of select="$Nom"/> + </xsl:when> + <xsl:otherwise> + <xsl:variable name="L1" select="substring($Nom,1,1)"/> + <xsl:choose> + <xsl:when test="$L1 = 'A' or $L1 = 'E' or $L1 = 'I' or + $L1 = 'O' or $L1 = 'U' or $L1 = 'Y'"> + <xsl:text> est la capitale de l'</xsl:text> + </xsl:when> + <xsl:otherwise> + <xsl:text> est la capitale de </xsl:text> + </xsl:otherwise> + </xsl:choose> + <xsl:value-of select="$Nom"/> + </xsl:otherwise> + </xsl:choose> + <xsl:text>.
</xsl:text><!-- retour à la ligne --> + </xsl:if> +</xsl:for-each> +</xsl:template> + +</xsl:stylesheet> diff --git a/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/inv1html.pl b/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/inv1html.pl new file mode 100644 index 00000000000..0f1e0d4e380 --- /dev/null +++ b/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/inv1html.pl @@ -0,0 +1,61 @@ +######################################################################## +# SGMLSPL script produced automatically by the script sgmlspl.pl +# +# Document Type: inv1html.pl (for HTML/CSS formatting) +# Edited by: mg (24 Aug 98) +######################################################################## + +use SGMLS; # Use the SGMLS package. +use SGMLS::Output; # Use stack-based output. + +# +# Document Handlers. +# +sgml('start', "<HTML>\n<HEAD>\n" . + "<TITLE> Invitation (sgmlpl/CSS formatting) </TITLE>\n" . + "<LINK href=\"invit.css\" rel=\"style-sheet\" type=\"text/css\">\n" . + "<!-- 24 August 1998 mg -->\n" . + "</HEAD>\n"); +sgml('end', "</HTML>"); + +# +# Element Handlers. +# + +sgml('<invitation>', "<BODY>\n<H1>INVITATION</H1>\n"); +sgml('</invitation>', "</BODY>\n"); + +sgml('<front>', "<P><TABLE>\n<TBODY>\n"); +sgml('</front>', "</TBODY>\n</TABLE>\n"); + +sgml('<to>', "<TR><TD class=\"front\">To: </TD>\n<TD>"); +sgml('</to>', "</TD></TR>\n"); + +sgml('<date>', "<TR><TD class=\"front\">When: </TD>\n<TD>"); +sgml('</date>', "</TD></TR>\n"); + +sgml('<where>', "<TR><TD class=\"front\">Venue: </TD>\n<TD>"); +sgml('</where>', "</TD></TR>\n"); + +sgml('<why>', "<TR><TD class=\"front\">Occasion: </TD>\n<TD>"); +sgml('</why>', "</TD></TR>\n"); + +sgml('<body>', ""); +sgml('</body>', ""); + +sgml('<par>', "<P>"); +sgml('</par>', "</P>\n"); + +sgml('<emph>', "<EM>"); +sgml('</emph>', "</EM>"); + +sgml('<back>', ""); +sgml('</back>', ""); + +sgml('<signature>', "<P CLASS=\"signature\">"); +sgml('</signature>', "</P>\n"); + +sgml('start_element',sub { die "Unknown element: " . $_[0]->name; }); +sgml('cdata',sub { output $_[0]; }); + +1; diff --git a/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/inv2css.html.save b/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/inv2css.html.save new file mode 100644 index 00000000000..9615cdb76cb --- /dev/null +++ b/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/inv2css.html.save @@ -0,0 +1,44 @@ +<HTML> +<HEAD> +<TITLE> Invitation (sgmlpl/CSS formatting) </TITLE> +<LINK href="invit.css" rel="style-sheet" type="text/css"> +<!-- 24 August 1998 mg --> +</HEAD> +<BODY> +<H1>INVITATION</H1> +<P><TABLE> +<TBODY> +<TR><TD class="front">To: </TD> +<TD>Anna, Bernard, Didier, Johanna</TD></TR> +<TR><TD class="front">When: </TD> +<TD>Next Friday Evening at 8 pm</TD></TR> +<TR><TD class="front">Venue: </TD> +<TD>The Web Cafe</TD></TR> +<TR><TD class="front">Occasion: </TD> +<TD>My first XML baby</TD></TR> +</TBODY> +</TABLE> +<P> + +I would like to invite you all to celebrate + +the birth of <EM>Invitation</EM>, my + +first XML document child. + +</P> +<P> + +Please do your best to come and join me next Friday + +evening. And, do not forget to bring your friends. + +</P> +<P> + +I <EM>really</EM> look forward to see you soon! + +</P> +<P CLASS="signature">Michel</P> +</BODY> +</HTML>
\ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/inv2html.pl b/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/inv2html.pl new file mode 100644 index 00000000000..42637a1276c --- /dev/null +++ b/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/inv2html.pl @@ -0,0 +1,61 @@ +######################################################################## +# SGMLSPL script produced automatically by the script sgmlspl.pl +# +# Document Type: inv2html.pl (for HTML/CSS formatting) +# Edited by: mg (25 Aug 1998) +######################################################################## + +use SGMLS; # Use the SGMLS package. +use SGMLS::Output; # Use stack-based output. + +# +# Document Handlers. +# +sgml('start', sub { + output "<HTML>\n<HEAD>\n"; + output "<TITLE> Invitation (sgmlpl/CSS formatting) </TITLE>\n"; + output "<LINK href=\"invit.css\" rel=\"style-sheet\" type=\"text/css\">\n"; + output "<!-- 24 August 1998 mg -->\n"; + output "</HEAD>\n"; +}); +sgml('end', "</HTML>"); + +# +# Element Handlers. +# + +# Element: invitation +sgml('<invitation>', sub { + my ($element,$event) = @_; + # First save the information for further use + # Local variables + my $date = $element->attribute('date')->value; + my $to = $element->attribute('to')->value; + my $where = $element->attribute('where')->value; + my $why = $element->attribute('why')->value; + # Global variable (saved for end of document) + $main::GLsig = $element->attribute('signature')->value; + # Output the HTML commands needed for the front matter + output "<BODY>\n<H1>INVITATION</H1>\n"; + output "<P><TABLE>\n<TBODY>\n"; + output "<TR><TD class=\"front\">To: </TD>\n<TD>$to</TD></TR>\n"; + output "<TR><TD class=\"front\">When: </TD>\n<TD>$date</TD></TR>\n"; + output "<TR><TD class=\"front\">Venue: </TD>\n<TD>$where</TD></TR>\n"; + output "<TR><TD class=\"front\">Occasion: </TD>\n<TD>$why</TD></TR>\n"; + output "</TBODY>\n</TABLE>\n"; +}); + +sgml('</invitation>', sub{ # signature and end of document + output "<P CLASS=\"signature\">$main::GLsig</P>\n"; + output "</BODY>\n"; +}); + +# Elements: par and emph +sgml('<par>', "<P>"); +sgml('</par>', "</P>\n"); + +sgml('<emph>', "<EM>"); +sgml('</emph>', "</EM>"); + +sgml('cdata',sub { output $_[0]; }); +1; diff --git a/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/inv2lat.pl b/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/inv2lat.pl new file mode 100644 index 00000000000..89e2f42015f --- /dev/null +++ b/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/inv2lat.pl @@ -0,0 +1,76 @@ +######################################################################## +# SGMLSPL script produced automatically by the script sgmlspl.pl +# +# Document Type: invitation --> customization for LaTeX +# Edited by: mg (August 14th 1998) +######################################################################## + +use SGMLS; # Use the SGMLS package. +use SGMLS::Output; # Use stack-based output. + +# +# Document Handlers. +# +sgml('start', sub {}); +sgml('end', sub {}); + +# +# Element Handlers. +# + +# Element: invitation +sgml('<invitation>', "\\documentclass[]{article}\n" . + "\\usepackage{invitation}\n" . + "\\begin{document}\n"); +sgml('</invitation>', "\\end{document}\n"); + +# Element: front +sgml('<front>', "\\begin{Front}\n"); +sgml('</front>', "\\end{Front}\n"); + +# Element: to +sgml('<to>', "\\To{"); +sgml('</to>', "}\n"); + +# Element: date +sgml('<date>', "\\Date{"); +sgml('</date>', "}\n"); + +# Element: where +sgml('<where>', "\\Where{"); +sgml('</where>', "}\n"); + +# Element: why +sgml('<why>', "\\Why{"); +sgml('</why>', "}\n"); + +# Element: body +sgml('<body>', "\\begin{Body}\n"); +sgml('</body>', "\\end{Body}\n"); + +# Element: par +sgml('<par>', "\\par "); +sgml('</par>', "\n"); + +# Element: emph +sgml('<emph>', "\\emph{"); +sgml('</emph>', "}"); + +# Element: back +sgml('<back>', "\\begin{Back}\n"); +sgml('</back>', "\\end{Back}\n"); + +# Element: signature +sgml('<signature>', "\\Signature{"); +sgml('</signature>', "}\n"); +# +# Default handlers +# +sgml('start_element',sub { die "Unknown element: " . $_[0]->name; }); +sgml('cdata',sub { output $_[0]; }); +sgml('re'," "); +sgml('pi',sub { die "Unknown processing instruction: " . $_[0]; }); +sgml('entity',sub { die "Unknown external entity: " . $_[0]->name; }); +sgml('conforming',''); + +1; diff --git a/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/inv3.xml b/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/inv3.xml new file mode 100644 index 00000000000..2080967a5da --- /dev/null +++ b/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/inv3.xml @@ -0,0 +1,21 @@ +<?xml version="1.0"?> +<!DOCTYPE invitation SYSTEM "invitation2.dtd"> +<invitation to="Anna, Bernard, Didier, Johanna" + date="Next Friday Evening at 8 pm" + where="The <emph>Web</emph> Cafe" + why="My first XML baby" + signature="Michel" +> +<par> +I would like to invite you all to celebrate +the birth of <emph>Invitation</emph>, my +first XML document child. +</par> +<par> +Please do your best to come and join me next Friday +evening. And, do not forget to bring your friends. +</par> +<par> +I <emph>really</emph> look forward to see you soon! +</par> +</invitation> diff --git a/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/invcss.html.save b/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/invcss.html.save new file mode 100644 index 00000000000..9615cdb76cb --- /dev/null +++ b/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/invcss.html.save @@ -0,0 +1,44 @@ +<HTML> +<HEAD> +<TITLE> Invitation (sgmlpl/CSS formatting) </TITLE> +<LINK href="invit.css" rel="style-sheet" type="text/css"> +<!-- 24 August 1998 mg --> +</HEAD> +<BODY> +<H1>INVITATION</H1> +<P><TABLE> +<TBODY> +<TR><TD class="front">To: </TD> +<TD>Anna, Bernard, Didier, Johanna</TD></TR> +<TR><TD class="front">When: </TD> +<TD>Next Friday Evening at 8 pm</TD></TR> +<TR><TD class="front">Venue: </TD> +<TD>The Web Cafe</TD></TR> +<TR><TD class="front">Occasion: </TD> +<TD>My first XML baby</TD></TR> +</TBODY> +</TABLE> +<P> + +I would like to invite you all to celebrate + +the birth of <EM>Invitation</EM>, my + +first XML document child. + +</P> +<P> + +Please do your best to come and join me next Friday + +evening. And, do not forget to bring your friends. + +</P> +<P> + +I <EM>really</EM> look forward to see you soon! + +</P> +<P CLASS="signature">Michel</P> +</BODY> +</HTML>
\ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/invfo1.fo b/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/invfo1.fo new file mode 100644 index 00000000000..5093f5ee464 --- /dev/null +++ b/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/invfo1.fo @@ -0,0 +1,4 @@ +<fo:root xmlns:fo="http://www.w3.org/XSL/Format/1.0"><fo:layout-master-set><fo:simple-page-master page-master-name="allpages" margin-top="75pt" margin-bottom="125pt" margin-left="80pt" margin-right="150pt"><fo:region-body margin-bottom="100pt"/><fo:region-after extent="25pt"/></fo:simple-page-master></fo:layout-master-set><fo:page-sequence><fo:sequence-specification><fo:sequence-specifier-repeating page-master-first="allpages" page-master-repeating="allpages"/></fo:sequence-specification><fo:flow font-family="serif"><fo:block font-family="sans-serif" font-size="24pt" font-weight="bold" text-align-last="centered" space-after.optimum="24pt" xmlns:fo="http://www.w3.org/1999/XSL/Format">INVITATION</fo:block><fo:list-block provisional-distance-between-starts="2cm" provisional-label-separation="6pt" xmlns:fo="http://www.w3.org/1999/XSL/Format"><fo:list-item id="listto"><fo:list-item-label font-style="italic"><fo:block>To:</fo:block></fo:list-item-label><fo:list-item-body><fo:block>Anna, Bernard, Didier, Johanna</fo:block></fo:list-item-body></fo:list-item><fo:list-item id="listdate"><fo:list-item-label font-style="italic"><fo:block>When:</fo:block></fo:list-item-label><fo:list-item-body><fo:block>Next Friday Evening at 8 pm</fo:block></fo:list-item-body></fo:list-item><fo:list-item id="listwhere"><fo:list-item-label font-style="italic"><fo:block>Venue:</fo:block></fo:list-item-label><fo:list-item-body><fo:block>The Web Cafe</fo:block></fo:list-item-body></fo:list-item><fo:list-item id="listwhy"><fo:list-item-label font-style="italic"><fo:block>Occasion:</fo:block></fo:list-item-label><fo:list-item-body><fo:block>My first XML baby</fo:block></fo:list-item-body></fo:list-item></fo:list-block><fo:block space-before.optimum="12pt" xmlns:fo="http://www.w3.org/1999/XSL/Format">I would like to invite you all to celebrate +the birth of <fo:inline-sequence font-style="italic">Invitation</fo:inline-sequence>, my +first XML document child.</fo:block><fo:block space-before.optimum="12pt" xmlns:fo="http://www.w3.org/1999/XSL/Format">Please do your best to come and join me next Friday +evening. And, do not forget to bring your friends.</fo:block><fo:block space-before.optimum="12pt" xmlns:fo="http://www.w3.org/1999/XSL/Format">I <fo:inline-sequence font-style="italic">really</fo:inline-sequence> look forward to see you soon!</fo:block><fo:block space-before.optimum="12pt" font-weight="bold" text-align-last="end" xmlns:fo="http://www.w3.org/1999/XSL/Format">From: Michel</fo:block></fo:flow></fo:page-sequence></fo:root>
\ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/invfo1.xsl b/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/invfo1.xsl new file mode 100644 index 00000000000..2653e9296b1 --- /dev/null +++ b/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/invfo1.xsl @@ -0,0 +1,118 @@ +<?xml version='1.0'?> +<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:fo="http://www.w3.org/1999/XSL/Format"> + +<xsl:strip-space elements="*"/> + +<!-- Parameterizations --> + +<xsl:variable name="PageMarginTop">75pt</xsl:variable> +<xsl:variable name="PageMarginBottom">125pt</xsl:variable> +<xsl:variable name="PageMarginLeft">80pt</xsl:variable> +<xsl:variable name="PageMarginRight">150pt</xsl:variable> +<xsl:variable name="BodyFont">Times-Roman</xsl:variable> +<xsl:variable name="BodySize">12pt</xsl:variable> +<xsl:variable name="TypeWriterFont">Computer-Modern-Typewriter</xsl:variable> +<xsl:variable name="SansFont">Helvetica</xsl:variable> +<xsl:variable name="ListRightMargin">12pt</xsl:variable> +<xsl:variable name="ListAbove">12pt</xsl:variable> +<xsl:variable name="ListBelow">12pt</xsl:variable> +<xsl:variable name="ListNormalIndent">15pt</xsl:variable> +<xsl:variable name="BulletOne">•</xsl:variable> + +<xsl:template name="listitem"> + <xsl:param name="labeltext">labeltext</xsl:param> + <xsl:param name="itemid">itemid</xsl:param> + <xsl:param name="itemtext">itemtext</xsl:param> + <fo:list-item id="{$itemid}"> + <fo:list-item-label font-style="italic"> + <fo:block> + <xsl:value-of select="$labeltext"/> + <xsl:text>:</xsl:text> + </fo:block> + </fo:list-item-label> + <fo:list-item-body> + <fo:block><xsl:value-of select="$itemtext"/></fo:block> + </fo:list-item-body> + </fo:list-item> +</xsl:template> + +<xsl:template match='/'> + <fo:root> + <fo:layout-master-set> + <fo:simple-page-master + page-master-name="allpages" + margin-top="{$PageMarginTop}" + margin-bottom="{$PageMarginBottom}" + margin-left="{$PageMarginLeft}" + margin-right="{$PageMarginRight}"> + <fo:region-body margin-bottom="100pt"/> + <fo:region-after extent="25pt"/> + </fo:simple-page-master> + </fo:layout-master-set> + <fo:page-sequence> + <fo:sequence-specification> + <fo:sequence-specifier-repeating + page-master-first="allpages" + page-master-repeating="allpages"/> + </fo:sequence-specification> + <fo:flow font-family="serif"> + <xsl:apply-templates/> + </fo:flow> + </fo:page-sequence> + </fo:root> +</xsl:template> + +<xsl:template match="invitation/front"> +<fo:block font-family="sans-serif" font-size="24pt" + font-weight="bold" text-align-last="centered" + space-after.optimum="24pt"> + <xsl:text>INVITATION</xsl:text> +</fo:block> + +<fo:list-block provisional-distance-between-starts="2cm" + provisional-label-separation="6pt"> + <xsl:call-template name="listitem"> + <xsl:with-param name="labeltext">To</xsl:with-param> + <xsl:with-param name="itemid">listto</xsl:with-param> + <xsl:with-param name="itemtext"><xsl:value-of select="to"/></xsl:with-param> + </xsl:call-template> + <xsl:call-template name="listitem"> + <xsl:with-param name="labeltext">When</xsl:with-param> + <xsl:with-param name="itemid">listdate</xsl:with-param> + <xsl:with-param name="itemtext"><xsl:value-of select="date"/></xsl:with-param> + </xsl:call-template> + <xsl:call-template name="listitem"> + <xsl:with-param name="labeltext">Venue</xsl:with-param> + <xsl:with-param name="itemid">listwhere</xsl:with-param> + <xsl:with-param name="itemtext" select="where"/> + </xsl:call-template> + <xsl:call-template name="listitem"> + <xsl:with-param name="labeltext">Occasion</xsl:with-param> + <xsl:with-param name="itemid">listwhy</xsl:with-param> + <xsl:with-param name="itemtext"><xsl:value-of select="why"/></xsl:with-param> + </xsl:call-template> +</fo:list-block> +</xsl:template> + +<xsl:template match="invitation/body/par"> + <fo:block space-before.optimum="{$BodySize}"> + <xsl:apply-templates/> + </fo:block> +</xsl:template> + +<xsl:template match="invitation/body/par/emph"> + <fo:inline-sequence font-style="italic"> + <xsl:apply-templates/> + </fo:inline-sequence> +</xsl:template> + +<xsl:template match="invitation/back"> +<fo:block space-before.optimum="{$BodySize}" + font-weight="bold" text-align-last="end"> + <xsl:text>From: </xsl:text> + <xsl:value-of select="signature"/> +</fo:block> +</xsl:template> + +</xsl:stylesheet> diff --git a/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/invfop.pdf b/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/invfop.pdf new file mode 100644 index 00000000000..fa0c64df7ed --- /dev/null +++ b/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/invfop.pdf @@ -0,0 +1,247 @@ +%PDF-1.2 +1 0 obj +<< /Type /Catalog +/Pages 2 0 R >> +endobj +2 0 obj +<< /Type /Pages +/Count 1 +/Kids [ 18 0 R ] >> +endobj +3 0 obj +<< /Type /Info +/Producer (FOP 0.10.0) >> +endobj +4 0 obj +<< /Font << /F3 5 0 R +/F2 6 0 R +/F1 7 0 R +/F12 8 0 R +/F11 9 0 R +/F10 10 0 R +/F9 11 0 R +/F8 12 0 R +/F7 13 0 R +/F6 14 0 R +/F5 15 0 R +/F4 16 0 R +>> +/ProcSet [ /PDF /Text ] >> +endobj +5 0 obj +<< /Type /Font +/Subtype /Type1 +/Name /F3 +/BaseFont /Helvetica-Bold +/Encoding /WinAnsiEncoding >> +endobj +6 0 obj +<< /Type /Font +/Subtype /Type1 +/Name /F2 +/BaseFont /Helvetica-Oblique +/Encoding /WinAnsiEncoding >> +endobj +7 0 obj +<< /Type /Font +/Subtype /Type1 +/Name /F1 +/BaseFont /Helvetica +/Encoding /WinAnsiEncoding >> +endobj +8 0 obj +<< /Type /Font +/Subtype /Type1 +/Name /F12 +/BaseFont /Courier-BoldOblique +/Encoding /WinAnsiEncoding >> +endobj +9 0 obj +<< /Type /Font +/Subtype /Type1 +/Name /F11 +/BaseFont /Courier-Bold +/Encoding /WinAnsiEncoding >> +endobj +10 0 obj +<< /Type /Font +/Subtype /Type1 +/Name /F10 +/BaseFont /Courier-Oblique +/Encoding /WinAnsiEncoding >> +endobj +11 0 obj +<< /Type /Font +/Subtype /Type1 +/Name /F9 +/BaseFont /Courier +/Encoding /WinAnsiEncoding >> +endobj +12 0 obj +<< /Type /Font +/Subtype /Type1 +/Name /F8 +/BaseFont /Times-BoldItalic +/Encoding /WinAnsiEncoding >> +endobj +13 0 obj +<< /Type /Font +/Subtype /Type1 +/Name /F7 +/BaseFont /Times-Bold +/Encoding /WinAnsiEncoding >> +endobj +14 0 obj +<< /Type /Font +/Subtype /Type1 +/Name /F6 +/BaseFont /Times-Italic +/Encoding /WinAnsiEncoding >> +endobj +15 0 obj +<< /Type /Font +/Subtype /Type1 +/Name /F5 +/BaseFont /Times-Roman +/Encoding /WinAnsiEncoding >> +endobj +16 0 obj +<< /Type /Font +/Subtype /Type1 +/Name /F4 +/BaseFont /Helvetica-BoldOblique +/Encoding /WinAnsiEncoding >> +endobj +17 0 obj +<< /Length 2828 >> +stream +BT +1 0 0 1 80.0 717.0 Tm +/F3 24 Tf +1 0 0 1 184.996 704.568 Tm (INVITATION) Tj +/F6 12 Tf +1 0 0 1 80.0 671.004 Tm (To:) Tj +/F5 12 Tf +1 0 0 1 136.7 671.004 Tm (Anna,) Tj +1 0 0 1 168.692 671.004 Tm (Bernard,) Tj +1 0 0 1 213.344 671.004 Tm (Didier,) Tj +1 0 0 1 250.004 671.004 Tm (Johanna) Tj +/F6 12 Tf +1 0 0 1 80.0 657.804 Tm (When:) Tj +/F5 12 Tf +1 0 0 1 136.7 657.804 Tm (Next) Tj +1 0 0 1 163.028 657.804 Tm (Friday) Tj +1 0 0 1 197.36 657.804 Tm (Evening) Tj +1 0 0 1 240.356 657.804 Tm (at) Tj +1 0 0 1 252.02 657.804 Tm (8) Tj +1 0 0 1 261.02 657.804 Tm (pm) Tj +/F6 12 Tf +1 0 0 1 80.0 644.604 Tm (Venue:) Tj +/F5 12 Tf +1 0 0 1 136.7 644.604 Tm (The) Tj +1 0 0 1 158.36 644.604 Tm (Web) Tj +1 0 0 1 184.016 644.604 Tm (Cafe) Tj +/F6 12 Tf +1 0 0 1 80.0 631.404 Tm (Occasion:) Tj +/F5 12 Tf +1 0 0 1 136.7 631.404 Tm (My) Tj +1 0 0 1 156.368 631.404 Tm (first) Tj +1 0 0 1 178.7 631.404 Tm (XML) Tj +1 0 0 1 208.364 631.404 Tm (baby) Tj +1 0 0 1 80.0 606.204 Tm (I) Tj +1 0 0 1 86.996 606.204 Tm (would) Tj +1 0 0 1 119.996 606.204 Tm (like) Tj +1 0 0 1 140.996 606.204 Tm (to) Tj +1 0 0 1 153.332 606.204 Tm (invite) Tj +1 0 0 1 183.668 606.204 Tm (you) Tj +1 0 0 1 204.668 606.204 Tm (all) Tj +1 0 0 1 219.668 606.204 Tm (to) Tj +1 0 0 1 232.004 606.204 Tm (celebrate) Tj +1 0 0 1 278.312 606.204 Tm (the) Tj +1 0 0 1 295.976 606.204 Tm (birth) Tj +1 0 0 1 321.644 606.204 Tm (of) Tj +/F6 12 Tf +1 0 0 1 334.64 606.204 Tm (Invitation) Tj +/F5 12 Tf +1 0 0 1 381.308 606.204 Tm (,) Tj +1 0 0 1 387.308 606.204 Tm (my) Tj +1 0 0 1 405.644 606.204 Tm (first) Tj +1 0 0 1 80.0 593.004 Tm (XML) Tj +1 0 0 1 109.664 593.004 Tm (document) Tj +1 0 0 1 159.992 593.004 Tm (child.) Tj +1 0 0 1 80.0 567.804 Tm (Please) Tj +1 0 0 1 113.66 567.804 Tm (do) Tj +1 0 0 1 128.66 567.804 Tm (your) Tj +1 0 0 1 153.656 567.804 Tm (best) Tj +1 0 0 1 175.988 567.804 Tm (to) Tj +1 0 0 1 188.324 567.804 Tm (come) Tj +1 0 0 1 217.316 567.804 Tm (and) Tj +1 0 0 1 237.644 567.804 Tm (join) Tj +1 0 0 1 259.316 567.804 Tm (me) Tj +1 0 0 1 276.98 567.804 Tm (next) Tj +1 0 0 1 300.644 567.804 Tm (Friday) Tj +1 0 0 1 334.976 567.804 Tm (evening.) Tj +1 0 0 1 378.968 567.804 Tm (And,) Tj +1 0 0 1 405.632 567.804 Tm (do) Tj +1 0 0 1 80.0 554.604 Tm (not) Tj +1 0 0 1 98.336 554.604 Tm (forget) Tj +1 0 0 1 129.992 554.604 Tm (to) Tj +1 0 0 1 142.328 554.604 Tm (bring) Tj +1 0 0 1 170.66 554.604 Tm (your) Tj +1 0 0 1 195.656 554.604 Tm (friends.) Tj +1 0 0 1 80.0 529.404 Tm (I) Tj +/F6 12 Tf +1 0 0 1 86.996 529.404 Tm (really) Tj +/F5 12 Tf +1 0 0 1 114.992 529.404 Tm () Tj +1 0 0 1 117.992 529.404 Tm (look) Tj +1 0 0 1 142.328 529.404 Tm (forward) Tj +1 0 0 1 183.308 529.404 Tm (to) Tj +1 0 0 1 195.644 529.404 Tm (see) Tj +1 0 0 1 213.968 529.404 Tm (you) Tj +1 0 0 1 234.968 529.404 Tm (soon!) Tj +/F7 12 Tf +1 0 0 1 355.02 504.288 Tm (From:) Tj +1 0 0 1 390.672 504.288 Tm (Michel) Tj +1 0 0 1 80.0 150.0 Tm +ET + +endstream +endobj +18 0 obj +<< /Type /Page +/Parent 2 0 R +/MediaBox [ 0 0 576 792 ] +/Resources 4 0 R +/Contents 17 0 R >> +endobj +xref +0 19 +0000000000 65535 f +0000000009 00000 n +0000000058 00000 n +0000000118 00000 n +0000000174 00000 n +0000000361 00000 n +0000000473 00000 n +0000000588 00000 n +0000000695 00000 n +0000000813 00000 n +0000000924 00000 n +0000001039 00000 n +0000001145 00000 n +0000001260 00000 n +0000001369 00000 n +0000001480 00000 n +0000001590 00000 n +0000001710 00000 n +0000004590 00000 n +trailer +<< +/Size 19 +/Root 1 0 R +/Info 3 0 R +>> +startxref +4698 +%%EOF diff --git a/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/invhtml.dsl b/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/invhtml.dsl new file mode 100644 index 00000000000..6f4b7ac5b48 --- /dev/null +++ b/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/invhtml.dsl @@ -0,0 +1,90 @@ +<!DOCTYPE style-sheet PUBLIC "-//James Clark//DTD DSSSL Style-Sheet//EN"> +<style-sheet> +<style-specification> +<style-specification-body> +(declare-flow-object-class element + "UNREGISTERED::James Clark//Flow Object Class::element") +(declare-flow-object-class empty-element + "UNREGISTERED::James Clark//Flow Object Class::empty-element") +(declare-flow-object-class document-type + "UNREGISTERED::James Clark//Flow Object Class::document-type") + +(define FontSize 12pt) +(root + (make simple-page-sequence + left-margin: 25mm + page-width: 205mm + right-margin: 25mm + (make sequence + font-size: FontSize + line-spacing: FontSize + (make document-type + name: "HTML" + public-id: "-//W3C//DTD HTML 3.2//EN") + (make element gi: "HEAD" + (make element gi: "TITLE" + (literal "Invitation (XML to HTML transformation)")) + (make empty-element gi: "LINK" + attributes: (list (list "href" "invit.css") + (list "rel" "stylesheet") + (list "type" "text/css")))) + (make element gi: "BODY" + (make sequence + (make element gi: "H1" + (literal "INVITATION")) + (process-children)))))) + +(element (front) + (make element gi: "TABLE" + attributes: (list (list "border" "5") + (list "frame" "hsides") + (list "rules" "none") + (list "width" "100%")) + (process-children))) +(element (front date) + (make element gi: "TR" + (make sequence + (make element gi: "TD" + attributes: (list (list "class" "front")) + (literal "When: ")) + (make element gi: "TD" + (process-children))))) +(element (front to) + (make element gi: "TR" + (make sequence + (make element gi: "TD" + attributes: (list (list "class" "front")) + (literal "To: ")) + (make element gi: "TD" + (process-children))))) +(element (front where) + (make element gi: "TR" + (make sequence + (make element gi: "TD" + attributes: (list (list "class" "front")) + (literal "Venue: ")) + (make element gi: "TD" + (process-children))))) +(element (front why) + (make element gi: "TR" + (make sequence + (make element gi: "TD" + attributes: (list (list "class" "front")) + (literal "Occasion: ")) + (make element gi: "TD" + (process-children))))) +(element (body par) + (make element gi: "P" + (process-children))) +(element emph + (make element gi: "EM" + (process-children))) +(element (back signature) + (make element gi: "P" + attributes: (list (list "class" "signature")) + (make sequence + (literal "From: ") + (process-children)))) +</style-specification-body> +</style-specification> +</style-sheet> diff --git a/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/invhtml2.xsl b/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/invhtml2.xsl new file mode 100644 index 00000000000..f2be578fc5d --- /dev/null +++ b/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/invhtml2.xsl @@ -0,0 +1,42 @@ +<?xml version='1.0'?> +<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> + +<xsl:output method="html"/> +<xsl:preserve-space elements="*"/> + +<xsl:template match="invitation"> +<html> +<head> +<title> Invitation (XSL/CSS formatting) </title> +<link href="invit.css" rel="stylesheet" type="text/css"/> +<!-- 12 November 1998 mg --> +</head> +<body> +<h1>INVITATION</h1> +<table> +<tbody> +<tr><td class="front">To: </td> +<td><xsl:value-of select="@to"/></td></tr> +<tr><td class="front">When: </td> +<td><xsl:value-of select="@date"/></td></tr> +<tr><td class="front">Venue: </td> +<td><xsl:value-of select="@where"/></td></tr> +<tr><td class="front">Occasion: </td> +<td><xsl:value-of select="@why"/></td></tr> +</tbody> +</table> +<xsl:apply-templates/> +<p class="signature"><xsl:value-of select="@signature"/></p> +</body> +</html> +</xsl:template> + +<xsl:template match="par"> +<p><xsl:apply-templates/></p> +</xsl:template> + +<xsl:template match="emph"> +<em><xsl:apply-templates/></em> +</xsl:template> + +</xsl:stylesheet> diff --git a/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/invit.css b/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/invit.css new file mode 100644 index 00000000000..e28eb44d060 --- /dev/null +++ b/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/invit.css @@ -0,0 +1,31 @@ +/* CSS stylesheet for invitation1 in HTML */ +BODY {margin-top: 1em; /* global page parameters */ + margin-bottom: 1em; + margin-left: 1em; + margin-right: 1em; + font-family: serif; + line-height: 1.1; + color: black; +} +H1 {text-align: center; /* for global title */ + font-size: x-large; +} +P {text-align: justify; /* paragraphs in body */ + margin-top: 1em; +} +TABLE { border-width: 0pt } +TBODY { border-width: 0pt } +TD[class="front"] { /* table data in front matter */ + text-align: left; + font-weight: bold; +} +TD.front { /* table data in front matter */ + text-align: left; + font-weight: bold; +} +EM {font-style: italic; /* emphasis in body */ +} +P.signature { /* signature */ + text-align: right; + font-weight: bold; +} diff --git a/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/invitation.dsl b/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/invitation.dsl new file mode 100644 index 00000000000..fb1da6b1647 --- /dev/null +++ b/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/invitation.dsl @@ -0,0 +1,66 @@ +<!DOCTYPE style-sheet PUBLIC "-//James Clark//DTD DSSSL Style-Sheet//EN"> +<style-sheet> +<style-specification> +<style-specification-body> +(define FontSize 12pt) +(root + (make simple-page-sequence + left-margin: 25mm + page-width: 205mm + right-margin: 25mm + (make scroll + font-size: FontSize + line-spacing: FontSize + (process-children) + ) + ) +) +(element (front date) + (make paragraph + (literal "When: ") + (process-children) + ) +) +(element (front to) + (make paragraph + (literal "To: ") + (process-children) + ) +) +(element (front where) + (make paragraph + (literal "Venue: ") + (process-children) + ) +) +(element (front why) + (make paragraph + (literal "Occasion: ") + (process-children) + ) +) +(element (body par) + (make paragraph + quadding: 'justify + font-size: FontSize + space-before: FontSize + (process-children) + ) +) +(element emph + (make sequence + font-posture: 'italic + (process-children) + ) +) +(element (back signature) + (make paragraph + quadding: 'justify + space-before: FontSize + (literal "From: ") + (process-children) + ) +) +</style-specification-body> +</style-specification> +</style-sheet> diff --git a/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/invitation.dtd b/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/invitation.dtd new file mode 100644 index 00000000000..ec74933693d --- /dev/null +++ b/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/invitation.dtd @@ -0,0 +1,12 @@ +<!-- invitation DTD --> +<!ELEMENT invitation (front, body, back) > +<!ELEMENT front (to, date, where, why?) > +<!ELEMENT date (#PCDATA) > +<!ELEMENT to (#PCDATA) > +<!ELEMENT where (#PCDATA) > +<!ELEMENT why (#PCDATA) > +<!ELEMENT body (par+) > +<!ELEMENT par (#PCDATA|emph)* > +<!ELEMENT emph (#PCDATA) > +<!ELEMENT back (signature) > +<!ELEMENT signature (#PCDATA) > diff --git a/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/invitation.out b/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/invitation.out new file mode 100644 index 00000000000..a9b5e715986 --- /dev/null +++ b/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/invitation.out @@ -0,0 +1 @@ +<relaxxml>\relax diff --git a/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/invitation.sty b/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/invitation.sty new file mode 100644 index 00000000000..d01bf822bc3 --- /dev/null +++ b/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/invitation.sty @@ -0,0 +1,30 @@ +% invitation.sty +% Package to format invitation.xml +\setlength{\parskip}{1ex} +\setlength{\parindent}{0pt} +\pagestyle{empty}%% Turn off page numbering +\RequirePackage{array} +\newenvironment{Front}% + {\begin{center}\huge \sffamily Memorandum\end{center} + \begin{flushleft} + \begin{tabular}{@{}>{\bfseries}p{.2\linewidth}@{}p{.8\linewidth}@{}}\hline + } + {To whom: & \@To \\ + Occasion: & \@Why \\ + Venue: & \@Where \\ + When: & \@Date \\\hline + \end{tabular} + \end{flushleft} + } +\newenvironment{Body}{\vspace*{\parskip}}{\vspace*{\parskip}} +\newenvironment{Back} + {\begin{flushleft}} + {\hspace*{.5\linewidth}\fbox{\emph{\@Sig}} + \end{flushleft} + } +\newcommand{\To}[1]{\gdef\@To{#1}} +\newcommand{\Date}[1]{\gdef\@Date{#1}} +\newcommand{\Where}[1]{\gdef\@Where{#1}} +\newcommand{\Why}[1]{\gdef\@Why{#1}} +\newcommand{\Signature}[1]{\gdef\@Sig{#1}} +\endinput
\ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/invitation.tex.save b/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/invitation.tex.save new file mode 100644 index 00000000000..12ae67767f5 --- /dev/null +++ b/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/invitation.tex.save @@ -0,0 +1,27 @@ +\documentclass[]{article} +\usepackage{invitation} +\begin{document} +\begin{Front} +\To{Anna, Bernard, Didier, Johanna} +\Date{Next Friday Evening at 8 pm} +\Where{The Web Cafe} +\Why{My first XML baby} +\end{Front} +\begin{Body} +\par +I would like to invite you all to celebrate +the birth of \emph{Invitation}, my +first XML document child. + +\par +Please do your best to come and join me next Friday +evening. And, do not forget to bring your friends. + +\par +I \emph{really} look forward to see you soon! + +\end{Body} +\begin{Back} +\Signature{Michel} +\end{Back} +\end{document} diff --git a/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/invitation.xml b/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/invitation.xml new file mode 100644 index 00000000000..2153fc3dc82 --- /dev/null +++ b/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/invitation.xml @@ -0,0 +1,24 @@ +<?xml version="1.0"?> +<!DOCTYPE invitation SYSTEM "invitation.dtd"> +<invitation> +<!-- ++++ The header part of the document ++++ --> +<front> +<to>Anna, Bernard, Didier, Johanna</to> +<date>Next Friday Evening at 8 pm</date> +<where>The Web Cafe</where> +<why>My first XML baby</why> +</front> +<!-- +++++ The main part of the document +++++ --> +<body> +<par>I would like to invite you all to celebrate +the birth of <emph>Invitation</emph>, my +first XML document child.</par> +<par>Please do your best to come and join me next Friday +evening. And, do not forget to bring your friends.</par> +<par>I <emph>really</emph> look forward to see you soon!</par> +</body> +<!-- +++ The closing part of the document ++++ --> +<back> +<signature>Michel</signature> +</back> +</invitation> diff --git a/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/invitation1.tex b/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/invitation1.tex new file mode 100644 index 00000000000..a59c337cf54 --- /dev/null +++ b/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/invitation1.tex @@ -0,0 +1,22 @@ +\documentclass[12pt]{article} +\usepackage{invitation} +\begin{document} +\begin{Front} +\To{Anna, Bernard, Didier, Johanna} +\Date{Next Friday Evening at 8 pm} +\Where{The Web Cafe} +\Why{My first XML baby} +\end{Front} +\begin{Body} + +\par I would like to invite you all to celebrate +the birth of \emph{Invitation}, my +first XML document child. +\par Please do your best to come and join me next Friday +evening. And, do not forget to bring your friends. +\par I \emph{really} look forward to see you soon! +\end{Body} +\begin{Back} +\Signature{Michel} +\end{Back} +\end{document} diff --git a/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/invitation2.dtd b/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/invitation2.dtd new file mode 100644 index 00000000000..c9a136de64c --- /dev/null +++ b/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/invitation2.dtd @@ -0,0 +1,15 @@ +<!-- invitation2 DTD --> +<!-- August 14th 1998 mg --> +<!ENTITY % i18n "xml:lang NMTOKEN #IMPLIED"> +<!ELEMENT invitation (par+)> +<!ATTLIST invitation + %i18n; + date CDATA #REQUIRED + to CDATA #REQUIRED + signature CDATA #REQUIRED + where CDATA #REQUIRED + why CDATA #IMPLIED +> +<!ELEMENT par (#PCDATA|emph)*> +<!ELEMENT emph (#PCDATA)> + diff --git a/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/invitation2.html b/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/invitation2.html new file mode 100644 index 00000000000..ba38c18495f --- /dev/null +++ b/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/invitation2.html @@ -0,0 +1,39 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> +<html> +<head> +<title> Invitation (XSL/CSS formatting) </title> +<link href="invit.css" rel="stylesheet" type="text/css"> +</head> +<body> +<h1>INVITATION</h1> +<table> +<tbody> +<tr> +<td class="front">To: </td><td>Anna, Bernard, Didier, Johanna</td> +</tr> +<tr> +<td class="front">When: </td><td>Next Friday Evening at 8 pm</td> +</tr> +<tr> +<td class="front">Venue: </td><td>The Web Cafe</td> +</tr> +<tr> +<td class="front">Occasion: </td><td>My first XML baby</td> +</tr> +</tbody> +</table> +<p> +I would like to invite you all to celebrate +the birth of <em>Invitation</em>, my +first XML document child. +</p> +<p> +Please do your best to come and join me next Friday +evening. And, do not forget to bring your friends. +</p> +<p> +I <em>really</em> look forward to see you soon! +</p> +<p class="signature">Michel</p> +</body> +</html> diff --git a/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/invitation2.xml b/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/invitation2.xml new file mode 100644 index 00000000000..1057637e730 --- /dev/null +++ b/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/invitation2.xml @@ -0,0 +1,21 @@ +<?xml version="1.0"?> +<!DOCTYPE invitation SYSTEM "invitation2.dtd"> +<invitation to="Anna, Bernard, Didier, Johanna" + date="Next Friday Evening at 8 pm" + where="The Web Cafe" + why="My first XML baby" + signature="Michel" +> +<par> +I would like to invite you all to celebrate +the birth of <emph>Invitation</emph>, my +first XML document child. +</par> +<par> +Please do your best to come and join me next Friday +evening. And, do not forget to bring your friends. +</par> +<par> +I <emph>really</emph> look forward to see you soon! +</par> +</invitation> diff --git a/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/invitationfr.sty b/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/invitationfr.sty new file mode 100644 index 00000000000..e401c6b3ed5 --- /dev/null +++ b/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/invitationfr.sty @@ -0,0 +1,49 @@ +% invitation.sty +% Package to format invitation.xml +\setlength{\textwidth}{22pc} +\setlength{\parskip}{1ex} +\setlength{\parindent}{0pt} +\pagestyle{empty}%% Turn off page numbering +\RequirePackage{array,calc} +\newcommand{\ToTitle}{To whom} +\newcommand{\WhyTitle}{Occasion} +\newcommand{\WhereTitle}{Venue} +\newcommand{\DateTitle}{When} +\newcommand{\SignatureTitle}{From} +\DeclareOption{francais}{% French text for fixed texts + \renewcommand{\ToTitle}{À} + \renewcommand{\WhyTitle}{À l'occasion de} + \renewcommand{\WhereTitle}{Où} + \renewcommand{\DateTitle}{Quand} + \renewcommand{\SignatureTitle}{De la part de}} +\newenvironment{Front}% + {\begin{center} + \Huge\sffamily INVITATION + \end{center} + } + {\begin{flushleft} + \rule{\linewidth}{1pt}\\[2mm] + \begin{tabular}{@{}>{\bfseries}ll@{}} + \ToTitle: & \@To \\ + \WhyTitle: & \@Why \\ + \WhereTitle: & \@Where \\ + \DateTitle: & \@Date + \end{tabular}\\[2mm] + \rule{\linewidth}{1pt} + \end{flushleft} + } +\newenvironment{Body}{\vspace*{\parskip}}{\vspace*{\parskip}} +\newenvironment{Back} + {\begin{flushleft}} + {\hspace*{.5\linewidth}\fbox{\SignatureTitle: \emph{\@Sig}} + \end{flushleft} + } +\newcommand{\To}[1]{\gdef\@To{#1}} +\newcommand{\Date}[1]{\gdef\@Date{#1}} +\newcommand{\Where}[1]{\gdef\@Where{#1}} +\newcommand{\Why}[1]{\gdef\@Why{#1}} +\newcommand{\Signature}[1]{\gdef\@Sig{#1}} + +\ProcessOptions + +\endinput diff --git a/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/invlat1.xsl b/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/invlat1.xsl new file mode 100644 index 00000000000..e9d548faac2 --- /dev/null +++ b/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/invlat1.xsl @@ -0,0 +1,66 @@ +<?xml version='1.0'?> +<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> + +<xsl:output method="text" indent="no" encoding="ISO-8859-1"/> + +<xsl:strip-space elements="*"/> + +<xsl:template match="invitation"> +<xsl:text>\documentclass[12pt]{article} +\usepackage{invitation} +\begin{document} +</xsl:text> +<xsl:apply-templates/> +<xsl:text>\end{document} +</xsl:text> +</xsl:template> + +<xsl:template match="front"> +<xsl:text>\begin{Front} +\To{</xsl:text> +<xsl:value-of select="to"/> +<xsl:text>} +\Date{</xsl:text> +<xsl:value-of select="date"/> +<xsl:text>} +\Where{</xsl:text> +<xsl:value-of select="where"/> +<xsl:text>} +\Why{</xsl:text> +<xsl:value-of select="why"/> +<xsl:text>} +\end{Front} +</xsl:text> +</xsl:template> + +<xsl:template match="body"> +<xsl:text>\begin{Body} +</xsl:text> + <xsl:apply-templates/> +<xsl:text> +\end{Body} +</xsl:text> +</xsl:template> + +<xsl:template match="par"> +<xsl:text> +\par </xsl:text> +<xsl:apply-templates/> +</xsl:template> + +<xsl:template match="emph"> +<xsl:text>\emph{</xsl:text> +<xsl:apply-templates/> +<xsl:text>}</xsl:text> +</xsl:template> + +<xsl:template match="back"> +<xsl:text>\begin{Back} +\Signature{</xsl:text> +<xsl:value-of select="signature"/> +<xsl:text>} +\end{Back} +</xsl:text> +</xsl:template> + +</xsl:stylesheet> diff --git a/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/invtab1.dsl b/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/invtab1.dsl new file mode 100644 index 00000000000..3d7afc7d5ba --- /dev/null +++ b/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/invtab1.dsl @@ -0,0 +1,82 @@ +<!DOCTYPE style-sheet PUBLIC "-//James Clark//DTD DSSSL Style-Sheet//EN"> +<style-sheet> +<style-specification> +<style-specification-body> + +(define FontSize 12pt) + +(root + (make simple-page-sequence + left-margin: 2cm + page-width: 15cm + right-margin: 2cm + (make scroll + font-size: FontSize + (process-children)))) + +(element front + (make sequence + (make paragraph + quadding: 'center + space-before: 20pt + font-weight: 'bold + font-size: 24pt + (literal "INVITATION")) + (make table + table-border: #f ; no border + display-alignment: 'start + space-before: 20pt + (make table-part + (make table-column width: 25mm) + (make table-column width: 10cm) + (process-children))))) +(element (front date) + (make table-row + (make table-cell + (make paragraph quadding: 'start + (literal "When:"))) + (make table-cell + (process-children)))) +(element (front to) + (make table-row + (make table-cell + (make paragraph quadding: 'start + (literal "To:"))) + (make table-cell + (process-children)))) +(element (front where) + (make table-row + (make table-cell + (make paragraph quadding: 'start + (literal "Venue:"))) + (make table-cell + (process-children)))) +(element (front why) + (make table-row + (make table-cell + (make paragraph quadding: 'start + (literal "Occasion:"))) + (make table-cell + (process-children)))) + +(element (body par) + (make paragraph + quadding: 'justify + font-size: FontSize + space-before: FontSize + (process-children))) +(element emph + (make sequence + font-posture: 'italic + (process-children))) + +(element (back signature) + (make paragraph + quadding: 'end + space-before: FontSize + (literal "From: ") + (process-children))) + +</style-specification-body> +</style-specification> +</style-sheet> diff --git a/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/invtab2.dsl b/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/invtab2.dsl new file mode 100644 index 00000000000..eac8c01392e --- /dev/null +++ b/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/invtab2.dsl @@ -0,0 +1,75 @@ +<!DOCTYPE style-sheet PUBLIC "-//James Clark//DTD DSSSL Style-Sheet//EN"> +<style-sheet> +<style-specification> +<style-specification-body> +(define FontSize 12pt) +(root + (make simple-page-sequence + left-margin: 1cm + page-width: 10cm + right-margin: 1cm + (make scroll + font-size: FontSize + (process-children)))) +(element invitation + (make sequence + (make paragraph + quadding: 'center + space-before: 20pt + font-weight: 'bold + font-size: 24pt + (literal "INVITATION")) + (make table + table-border: #f ; no border + display-alignment: 'start + space-before: 20pt + (make table-part + (make table-column width: 25mm) + (make table-column width: 10cm) + (make table-row + (make table-cell + (make paragraph quadding: 'start + (literal "When:"))) + (make table-cell + (make paragraph quadding: 'start + (literal (attribute-string "date"))))) + (make table-row + (make table-cell + (make paragraph quadding: 'start + (literal "To:"))) + (make table-cell + (make paragraph quadding: 'start + (literal (attribute-string "to"))))) + (make table-row + (make table-cell + (make paragraph quadding: 'start + (literal "Venue:"))) + (make table-cell + (make paragraph quadding: 'start + (literal (attribute-string "where"))))) + (make table-row + (make table-cell + (make paragraph quadding: 'start + (literal "Occasion:"))) + (make table-cell + (make paragraph quadding: 'start + (literal (attribute-string "why"))))))) + (process-children) + (make paragraph + quadding: 'end + space-before: FontSize + (literal "From: " + (attribute-string "signature"))))) +(element par + (make paragraph + quadding: 'justify + font-size: FontSize + space-before: FontSize + (process-children-trim))) +(element emph + (make sequence + font-posture: 'italic + (process-children-trim))) +</style-specification-body> +</style-specification> +</style-sheet> diff --git a/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/isotab1to2-bis.xsl b/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/isotab1to2-bis.xsl new file mode 100644 index 00000000000..b014c04a326 --- /dev/null +++ b/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/isotab1to2-bis.xsl @@ -0,0 +1,22 @@ +<?xml version='1.0' encoding="ISO-8859-1"?> +<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> + +<xsl:output method="xml" encoding="ISO-8859-1"/> + +<xsl:template match="countries"> + <xsl:copy> + <xsl:apply-templates/> + </xsl:copy><xsl:text>
</xsl:text> +</xsl:template> + +<xsl:template match="country"> + <xsl:copy> + <xsl:for-each select="*"> + <xsl:attribute name="{name(.)}"> + <xsl:value-of select="."/> + </xsl:attribute> + </xsl:for-each> + </xsl:copy> +</xsl:template> + +</xsl:stylesheet> diff --git a/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/isotab1to2.xsl b/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/isotab1to2.xsl new file mode 100644 index 00000000000..4ecc4150d66 --- /dev/null +++ b/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/isotab1to2.xsl @@ -0,0 +1,42 @@ +<?xml version='1.0' encoding="ISO-8859-1"?> +<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> + +<xsl:output method="xml" encoding="ISO-8859-1"/> + +<xsl:template match="/"> + <xsl:element name="countries"><xsl:text>
</xsl:text> + <xsl:for-each select="countries/country"> + <xsl:element name="country"> + <xsl:attribute name="shortname"> + <xsl:value-of select="shortname"/> + </xsl:attribute> + <xsl:attribute name="fullname"> + <xsl:value-of select="fullname"/> + </xsl:attribute> + <xsl:attribute name="isocountry"> + <xsl:value-of select="isocountry"/> + </xsl:attribute> + <xsl:attribute name="capital"> + <xsl:value-of select="capital"/> + </xsl:attribute> + <xsl:attribute name="citizen"> + <xsl:value-of select="citizen"/> + </xsl:attribute> + <xsl:attribute name="adjective"> + <xsl:value-of select="adjective"/> + </xsl:attribute> + <xsl:attribute name="currency"> + <xsl:value-of select="currency"/> + </xsl:attribute> + <xsl:attribute name="isocurrency"> + <xsl:value-of select="isocurrency"/> + </xsl:attribute> + <xsl:attribute name="currensubunit"> + <xsl:value-of select="currensubunit"/> + </xsl:attribute> + </xsl:element><xsl:text>
</xsl:text> + </xsl:for-each> + </xsl:element><xsl:text>
</xsl:text> +</xsl:template> + +</xsl:stylesheet> diff --git a/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/isotabexa1.xsl b/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/isotabexa1.xsl new file mode 100644 index 00000000000..57e2152ba22 --- /dev/null +++ b/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/isotabexa1.xsl @@ -0,0 +1,20 @@ +<?xml version='1.0' encoding="ISO-8859-1"?> +<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> + +<xsl:output method="text" encoding="ISO-8859-1"/> + +<xsl:template match="/countries"> + <xsl:for-each select="country"> + <xsl:sort select="@capital"/> + <xsl:if test="(@capital != '-') and (@capital != ' ')"> + <xsl:value-of select="@capital"/> + <xsl:text> is the capital of </xsl:text> + <xsl:value-of select="@shortname"/> + <xsl:text> (ISO-code </xsl:text> + <xsl:value-of select="@isocountry"/> + <xsl:text>)
</xsl:text><!-- new line --> + </xsl:if> + </xsl:for-each> +</xsl:template> + +</xsl:stylesheet>
\ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/isotabexa2.xsl b/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/isotabexa2.xsl new file mode 100644 index 00000000000..38ad5aa33e0 --- /dev/null +++ b/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/isotabexa2.xsl @@ -0,0 +1,73 @@ +<?xml version='1.0' encoding="ISO-8859-1"?> +<xsl:stylesheet version="1.0" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:date="http://www.jclark.com/xt/java/java.util.Date" + xmlns:xt="http://www.jclark.com/xt" + extension-element-prefixes="xt"> + +<xsl:template match="/"> + <xsl:call-template name="newfile"> + <xsl:with-param name="abc" select="'ABCDEFGHIJKLMNOPQRSTUVWXYZ'"/> + </xsl:call-template> +</xsl:template> + +<xsl:template name="newfile"> + <xsl:param name="abc" /> + <xsl:variable name="letter" select="substring($abc,1,1)" /> + <xsl:variable name="file" select="concat($letter,'-currency.txt')"/> + <xt:document method="text" href="{$file}" encoding="ISO-8859-1"> + <xsl:for-each select="//country[starts-with(isocurrency, $letter)]"> + <xsl:sort select="shortname"/> + <xsl:sort select="currency"/> + <xsl:variable name="Currency" select="normalize-space(string(currency))"/> + <xsl:if test="($Currency != '-') and ($Currency != '')"> + <xsl:text>The </xsl:text> + <xsl:value-of select="currency"/> + <xsl:text> is used by </xsl:text> + <xsl:variable name="L1" select="substring(citizen,1,1)"/> + <xsl:choose> + <xsl:when test="$L1 = 'A' or $L1 = 'E' or $L1 = 'I' or + $L1 = 'O' or $L1 = 'U'"> + <xsl:text>an </xsl:text> + </xsl:when> + <xsl:otherwise> + <xsl:text>a </xsl:text> + </xsl:otherwise> + </xsl:choose> + <xsl:value-of select="citizen"/> + <xsl:text> living in </xsl:text> + <xsl:value-of select="shortname"/> + <xsl:text>.
</xsl:text><!-- new line --> + </xsl:if> + </xsl:for-each> + <xsl:call-template name="footer"/> + </xt:document> + + <xsl:if test="string-length($abc) != 1"> + <xsl:call-template name="newfile"> + <xsl:with-param name="abc" select="substring($abc, 2)" /> + </xsl:call-template> + </xsl:if> +</xsl:template> + +<xsl:template name="footer"> + <xsl:text>Last modification : Michel Goossens, </xsl:text> + <xsl:choose> + <xsl:when test="function-available('date:to-string') and + function-available('date:new')"> + <!-- date format : Fri Dec 31 23:59:59 PDT 1999 --> + <!-- 1234567890123456789012345678 --> + <xsl:variable name="datetemp" select="date:to-string(date:new())"/> + <xsl:variable name="month" select="substring($datetemp,5,3)"/> + <xsl:variable name="day" select="substring($datetemp,9,2)"/> + <xsl:variable name="year" select="substring($datetemp,string-length($datetemp)-3,4)"/> + <xsl:variable name="Date" select="concat($day,' ',$month,'. ',$year)"/> + <xsl:value-of select="$Date"/> + </xsl:when> + <xsl:otherwise> + <xsl:text>11 Nov. 1999</xsl:text> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +</xsl:stylesheet> diff --git a/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/sectionexa.xml b/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/sectionexa.xml new file mode 100644 index 00000000000..9d73bc1793a --- /dev/null +++ b/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/sectionexa.xml @@ -0,0 +1,22 @@ +<article> + <title>This is the article's title</title> + <author>Michel Goossens</author> + <author>Sebastian Rahtz</author> + <abstract>A <emph>short</emph> description of the contents</abstract> + <section sectid="S1"> + <stitle>First section title</stitle> + <par ident="first">The first paragraph for this section.</par> + <par ident="normal">A normal paragraph with <emph>emphasised</emph> text.</par> + <par>Here we have <emph>no</emph> attribute.</par> + <par ident="last">This is the end of the section.</par> + </section> + <section sectid="S2"> + <stitle>Second section title</stitle> + <par ident="first">The first paragraph for this section.</par> + <par>Here we <emph>also</emph> have <emph>no</emph> attribute.</par> + <par ident="normal" id="special">A normal paragraph with + <emph>emphasised</emph> text.</par> + <par>Another attribute-less paragraph.</par> + <par ident="last">This is the end of the section.</par> + </section> +</article> diff --git a/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/sectionexa.xsl b/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/sectionexa.xsl new file mode 100644 index 00000000000..e9029d4aa0a --- /dev/null +++ b/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/sectionexa.xsl @@ -0,0 +1,73 @@ +<?xml version='1.0'?> +<xsl:stylesheet + version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + result-ns=""> +<xsl:template match="/"> + <xsl:text>(*root*)</xsl:text> + <xsl:apply-templates/> + <xsl:text>(/*root*)</xsl:text> +</xsl:template> +<xsl:template match="*" priority="-1"> + <xsl:text>(*)</xsl:text> + <xsl:apply-templates/> + <xsl:text>(/*)</xsl:text> +</xsl:template> +<xsl:template match="par"> + <xsl:text>(T1)</xsl:text> + <xsl:apply-templates/> + <xsl:text>(/T1)</xsl:text> +</xsl:template> +<xsl:template match="par[@ident]" priority="1"> + <xsl:text>(T2)</xsl:text> + <xsl:apply-templates/> + <xsl:text>(/T2)</xsl:text> +</xsl:template> +<xsl:template match="par[@ident='first']" priority="2"> + <xsl:text>(T3)</xsl:text> + <xsl:apply-templates/> + <xsl:text>(/T3)</xsl:text> +</xsl:template> +<xsl:template match="section[@sectid='S2'] + /par[@ident='normal' and @id='special']" priority="3"> + <xsl:text>(T4)</xsl:text> + <xsl:apply-templates/> + <xsl:text>(/T4)</xsl:text> +</xsl:template> +<xsl:template match="section[position()=last()]"> + <xsl:text>(P1)</xsl:text> + <xsl:apply-templates/> + <xsl:text>(/P1)</xsl:text> +</xsl:template> +<xsl:template match="section[position()>1]/par[position()=1]" priority="3"> + <xsl:text>(P2)</xsl:text> + <xsl:apply-templates/> + <xsl:text>(/P2)</xsl:text> +</xsl:template> +<xsl:template match="author"> + <xsl:text>(A1)</xsl:text> + <xsl:text>author 1: </xsl:text> + <xsl:text>(/A1)</xsl:text> + <xsl:apply-templates/> +</xsl:template> +<xsl:template match="author[position()=last()]" priority="1"> + <xsl:text>(A2)</xsl:text> + <xsl:apply-templates/> + <xsl:text>(/A2)</xsl:text> +</xsl:template> +<xsl:template + match="stitle[contains(text(),'First')]" priority="1"> + <xsl:text>(WD)</xsl:text> + <xsl:apply-templates/> + <xsl:text>(/WD)</xsl:text> +</xsl:template> +<xsl:template match="emph[position()=1 and position()=last()]" priority="2"> + <xsl:text>(E1)</xsl:text> + <xsl:apply-templates/> + <xsl:text>(/E1)</xsl:text> +</xsl:template> +<xsl:template match="emph[not(position()=1 and position()=last())]" priority="2"> + <xsl:text>(E2)</xsl:text> + <xsl:apply-templates/> + <xsl:text>(/E2)</xsl:text> +</xsl:template> +</xsl:stylesheet> diff --git a/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/sgmlspl.pl b/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/sgmlspl.pl new file mode 100644 index 00000000000..c91a6cb004f --- /dev/null +++ b/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/sgmlspl.pl @@ -0,0 +1,317 @@ +#!/usr/bin/perl +######################################################################## +# sgmlspl: a simple SGML postprocesser for the SGMLS and NSGMLS +# parsers (requires SGMLS.pm library). +# +# Copyright (c) 1995 by David Megginson <dmeggins@aix1.uottawa.ca> +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +# +# $Log: sgmlspl.pl,v $ +# Revision 1.8 1995/12/03 21:46:31 david +# Eliminated all use of the SGMLS_Event::key method. +# +# Revision 1.7 1995/11/15 20:22:24 david +# Changed "use Output" to "use SGMLS::Output". Qualified the STDIN +# filehandle for the SGMLS object with the main:: package name. +# +# Revision 1.6 1995/08/12 16:15:14 david +# Revised version for 1.01 distribution. +# +# Revision 1.5 1995/04/27 11:52:25 david +# Changed 'print' to 'main::output' for re handler; empty string +# translates into an empty sub {} rather than a sub printing an empty +# string; instead of evaluating every argument as a perl script, take +# only the first as a perl script and the rest as its arguments; allow +# empty scripts or scripts which do not end with '1;'; pass the event +# itself as the second argument to each handler, after the event data. +# +# Revision 1.4 1995/04/23 14:44:58 david +# Use the Output package. Fixed the $version variable. +# +# Revision 1.3 1995/04/22 21:02:49 david +# Added some missing 'last SWITCH;' statements in the sgmls function. +# +# Revision 1.2 1995/04/22 20:58:48 david +# Added $SGMLS_PL::version variable and changed SDATA notation from +# [SDATA] to |SDATA|. +# +# Revision 1.1 1995/04/22 14:40:50 david +# Initial revision +# +######################################################################## + +use SGMLS::Output; + +package SGMLS_PL; +use SGMLS; + +$version = '$Id: sgmlspl.pl,v 1.8 1995/12/03 21:46:31 david Exp $'; + +# +# Set up handler defaults. +# +$start_document_handler = sub {}; +$end_document_handler = sub {}; +$start_element_handlers = { '' => sub {} }; +$end_element_handlers = { '' => sub {} }; +$cdata_handler = sub { main::output($_[0]); }; +$sdata_handlers = { '' => sub { main::output($_[0]);} }; +$re_handler = sub { main::output("\n"); }; +$pi_handler = sub { '' => sub {} }; +$entity_handlers = { '' => sub {} }; +$start_subdoc_handlers = { '' => sub {} }; +$end_subdoc_handlers = { '' => sub {} }; +$conforming_handler = sub {}; + +# +# Main access point: declare handlers for different SGML events. +# +# Usage: sgml(event, handler); +# +# The event may be one of the following strings, or a special pattern. +# The generic events are as follow: +# +# 'start' The beginning of the document. +# 'end' The end of the document. +# 'start_element' The beginning of an element. +# 'end_element' The end of an element. +# 'cdata' Regular character data. +# 'sdata' Special system-specific data. +# 're' A record-end. +# 'pi' A processing instruction. +# 'entity' An external-entity reference. +# 'start_subdoc' The beginning of a subdocument entity. +# 'end_subdoc' The end of a subdocument entity. +# 'conforming' The document is conforming. +# +# In addition to these generic events, it is possible to handlers +# for certain specific, named events, as follow: +# +# '<GI>' The beginning of element GI. +# '</GI>' The end of element GI. +# '[SDATA]' The system-specific data SDATA. +# '&ENAME;' A reference to the external entity ENAME. +# '{ENAME}' The beginning of the subdocument-entity ENAME. +# '{/ENAME}' The end of the subdocument-entity ENAME. +# +# +# The handler may be a string, which will simply be printed when the +# event occurs (this is usually useful only for the specific, named +# events), or a reference to an anonymous subroutine, which will +# receive two arguments: the event data and the event itself. For +# example, +# +# sgml('<FOO>', "\n\\begin{foo}\n"); +# +# and +# +# sgml('<FOO>', sub { output("\n\\begin{foo}\n"); }); +# +# will have identical results. +# +sub main::sgml { + my ($spec,$handler) = (@_); + if (ref($handler) ne 'CODE') { + $handler =~ s/\\/\\\\/g; + $handler =~ s/'/\\'/g; + if ($handler eq '') { + $handler = sub {}; + } else { + $handler = eval "sub { main::output('$handler'); };"; + } + } + SWITCH: { + # start-document handler + $spec eq 'start' && do { + $start_document_handler = $handler; + last SWITCH; + }; + # end-document handler + $spec eq 'end' && do { + $end_document_handler = $handler; + last SWITCH; + }; + # start-element handler + $spec =~ /^<([^\/].*|)>$/ && do { + $start_element_handlers->{$1} = $handler; + last SWITCH; + }; + # generic start-element handler + $spec eq 'start_element' && do { + $start_element_handlers->{''} = $handler; + last SWITCH; + }; + # end-element handler + $spec =~ /^<\/(.*)>$/ && do { + $end_element_handlers->{$1} = $handler; + last SWITCH; + }; + # generic end-element handler + $spec =~ 'end_element' && do { + $end_element_handlers->{''} = $handler; + last SWITCH; + }; + # cdata handler + $spec eq 'cdata' && do { + $cdata_handler = $handler; + last SWITCH; + }; + # sdata handler + $spec =~ /^\|(.*)\|$/ && do { + $sdata_handlers->{$1} = $handler; + last SWITCH; + }; + # generic sdata handler + $spec eq 'sdata' && do { + $sdata_handlers->{''} = $handler; + last SWITCH; + }; + # record-end handler + $spec eq 're' && do { + $re_handler = $handler; + last SWITCH; + }; + # processing-instruction handler + $spec eq 'pi' && do { + $pi_handler = $handler; + last SWITCH; + }; + # entity-reference handler + $spec =~ /^\&(.*);$/ && do { + $entity_handlers->{$1} = $handler; + last SWITCH; + }; + # generic entity-reference handler + $spec eq 'entity' && do { + $entity_handlers->{''} = $handler; + last SWITCH; + }; + # start-subdoc handler + $spec =~ /^\{([^\/].*|)\}$/ && do { + $start_subdoc_handlers->{$1} = $handler; + last SWITCH; + }; + # generic start-subdoc handler + $spec eq 'start_subdoc' && do { + $start_subdoc_handlers->{''} = $handler; + last SWITCH; + }; + # end-subdoc handler + $spec =~ /^\{\/(.*)\}$/ && do { + $end_subdoc_handlers->{$1} = $handler; + last SWITCH; + }; + # generic end-subdoc handler + $spec eq 'end_subdoc' && do { + $end_subdoc_handlers->{''} = $handler; + last SWITCH; + }; + # conforming handler + $spec eq 'conforming' && do { + $conforming_handler = $handler; + last SWITCH; + }; + + die "Bad SGML handler pattern: $spec\n"; + } +} + + +# +# The first argument on the command line is a perl module which will be +# read here and evaluated in the 'main' package -- everything else will +# be an argument to it. +# +package main; + +$ARGV = shift; +unless ($ARGV eq '' || do $ARGV) { + if (!-e $ARGV) { + die "FATAL: $ARGV does not exist.\n"; + } elsif (!-r $ARGV) { + die "FATAL: $ARGV exists but is read-protected.\n"; + } elsif ($@) { + die "FATAL: $@\n"; + } +} + + +# +# Do the actual work, using the SGMLS package. +# +package SGMLS_PL; + +$parse = new SGMLS(main::STDIN); # a new parse object + +&{$start_document_handler}(); # run the start handler. + + # run the appropriate handler for each + # event +while ($event = $parse->next_event) { + my $type = $event->type; + SWITCH: { + $type eq 'start_element' && do { + &{($start_element_handlers->{$event->data->name}|| + $start_element_handlers->{''} || sub {})}($event->data,$event); + last SWITCH; + }; + $type eq 'end_element' && do { + &{($end_element_handlers->{$event->data->name}|| + $end_element_handlers->{''} || sub {})}($event->data,$event); + last SWITCH; + }; + $type eq 'cdata' && do { + &{$cdata_handler}($event->data,$event); + last SWITCH; + }; + $type eq 'sdata' && do { + &{($sdata_handlers->{$event->data}|| + $sdata_handlers->{''} || sub {})}($event->data,$event); + last SWITCH; + }; + $type eq 're' && do { + &{$re_handler}($event->data,$event); + last SWITCH; + }; + $type eq 'pi' && do { + &{$pi_handler}($event->data,$event); + last SWITCH; + }; + $type eq 'entity' && do { + &{($entity_handlers->{$event->data->name}|| + $entity_handlers->{''} || sub {})}($event->data,$event); + last SWITCH; + }; + $type eq 'start_subdoc' && do { + &{($start_subdoc_handlers->{$event->data->name}|| + $start_subdoc_handlers->{''} || sub {})}($event->data,$event); + last SWITCH; + }; + $type eq 'end_subdoc' && do { + &{($end_subdoc_handlers->{$event->data->name}|| + $end_subdoc_handlers->{''} || sub {})}($event->data,$event); + last SWITCH; + }; + $type eq 'conforming' && do { + &{$conforming_handler}($event->data,$event); + last SWITCH; + }; + + die "Unknown SGML event type: $type\n"; + } +} + +&{$end_document_handler}(); # run the end handler diff --git a/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/skel.pl b/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/skel.pl new file mode 100644 index 00000000000..f10c1ff3f85 --- /dev/null +++ b/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/skel.pl @@ -0,0 +1,178 @@ +######################################################################## +# skel.pl: an SGMLSPL script for producing scripts (!!). +# +# Copyright (c) 1995 by David Megginson <dmeggins@aix1.uottawa.ca> +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +# +# +# Changes: +# +# $Log: skel.pl,v $ +# Revision 1.4 1995/11/15 20:21:07 david +# Changed "use Output" to "use SGMLS::Output". +# +# Revision 1.3 1995/08/24 15:04:38 david +# Fixed commented-out 're' handler. +# +# Revision 1.2 1995/08/12 16:16:42 david +# Revised version for 1.01 distribution. +# +# Revision 1.1 1995/04/23 14:49:35 david +# Initial revision +# +######################################################################## + +use SGMLS; +use SGMLS::Output; + +$version = '$Id: skel.pl,v 1.4 1995/11/15 20:21:07 david Exp $'; + +%subdocs = (); # Subdocument entities seen so far. +%entities = (); # External data entities seen so far. +%sdata = (); # SDATA strings seen so far. +%elements = (); # Elements seen so far. +$pi = 0; # Any processing instructions? + +$intro = 0; # Have we printed the banner yet? + +$| = 1; + +sgml('end_element', ''); # Ignore the ends of elements. +sgml('end_subdoc', ''); # Ignore the ends of subdocument entities. +sgml('cdata', ''); # Ignore CDATA. +sgml('re', ''); # Ignore Record Ends. + + # Note any processing instructions. +sgml('pi', sub { $pi = 1; }); + + # Keep track of all subdocument entities. +sgml('start_subdoc', sub { + my $entity = shift; + $entities{$entity->name} = 1; +}); + # Keep track of all external data entities. +sgml('entity', sub { + my $entity = shift; + $entities{$entity->name} = 1; +}); + # Keep track of all SDATA strings +sgml('sdata', sub { + my $sdata = shift; + $sdata{$sdata} = 1; +}); + + # Display element handlers as they appear. +sgml('start_element', sub { + my $element = shift; + unless ($intro) { + $intro = 1; + do_intro($element->name); + } + if (!$elements{$element->name}) { + output "# Element: " . $element->name . "\n"; + output "sgml('<" . $element->name . ">', \"\");\n"; + output "sgml('</" . $element->name . ">', \"\");\n\n"; + $elements{$element->name} = 1; + } +}); + +sgml('end', sub { + # generate subdoc handlers + my @keys = keys(%subdocs); + if ($#keys > 0) { + output "#\n# Subdocument Entity Handlers\n#\n\n"; + foreach (@keys) { + output "# Subdocument Entity: $_\n"; + output "sgml('{" . $_ . "}', \"\");\n"; + output "sgml('{/" . $_ . "}', \"\");\n\n"; + } + } + # generate entity handlers + my @keys = keys(%entities); + if ($#keys > 0) { + output "#\n# External Data Entity Handlers\n#\n\n"; + foreach (@keys) { + output "sgml('&" . $_ . ";', \"\");\n"; + } + } + # generate sdata handlers + my @keys = keys(%sdata); + if ($#keys > 0) { + output "#\n# SDATA Handlers\n#\n\n"; + foreach (@keys) { + output "sgml('|" . $_ . "|', \"\");\n"; + } + } + + if ($pi) { + output "#\n# Processing-Instruction Handler\n#\n"; + output "sgml('pi', sub {});\n\n"; + } + + output <<END; +# +# Default handlers (uncomment these if needed). Right now, these are set +# up to gag on any unrecognised elements, sdata, processing-instructions, +# or entities. +# +# sgml('start_element',sub { die "Unknown element: " . \$_[0]->name; }); +# sgml('end_element',''); +# sgml('cdata',sub { output \$_[0]; }); +# sgml('sdata',sub { die "Unknown SDATA: " . \$_[0]; }); +# sgml('re',"\\n"); +# sgml('pi',sub { die "Unknown processing instruction: " . \$_[0]; }); +# sgml('entity',sub { die "Unknown external entity: " . \$_[0]->name; }); +# sgml('start_subdoc',sub { die "Unknown subdoc entity: " . \$_[0]->name; }); +# sgml('end_subdoc',''); +# sgml('conforming',''); + +1; +END +}); + + + + # Function to print the banner. +sub do_intro { + my $doctype = shift; + output <<END; +######################################################################## +# SGMLSPL script produced automatically by the script sgmlspl.pl +# +# Document Type: $doctype +# Edited by: +######################################################################## + +use SGMLS; # Use the SGMLS package. +use SGMLS::Output; # Use stack-based output. + +# +# Document Handlers. +# +sgml('start', sub {}); +sgml('end', sub {}); + +# +# Element Handlers. +# + +END +} + +1; + + + diff --git a/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/style-sheet.dtd b/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/style-sheet.dtd new file mode 100644 index 00000000000..0ee4e674d37 --- /dev/null +++ b/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/style-sheet.dtd @@ -0,0 +1,41 @@ +<!-- A DTD for DSSSL Style Sheets. The public identifier for this is + + "-//James Clark//DTD DSSSL Style Sheet//EN" +--> + +<!element style-sheet o o (style-specification, + (external-specification|style-specification)*)> +<!element style-specification o o (style-specification-body)> +<!attlist style-specification + id id #implied + use idrefs #implied +> +<!element style-specification-body o o (#pcdata)> +<!attlist style-specification-body + content entity #conref +> +<!element external-specification - o empty> +<!attlist external-specification + id id #required + document entity #required + specid name #implied +> +<?IS10744 ArcBase DSSSL> +<!NOTATION DSSSL PUBLIC "ISO/IEC 10179:1996//NOTATION + DSSSL Architecture Definition Document//EN" + -- A document architecture conforming to the + Architectural Form Definition Requirements of + ISO/IEC 10744. -- +> + +<!ATTLIST #NOTATION DSSSL + -- Support attributes for all architectures -- + ArcQuant CDATA #FIXED "NAMELEN 64" + ArcDTD CDATA #FIXED "%DSSSLDTD" + ArcDocF NAME #FIXED dsssl-specification + ArcDataF NAME #FIXED dsssl-specification +> + +<!ENTITY % DSSSLDTD PUBLIC + "ISO/IEC 10179:1996//DTD DSSSL Architecture//EN" +> diff --git a/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/templatest.xml b/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/templatest.xml new file mode 100644 index 00000000000..be664cb09e1 --- /dev/null +++ b/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/templatest.xml @@ -0,0 +1,3 @@ +<invitation> +<to>Anna, Bernard, Didier, Johanna</to> +</invitation> diff --git a/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/templatest.xsl b/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/templatest.xsl new file mode 100644 index 00000000000..da5d52f2030 --- /dev/null +++ b/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/templatest.xsl @@ -0,0 +1,41 @@ +<?xml version='1.0'?> +<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:fo="http://www.w3.org/XSL/Format/1.0" + result-ns="fo" + default-space=""> +<xsl:template name="listitem"> + <xsl:param-variable name="labeltext">labeltext</xsl:param-variable> + <xsl:param-variable name="itemid">itemid</xsl:param-variable> + <xsl:param-variable name="itemtext">itemtext</xsl:param-variable> + <fo:list-item id="{$itemid}"> + <fo:list-item-label font-style="italic"> + $labeltext<xsl:text>:</xsl:text> + </fo:list-item-label> + <fo:list-item-body> + <xsl:value-of select="$itemtext"/> + </fo:list-item-body> + </fo:list-item> +</xsl:template> + +<xsl:template match='/'> + <fo:page-sequence> + <xsl:apply-templates/> + </fo:page-sequence> +</xsl:template> + +<xsl:template match="invitation"> +<fo:list-block> + <xsl:call-template name="listitem"> + <xsl:param name="labeltext">To</xsl:param> + <xsl:param name="itemid">listto</xsl:param> + <xsl:param name="itemtext">to</xsl:param> + </xsl:call-template> +</fo:list-block> +</xsl:template> + +</xsl:stylesheet> + + + + + diff --git a/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/templatestnok.xsl b/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/templatestnok.xsl new file mode 100644 index 00000000000..da5d52f2030 --- /dev/null +++ b/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/templatestnok.xsl @@ -0,0 +1,41 @@ +<?xml version='1.0'?> +<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:fo="http://www.w3.org/XSL/Format/1.0" + result-ns="fo" + default-space=""> +<xsl:template name="listitem"> + <xsl:param-variable name="labeltext">labeltext</xsl:param-variable> + <xsl:param-variable name="itemid">itemid</xsl:param-variable> + <xsl:param-variable name="itemtext">itemtext</xsl:param-variable> + <fo:list-item id="{$itemid}"> + <fo:list-item-label font-style="italic"> + $labeltext<xsl:text>:</xsl:text> + </fo:list-item-label> + <fo:list-item-body> + <xsl:value-of select="$itemtext"/> + </fo:list-item-body> + </fo:list-item> +</xsl:template> + +<xsl:template match='/'> + <fo:page-sequence> + <xsl:apply-templates/> + </fo:page-sequence> +</xsl:template> + +<xsl:template match="invitation"> +<fo:list-block> + <xsl:call-template name="listitem"> + <xsl:param name="labeltext">To</xsl:param> + <xsl:param name="itemid">listto</xsl:param> + <xsl:param name="itemtext">to</xsl:param> + </xsl:call-template> +</fo:list-block> +</xsl:template> + +</xsl:stylesheet> + + + + + diff --git a/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/templatestok.xsl b/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/templatestok.xsl new file mode 100644 index 00000000000..01daaaa4c32 --- /dev/null +++ b/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/templatestok.xsl @@ -0,0 +1,31 @@ +<?xml version='1.0'?> +<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:fo="http://www.w3.org/XSL/Format/1.0" + result-ns="fo" + default-space=""> + +<xsl:template match='/'> + <fo:page-sequence> + <xsl:apply-templates/> + </fo:page-sequence> +</xsl:template> + +<xsl:template match="invitation"> +<fo:list-block> + <fo:list-item id="listto"> + <fo:list-item-label font-style="italic"> + <xsl:text>To:</xsl:text> + </fo:list-item-label> + <fo:list-item-body> + <xsl:value-of select="to"/> + </fo:list-item-body> + </fo:list-item> +</fo:list-block> +</xsl:template> + +</xsl:stylesheet> + + + + + diff --git a/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/test-SGMLS.pl b/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/test-SGMLS.pl new file mode 100644 index 00000000000..f18f972832e --- /dev/null +++ b/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/test-SGMLS.pl @@ -0,0 +1,13 @@ +use SGMLS; + +$\ = "\n"; + +$parse = new SGMLS(STDIN); + +while ($event = $parse->next_event) { + print "Event type: " . $event->type; + print "Data: " . $event->data; + print "File: " . $event->file || "[unavailable]"; + print "Line: " . $event->line || "[unavailable]"; + print ""; +} diff --git a/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/writefiles.xml b/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/writefiles.xml new file mode 100644 index 00000000000..0f1db9648a5 --- /dev/null +++ b/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/writefiles.xml @@ -0,0 +1,9 @@ +<outputfiles> +<file filename="filea.out"> +10 < 20 +</file> +<file filename="fileb.out"> +43 > 34 +An ampersand character: &. +</file> +</outputfiles> diff --git a/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/wrong.xml b/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/wrong.xml new file mode 100644 index 00000000000..4f3827b7adc --- /dev/null +++ b/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/wrong.xml @@ -0,0 +1,15 @@ +<?xml version="1.0"?> +<!DOCTYPE wrong [ +<!ELEMENT wrong (par*)> +<!ELEMENT par (#PCDATA|emph)*> +<!ELEMENT emph (#PCDATA)*> +]> +<wrong> +<par>This part has wrong entity syntax <par>.</par> +<emph>Emph text outside scope.</emph> +<par>Here comes another error <par>a second level +paragraph</par>.</par> +<par>A wrongly nested <emph>construct</par></emph>. +Some more text outside valid scope +<par>Reserved characters "&" "<" ">" ";" .</par> +</wrong> diff --git a/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/xml.dcl b/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/xml.dcl new file mode 100644 index 00000000000..fed21030921 --- /dev/null +++ b/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/xml.dcl @@ -0,0 +1,179 @@ +<!SGML -- SGML Declaration for valid XML documents -- + "ISO 8879:1986 (WWW)" + + CHARSET + BASESET + "ISO Registration Number 176//CHARSET + ISO/IEC 10646-1:1993 UCS-4 with implementation + level 3//ESC 2/5 2/15 4/6" + DESCSET + 0 9 UNUSED + 9 2 9 + 11 2 UNUSED + 13 1 13 + 14 18 UNUSED + 32 95 32 + 127 1 UNUSED + 128 32 UNUSED + -- use this instead of the official declaration because SP only + supports 16-bit characters -- + 160 65374 160 + 65534 2 UNUSED + -- 55296 2048 UNUSED + 57344 8190 57344 + 65534 2 UNUSED + 65536 1048576 65536 -- + CAPACITY NONE + + SCOPE DOCUMENT + + SYNTAX + SHUNCHAR NONE + BASESET "ISO Registration Number 176//CHARSET + ISO/IEC 10646-1:1993 UCS-4 with implementation + level 3//ESC 2/5 2/15 4/6" + DESCSET + 0 1114112 0 + FUNCTION + RE 13 + RS 10 + SPACE 32 + TAB SEPCHAR 9 + + NAMING + LCNMSTRT "" + UCNMSTRT "" + NAMESTRT + 58 95 192-214 216-246 248-305 308-318 321-328 + 330-382 384-451 461-496 500-501 506-535 592-680 + 699-705 902 904-906 908 910-929 931-974 976-982 + 986 988 990 992 994-1011 1025-1036 1038-1103 + 1105-1116 1118-1153 1168-1220 1223-1224 + 1227-1228 1232-1259 1262-1269 1272-1273 + 1329-1366 1369 1377-1414 1488-1514 1520-1522 + 1569-1594 1601-1610 1649-1719 1722-1726 + 1728-1742 1744-1747 1749 1765-1766 2309-2361 + 2365 2392-2401 2437-2444 2447-2448 2451-2472 + 2474-2480 2482 2486-2489 2524-2525 2527-2529 + 2544-2545 2565-2570 2575-2576 2579-2600 + 2602-2608 2610-2611 2613-2614 2616-2617 + 2649-2652 2654 2674-2676 2693-2699 2701 + 2703-2705 2707-2728 2730-2736 2738-2739 + 2741-2745 2749 2784 2821-2828 2831-2832 + 2835-2856 2858-2864 2866-2867 2870-2873 2877 + 2908-2909 2911-2913 2949-2954 2958-2960 + 2962-2965 2969-2970 2972 2974-2975 2979-2980 + 2984-2986 2990-2997 2999-3001 3077-3084 + 3086-3088 3090-3112 3114-3123 3125-3129 + 3168-3169 3205-3212 3214-3216 3218-3240 + 3242-3251 3253-3257 3294 3296-3297 3333-3340 + 3342-3344 3346-3368 3370-3385 3424-3425 + 3585-3630 3632 3634-3635 3648-3653 3713-3714 + 3716 3719-3720 3722 3725 3732-3735 3737-3743 + 3745-3747 3749 3751 3754-3755 3757-3758 3760 + 3762-3763 3773 3776-3780 3904-3911 3913-3945 + 4256-4293 4304-4342 4352 4354-4355 4357-4359 + 4361 4363-4364 4366-4370 4412 4414 4416 4428 + 4430 4432 4436-4437 4441 4447-4449 4451 4453 + 4455 4457 4461-4462 4466-4467 4469 4510 4520 + 4523 4526-4527 4535-4536 4538 4540-4546 4587 + 4592 4601 7680-7835 7840-7929 7936-7957 + 7960-7965 7968-8005 8008-8013 8016-8023 8025 + 8027 8029 8031-8061 8064-8116 8118-8124 8126 + 8130-8132 8134-8140 8144-8147 8150-8155 + 8160-8172 8178-8180 8182-8188 8486 8490-8491 + 8494 8576-8578 12295 12321-12329 12353-12436 + 12449-12538 12549-12588 19968-40869 44032-55203 + + LCNMCHAR "" + UCNMCHAR "" + NAMECHAR + 45-46 183 720-721 768-837 864-865 903 1155-1158 + 1425-1441 1443-1465 1467-1469 1471 1473-1474 + 1476 1600 1611-1618 1632-1641 1648 1750-1764 + 1767-1768 1770-1773 1776-1785 2305-2307 2364 + 2366-2381 2385-2388 2402-2403 2406-2415 + 2433-2435 2492 2494-2500 2503-2504 2507-2509 + 2519 2530-2531 2534-2543 2562 2620 2622-2626 + 2631-2632 2635-2637 2662-2673 2689-2691 2748 + 2750-2757 2759-2761 2763-2765 2790-2799 + 2817-2819 2876 2878-2883 2887-2888 2891-2893 + 2902-2903 2918-2927 2946-2947 3006-3010 + 3014-3016 3018-3021 3031 3047-3055 3073-3075 + 3134-3140 3142-3144 3146-3149 3157-3158 + 3174-3183 3202-3203 3262-3268 3270-3272 + 3274-3277 3285-3286 3302-3311 3330-3331 + 3390-3395 3398-3400 3402-3405 3415 3430-3439 + 3633 3636-3642 3654-3662 3664-3673 3761 + 3764-3769 3771-3772 3782 3784-3789 3792-3801 + 3864-3865 3872-3881 3893 3895 3897 3902-3903 + 3953-3972 3974-3979 3984-3989 3991 3993-4013 + 4017-4023 4025 8400-8412 8417 12293 12330-12335 + 12337-12341 12441-12442 12445-12446 12540-12542 + + NAMECASE + GENERAL NO + ENTITY NO + + DELIM + GENERAL SGMLREF + HCRO "&#x" -- 38 is the number for ampersand -- + NESTC "/" + NET ">" + PIC "?>" + SHORTREF NONE + + NAMES + SGMLREF + + QUANTITY NONE + + ENTITIES + "amp" 38 + "lt" 60 + "gt" 62 + "quot" 34 + "apos" 39 + + FEATURES + MINIMIZE + DATATAG NO + OMITTAG NO + RANK NO + SHORTTAG + STARTTAG + EMPTY NO + UNCLOSED NO + NETENABL IMMEDNET + ENDTAG + EMPTY NO + UNCLOSED NO + ATTRIB + DEFAULT YES + OMITNAME NO + VALUE NO + EMPTYNRM YES + IMPLYDEF + ATTLIST NO + DOCTYPE NO + ELEMENT NO + ENTITY NO + NOTATION NO + LINK + SIMPLE NO + IMPLICIT NO + EXPLICIT NO + OTHER + CONCUR NO + SUBDOC NO + FORMAL NO + URN NO + KEEPRSRE YES + VALIDITY TYPE + ENTITIES + REF ANY + INTEGRAL YES + APPINFO NONE + SEEALSO "ISO 8879:1986//NOTATION + Extensible Markup Language (XML) 1.0//EN" +> diff --git a/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/xslexa1.xsl b/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/xslexa1.xsl new file mode 100644 index 00000000000..9a9338b86c9 --- /dev/null +++ b/Master/texmf-dist/doc/latex/latex-web-companion/xmlstyle/xslexa1.xsl @@ -0,0 +1,20 @@ +<?xml version='1.0'?> +<xsl:stylesheet version="1.0" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:fo="http://www.w3.org/XSL/Format/1.0"> + <xsl:template match="/"> + <fo:basic-page-sequence font-family="Helvetica" font-size="10pt" > + <xsl:apply-templates/> + </fo:basic-page-sequence> + </xsl:template> + <xsl:template match="par"> + <fo:block indent-start="10pt" space-before="12pt"> + <xsl:apply-templates/> + </fo:block> + </xsl:template> + <xsl:template match="emph"> + <fo:inline-sequence font-style="italic"> + <xsl:apply-templates/> + </fo:inline-sequence> + </xsl:template> +</xsl:stylesheet> |