On 18 January 2016 at 21:16, Hans Hagen <pra...@wxs.nl> wrote: > On 1/18/2016 9:49 PM, Kate F wrote: >> >> On 18 January 2016 at 19:13, Hans Hagen <pra...@wxs.nl> wrote: >>> >>> On 1/18/2016 5:22 PM, Kate F wrote: >>>> >>>> >>>> On 18 January 2016 at 13:30, Thomas A. Schmitz >>>> <thomas.schm...@uni-bonn.de> wrote: >>>>> >>>>> >>>>> On 01/17/2016 07:24 PM, Hans Hagen wrote: >>>>>> >>>>>> >>>>>> >>>>>> it should work in the in beta now >>>>> >>>>> >>>>> >>>>> >>>>> Hi Hans, >>>>> >>>>> now I have a problem :-) What should take precedence if an entity is >>>>> both >>>>> defined in the dtd and as a \xmltexentity? The way I see it, the >>>>> latter: >>>>> e.g., in the DTD, I might declare something for use in a browser but >>>>> require >>>>> a different solution when typesetting with ConTeXt. The latest and >>>>> greatest >>>>> now takes my DTD definitions instead of the \xmltexentities, which did >>>>> not >>>>> happen before. Is that an unwanted side effect or the new default? >>>>> >>>> >>>> Ah, there's a bug: >>>> >>>> <!ENTITY i.opt "<option>-i</option>"> >>>> >>>> This should produce an <option> node in the DOM tree, just as if you'd >>>> typed that out where the entity is used. Currently ConTeXt takes that >>>> as literal text, as if you'd typed "<option>-i<option/>" >>>> >>>> Often I wish XML weren't so complex... >>> >>> >>> >>> are you sure? i've never seen that >>> >>> Hans >> >> >> Yep! >> >> These are called "internal parsed entities". "Parsed" requires that >> any tags *inside* the entity must be balanced, unlike in SGML >> entities. >> >> Sorry I can't find a clear explanation in the XML spec; it's a pretty >> confusing document. >> But here's some random person's slide illustrating an example: >> http://images.slideplayer.com/23/6622270/slides/slide_47.jpg >> >> libxml2 deals with these correctly, which is what I've been using >> (xsltproc and friends) for my documents which use them. I generally >> trust libxml2 to get things right. >> >> I use these entities to centralise often-repeated fragments between >> documents, kind of like how you might use a primitive macro in TeX. >> >> So for example in one external DTD I have some general things: >> >> <!ENTITY macro.arg "<replaceable>macro</replaceable>"> >> <!ENTITY equal.lit "<literal>=</literal>"> >> >> And then in one specific document's internal entities, something which >> uses them: >> >> <!ENTITY D2.opt >> >> "<option>-D</option>¯o.arg;&equal.lit;<replaceable>defn</replaceable>"> >> >> Then if I change my mind about how I want to mark up "=", for example, >> I only have one place to change it. This makes life with XML a little >> bit less painful. > > > well, i've learned not to trust all these docs on the web too much and > applications can do what they want (and thereby even influence standards) > > xml pocket reference: > > - parsed entity: replacement text that can be referenced > > internal: literal string to be injected (then the example > shows only text and entities > > in your example you use a (decimal) character entity ... the link you give > says that you cannot use & and % as part of the entities value so that would > mean your example is wrong >
Indeed I did not mean that somebody's presentation slides are normative. This is normative for XML 1.0: https://www.w3.org/TR/1998/REC-xml-19980210#wf-entities Which has the following productions: extParsedEnt ::= TextDecl? content content ::= (element | CharData | Reference | CDSect | PI | Comment)* So you can see that both elements (by "element") and entity references (by "Reference") are permitted in the grammar. The latter includes: Reference ::= EntityRef | CharRef EntityRef::='&' Name ';' Per this, all my examples are correct. O'Reilly XML in a Nutshell has an example: http://docstore.mik.ua/orelly/xml/xmlnut/ch03_04.htm > of course we can consider an option to parse the entity as xml > > (we can consider < as a trigger for parsing thereby kin dof automatically > adapting) > I do not think this is a good idea - per the XML spec, these entities should always be taken as well-formed fragments of XML. So treating them otherwise would be incorrect. Thanks, -- Kate ___________________________________________________________________________________ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://tex.aanhet.net archive : http://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___________________________________________________________________________________