OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

docbook-apps message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


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]