Manual Reference Pages - LATEXML::COMMON::MODEL (3)
"LaTeXML::Common::Model" - represents the Document Model
LaTeXML::Common::Model encapsulates information about the document model to be used
in converting a digested document into XML by the LaTeXML::Core::Document.
This information is based on the document schema (eg, DTD, RelaxNG),
but is also modified by package modules; thus the model may not be
complete until digestion is completed.
The kinds of information that is relevant is not only the content model
(what each element can contain contain), but also SGML-like information
such as whether an element can be implicitly opened or closed, if needed
to insert a new element into the document.
Currently, only an approximation to the schema is understood and used.
For example, we only record that certain elements can appear within another;
we dont preserve any information about required order or number of instances.
It extends LaTeXML::Common::Object.
$model = LaTeXML::Common::Model->new(%options);
Creates a new model. The only useful option is
permissive=>1 which ignores any DTD and allows the
document to be built without following any particular content model.
Declares the expected rootelement, the public and system IDs of the document type
to be used in the final document. The hash %namespaces specifies
the namespace prefixes that are expected to be found in the DTD, along with
the associated namespace URI. These prefixes may be different from
the prefixes used in implementation code (eg. in ltxml files; see RegisterNamespace).
The generated document will use the namespaces and prefixes defined here.
Note that there are two namespace mappings between namespace URIs and prefixes
that are relevant to LaTeXML.
The code mapping is the one used in code implementing packages, and in
particular, constructors defined within those packages. The prefix ltx
is used consistently to refer to LaTeXMLs own namespace
The other mapping, the document mapping, is used in the created document;
this may be different from the code mapping in order to accommodate
DTDs, for example, or for use by other applications that expect
a rigid namespace mapping.
Register $prefix to stand for the namespace $namespace_url.
This prefix can then be used to create nodes in constructors and Document methods.
It will also be recognized in XPath expressions.
Return the prefix to use for the given $namespace.
If $forattribute is nonzero, then it looks up the prefix as appropriate for attributes.
If $probe is nonzero, it only probes for the prefix, without creating a missing entry.
Return the namespace url for the given $prefix.
$boole = $model->canContain($tag,$childtag);
Returns whether an element with qualified name $tag can contain an element
with qualified name $childtag.
The tag names #PCDATA, #Document, #Comment and #ProcessingInstruction
are specially recognized.
$boole = $model->canHaveAttribute($tag,$attribute);
Returns whether an element with qualified name $tag is allowed to have an attribute
with the given name.
Bruce Miller <email@example.com>
Public domain software, produced as part of work done by the
United States Government & not subject to copyright in the US.
|perl v5.20.3 ||LATEXML::COMMON::MODEL (3) ||2014-11-15 |
Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.