[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: RE: [docbook-apps] Alternative to entities?
Rather than using shorthand pointers (i.e. IDs), you could use a child sequence xpointer=element(/1/2/3) or xpointer=element(/these/those/27) i.e., avoid having ID attributes in the elements included. It is not too pretty, I know. It would be nice if you could declare those ID attributes *not* to be ID attributes *after* inclusion. That could be done in a two-step process: 1. run the the xinclude process with a schema/DTD that declare attributes to be IDs 2. further processing without schema/DTD or with one that declares those attributes to be CDATA I don't know how that could be done for XXE. You could possibly catch those specific warnings, or lobby for making those warnings optionable. kind regards Peter Ring > -----Original Message----- > From: Gurra Green [mailto:gurra_green@hotmail.com] > Sent: 24. januar 2005 12:24 > To: docbook-apps@lists.oasis-open.org > Subject: RE: [docbook-apps] Alternative to entities? > > > > Bringing up a thread from last week... > > I've introduced the XInclude mechanism as a way of replacing > entities among > my collueages. I have collected a number of phrases in a file > constant_strings.xml and references them with > > <xi:include > href="../common_chapters/constant_strings.xml" > xpointer="def_product_name" > xmlns:xi="http://www.w3.org/2001/XInclude" > /> > > Now the documents do not validate anymore; > ../common_chapters/constant_strings.xml:29: element phrase: > validity error : > ID def_product_name already defined > > The text above is from xmllint which we run as a step in the > daily builds of > .pdf. The message will break the build. A similar message is > written in > XMLMind which has a validation tab in the GUI. > According to the XMLMind tutorial already mentioned in this > thread the > warning: > "You can safely ignore this warning. It is reported when a > reference to an > external element has been pasted several times in the same modular > document." > > The daily build problem can possibly be avoided by some > wrapper between the > gnumake and xmllint, filtering the message (although I am NOT > found of such > solution) but the interactive part of the problem still > remains; having 200 > messages that always should be ignored will inevitablely make > people stop > looking at the warning messages, and real problems will pass through. > > Anybody having any ideas on this? At the moment I think we'll > have to back > on the XInclude way of solving my root problem and use the > sed solution > outside of the DocBook knowledge, but thtere might be > something else to do? > > /Gurra > > > > > > >From: "Peter Ring" <PRI@magnus.dk> > >To: "Jirka Kosek" <jirka@kosek.cz>,<davep@dpawson.co.uk> > >CC: "Gurra Green" <gurra_green@hotmail.com>,"Docbook-Apps" > ><docbook-apps@lists.oasis-open.org> > >Subject: RE: [docbook-apps] Alternative to entities? > >Date: Tue, 18 Jan 2005 14:32:51 +0100 > > > >Give it a try. In my experience, XInclude is well integrated in XXE. > > > >First, on the Options | Edit tab, you'd have selected Type > of document > >reference: 'XInclude' or 'Entity when possible, XInclude otherwise'. > > > >Then you could go along like this: > >1) open both entities.xml and the document that you are authoring > >2) select the element in entities.xml that you want to reference > >3) select Edit | Document Reference | Copy as Reference or type > >Ctrl+Shift+C > >4a) to insert an inline element, set the insertion point in > your document > >and type Ctrl+V > >4b) to insert a block element, set the insertion point in > your document and > >type Ctrl+U (paste before) or Ctrl+W (paste after). > > > >There's a tutorial [1]. > > > >The reference could look like this > > > > <xi:include href="entties.xml" > >xmlns:xi="http://www.w3.org/2001/XInclude" > > xpointer="productname" /> > > > >or > > > > <xi:include href="entties.xml" > >xmlns:xi="http://www.w3.org/2001/XInclude" > > xpointer="element(productname)" /> > > > >or > > > > <xi:include href="entties.xml" > >xmlns:xi="http://www.w3.org/2001/XInclude" > > xpointer="xpointer(id('productname'))" /> > > > >or > > > > <xi:include href="entties.xml" > >xmlns:xi="http://www.w3.org/2001/XInclude" > > xpointer="element(/1/2/3)" /> > > > >AFAIK, there's a couple of limitations. Not all off the > XPointer scheme is > >supported; the XPointer expression must yield a result > infoset with one > >node; and one particular feature that I miss > > > > <xi:include href="some-source-code-or-xml-file" > >xmlns:xi="http://www.w3.org/2001/XInclude" > > parse="text"> > > > >XXE will quote the included file as it is supposed to, but > the reference > >will be gone, replaced by the quoted content of the included file. > > > >[1] http://www.xmlmind.com/xmleditor/tutorial.html#id.s2 > > > >kind regards > >Peter Ring > > > > > -----Original Message----- > > > From: Jirka Kosek [mailto:jirka@kosek.cz] > > > Sent: 17. januar 2005 19:52 > > > To: davep@dpawson.co.uk > > > Cc: Gurra Green; Docbook-Apps > > > Subject: Re: [docbook-apps] Alternative to entities? > > > > > > > > > Dave Pawson wrote: > > > > > > > Not speaking from experience. > > > > > > > > If an xinclude aware processor is used, > > > > could that stand in for XML entities Jirka? > > > > > > Yep, you can use something like > > > > > > <xi:include href="entities.xml#productname"/> > > > > > > to pull element from external file entities.xml: > > > > > > <root> > > > <phrase xml:id="productname">SuperSoft v3.5</phrase> > > > ... > > > </root> > > > > > > But as you can see XInclude is quite verbose in this case > and I'm not > > > sure whether XXE can deal with such XIncludes. > > > > > > -- > > > ------------------------------------------------------------------ > > > Jirka Kosek e-mail: jirka@kosek.cz http://www.kosek.cz > > > ------------------------------------------------------------------ > > > Profesionální školení a poradenství v oblasti technologií XML. > > > Podívejte se na náš nově spuštěný web http://DocBook.cz > > > Podrobný přehled školení http://xmlguru.cz/skoleni/ > > > ------------------------------------------------------------------ > > > > > > > > _________________________________________________________________ > Want to block unwanted pop-ups? Download the free MSN Toolbar now! > http://toolbar.msn.co.uk/ > >
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]