[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: XML & Entities inclusion against Inline Tag facilities.
In message <199705220709.JAA28224@i...> Alexandre Mutel writes: This is an important subject as I am currently wrestling with the XML linking spec at present. I'd be happy to see a clear exposition of how XML includes/transcludes document/fragments, etc. <INTERLUDE> Although XML-DEV is not intended as a forum for beginners, there are a number of questions - like the current one - which are legitimate to discuss if we don't have a lot of traffic. I also think it's easy for developers to misinterpret parts of the spec (I have done this in a major way and fairly publicly with XML-LINK I think :-). Also <PLUG> Since I am running a virtual course on XML and Java (see URL), it's useful to know what questions come up :-) </PLUG> </INTERLUDE> > hello, > > In XML specs (like SGML features), they talk about entities inclusions in > a document... Something like: > > <!DOCTYPE book [ > <!ELEMENT book (#PCDATA) > > <!ENTITY including SYSTEM "http://server1.com/index.txt"> > ]> > <book> > &including; > </book> This is indeed correct and PARSERs are required to implement it. For many applications it will simply be an insertion of the text in index.txt at the point of the entity reference. So if index.txt contained: <P>That's all folks!</P> the parser would create an intermediate instance: <book> <P>That's all folks!</P> </book> Note that if there is whitespace in the entity, this whitespace is included in the document. Also, if there are entity references in the entity, *these* are then processed. This facility only works for entities which are XML documents (but see NOTATIONS) They cannot have a DOCTYPE or subset and must correspond to a wellformed document. (e.g. <P>That's all folks! would not be allowed. However the spec 4.4(8) says that if the processor (i.e. the parser) is NOT validating the document, it doesn't have to expand the entity. I assume (contributions, please) that this would be done through a parser switch (-E expand entities, or similar). That means that your document could still parse (WF) even if the entity was not WF as long as expansion was disabled. > > Okay,they say that with XML-SGML a document can be built with document-part- > included using entities facilities. > HTML doesn't make use of external entities but it can do inline image through > some tag... In XML specs i doesn't see any reference to TAG or special attri- > butes that can handle inclusion of document component (text,image,object). This will be done through XML-LINK. This is much more powerful than HTML as it can be applied to any element. Here's how HTML's IMG would look in XML <!ATTLIST IMG XML-LINK CDATA #FIXED SIMPLE SHOW CDATA #FIXED EMBED ACTUATE CDATA #FIXED AUTO HREF CDATA #REQUIRED > This defines IMG to be a SIMPLE XML-LINK. (Its target 'resource' is located through HREF just as in HTML's A. <A> behaves with ACTUATE="USER" SHOW="REPLACE", i.e. nothing happens till the user clicks it, and then (usually) the display is replaced by the new 'resource'. For IMG the link is traversed immediately it is encountered, and the resource is embedded in the document (probably near the <IMG> element). > > I would like to know : > - if in the future, we 'll only use external entities to include a > document component ? No, you can use XML-LINK to refer to part of the current document, as well as to external documents. If the external documents are XML then it is often straightforward to include them, but only if they have the same DOCTYPE If they have different DOCTYPEs we have a namespace problem and we are still wrestling with that one (e.g. <CML> The rate of this reaction is given by <A HREF="eqn1.xml">equation 1</A> </CML> where eqn1.xml might be written in MathML. ) If the external entity is BINARY (i.e. not XML - it may stiil be ASCII) then a NOTATION is required (e.g. for GIF). I'll stop there and suggest someone else tells us how to use NOTATION because I haven't implemented it yet!! > - anyelse, does XML will support special attributes for Tag to specify > that this Tag with this attributes can include something? You can add XML-LINK attributes to ANY element, so you don't have to use a single one like <TAG> > - or does this feature will be hardcoded in a browser, making the same > mistake than HTML? Nothing is hardcoded in JUMBO, which is the first XML browser that I know of :-). If a browser manufacturer wishes to limit their browser to one particular XML application then good luck to them - maybe their market is well-defined. For example, if someone writes an XML browser specifically for mobile phones, they may well hardcode their application. I am strongly urging the scientific/technical/medical community to develop interoperable components and with CML and MathML we are off to a good start. A generic browser (like JUMBO) has to be prepared to implement XML-LINK and XML-STYLE independently of the DTD. It also has to be able to switch DOCTYPES for different namespaces. In principle it also has to be able to find tools to deal with a number of common NOTATIONS (GIF, CGM, etc.) and I hope that people will produce self-installing tools for those to save the browser m'facturers having to reinvent it every time. For the major horizontal browser m'facturers, we shall have to wait and see. I'm very much hoping there is a good API into XML browsers so that developers can avoid having to render HTML, interface with mail, etc. Let's have your postings...but keep them targeted to the development of XML tools, resources, documents, tutorials, etc. P. -- Peter Murray-Rust, domestic net connection Virtual School of Molecular Sciences http://www.vsms.nottingham.ac.uk/ xml-dev: A list for W3C XML Developers Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/ To unsubscribe, send to majordomo@i... the following message; unsubscribe xml-dev List coordinator, Henry Rzepa (rzepa@i...)
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|