X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2FDEVEL%2Fpxp%2Fpxp%2Fdoc%2FEXTENSIONS;fp=helm%2FDEVEL%2Fpxp%2Fpxp%2Fdoc%2FEXTENSIONS;h=a956839100f38965981f356a472d399d578288a9;hb=c03d2c1fdab8d228cb88aaba5ca0f556318bebc5;hp=0000000000000000000000000000000000000000;hpb=758057e85325f94cd88583feb1fdf6b038e35055;p=helm.git diff --git a/helm/DEVEL/pxp/pxp/doc/EXTENSIONS b/helm/DEVEL/pxp/pxp/doc/EXTENSIONS new file mode 100644 index 000000000..a95683910 --- /dev/null +++ b/helm/DEVEL/pxp/pxp/doc/EXTENSIONS @@ -0,0 +1,50 @@ +****************************************************************************** +Extensions of the XML specification +****************************************************************************** + + +============================================================================== +This document +============================================================================== + +This parser has some options extending the XML specification. Here, the options +are explained. + +============================================================================== +Optional declarations instead of mandatory declarations +============================================================================== + +The XML spec demands that elements, notations, and attributes must be declared. +However, there are sometimes situations where a different rule would be better: +If there is a declaration, the actual instance of the element type, notation +reference or attribute must match the pattern of the declaration; but if the +declaration is missing, a reasonable default declaration should be assumed. + +I have an example that seems to be typical: The inclusion of HTML into a meta +language. Imagine you have defined some type of "generator" or other tool +working with HTML fragments, and your document contains two types of elements: +The generating elements (with a name like "gen:xxx"), and the object elements +which are HTML. As HTML is still evolving, you do not want to declare the HTML +elements; the HTML fragments should be treated as well-formed XML fragments. In +contrast to this, the elements of the generator should be declared and +validated because you can more easily detect errors. + +The following two processing instructions can be included into the DTD: + +- + + + References to unknown element types and notations no longer cause an error. + The element may contain everything, but it must be still well-formed. It may + have arbitrary attributes, and every attribute is treated as an #IMPLIED + CDATA attribute. + +- + + + References to unknown attributes inside one of the enumerated elements no + longer cause an error. Such an attribute is treated as an #IMPLIED CDATA + attribute. + If there are several "optional-attribute-declarations" PIs, they are all + interpreted (implicitly merged). +