[Openstack-docs] Use of XML xi:include with xpointer
Shaun McCance
shaunm at gnome.org
Tue Aug 6 17:25:49 UTC 2013
On Mon, 2013-08-05 at 16:10 -0500, David Cramer wrote:
> Unfortunately, the (confusingly named) xpointer scheme was only ever
> supported by libxml (xsltproc/xmllint). We're using Calabash to process
> the xml which supports the xpath() scheme. In my other post I provide
> examples of how to grab all the children of an element or all except for
> the title.
Ah, my fault. I'm so used to working with libxml that I'd forgotten that
xinclude/xpointer interoperability was hampered by the lack of agreement
on the xpointer schemes.
> In my experiments, I haven't gotten Calabash to be namespace-aware when
> handling the xpath expressions. I've posted a question to xproc-dev
> about this to find out what's up.
Does it not respect the xmlns() scheme? That seems to be some sort of
standard, according to this page:
http://www.w3.org/2005/04/xpointer-schemes/
>
> On 07/31/2013 10:36 AM, Shaun McCance wrote:
> > XInclude doesn't let you add child elements to the included element,
> > but you can include multiple elements with XInclude, just not with
> > the element() scheme. The xpointer() scheme allows you to use XPath,
> > so you can put something at the end by manually duplicating the
> > section element, then including the child content of the target
> > section element:
> >
> > <section id="some_id">
> > <xi:include href="some_file.xml"
> > xpointer="xpointer(id('some_id')/*)"/>
> > <para>Something at the end</para>
> > </section>
> >
> > It's more complicated to put something at the beginning, because
> > you have to account for things like title and info elements. Not
> > accounting for titleabbrev and subtitle:
> >
> > <section id="some_id">
> > <xi:include href="some_file.xml"
> > xpointer="xmlns(db=http://docbook.org/ns/docbook)
> > xpointer(id('some_id')/db:title)">
> > <xi:fallback/>
> > </xi:include>
> > <xi:include href="some_file.xml"
> > xpointer="xmlns(db=http://docbook.org/ns/docbook)
> > xpointer(id('some_id')/db:info)">
> > <xi:fallback/>
> > </xi:include>
> > <para>Something at the beginning</para>
> > <xi:include href="some_file.xml"
> > xpointer="xmlns(db=http://docbook.org/ns/docbook)
> > xpointer(id('some_id')/*
> > [not(self::db:title or self::db:info)]
> > )"/>
> > <para>Something at the end</para>
> > </section>
> >
> > Kind of messy, but still more long-term maintainable than manually
> > including each child element of the target section.
> >
> > I wrote a howto on XInclude a couple years back, which you might
> > find useful:
> >
> > http://blogs.gnome.org/shaunm/2011/07/21/understanding-xinclude/
> >
> > --
> > Shaun
> >
> > On Wed, 2013-07-31 at 02:41 +0000, Sean Roberts wrote:
> >> Both actually. I want to place a submit bug link at the end of each
> >> section. Also want to add some text at the beginning for many of the
> >> included sections describing training objectives.
> >>
> >>
> >> I'd also be interested in ideas on using xslt to rip and replace tags.
> >> But that probably can wait a little bit.
> >>
> >> ~sean
> >>
> >> On Jul 30, 2013, at 9:18, "Anne Gentle"
> >> <annegentle at justwriteclick.com> wrote:
> >>
> >>
> >>> Hi Sean,
> >>> Do you want some sort of "glue text" so that the guide can be read
> >>> in a linear way? Or is it text that you'll use over and over, such
> >>> as "Now go take the test." Let us know what you're trying to do.
> >>>
> >>>
> >>> You can't really strip a tag at a time without XSLT (the transform
> >>> code that lives in the Maven plugin).
> >>> Anne
> >>>
> >>>
> >>> On Tue, Jul 30, 2013 at 9:19 AM, Sean Roberts
> >>> <seanrob at yahoo-inc.com> wrote:
> >>> Ideas on how to add text to the included section or final
> >>> page? Part of the problem may be from that I'm stuck using
> >>> the chapter or section of the original XML. If I could
> >>> include, strip the section tags, then I could add text no
> >>> problem.
> >>>
> >>> ~sean
> >>>
> >>> On Jul 30, 2013, at 6:54, "Anne Gentle"
> >>> <annegentle at justwriteclick.com> wrote:
> >>>
> >>>
> >>> > I think DocBook sees the markup as a closed section
> >>> > followed by a para whic is invalid.
> >>> >
> >>> > Anne Gentle
> >>> > Content Stacker
> >>> > anne at openstack.org
> >>> >
> >>> >
> >>> >
> >>> > On Jul 30, 2013, at 8:38 AM, Sean Roberts
> >>> > <seanrob at yahoo-inc.com> wrote:
> >>> >
> >>> >
> >>> > > I am pulling in a section through <xi:include
> >>> > > href="http.....xpointer="element(foobar)"></xi:include>
> >>> > > If I want to use additional text, I'm forced to make it
> >>> > > a section as well. I want to add text to the beginning
> >>> > > or end of the the included section.
> >>> > > I tried <xi:include
> >>> > > href="http.....xpointer="element(foobar)"><para>blah
> >>> > > blah</para></xi:include>
> >>> > > , which shows up without error in oxygen, but maven
> >>> > > seems to strip it out during HTML build.
> >>> > >
> >>> > > ~sean
> >>> > >
> >>> > > On Jul 30, 2013, at 6:24, "Anne Gentle"
> >>> > > <annegentle at justwriteclick.com> wrote:
> >>> > >
> >>> > >
> >>> > > > Hi Sean,
> >>> > > > Post your XML code so we can take a closer look, or a
> >>> > > > link to the patch and the file name so we can look at
> >>> > > > it.
> >>> > > > Thanks!
> >>> > > > Anne
> >>> > > >
> >>> > > >
> >>> > > > On Tue, Jul 30, 2013 at 2:56 AM, Sean Roberts
> >>> > > > <seanrob at yahoo-inc.com> wrote:
> >>> > > > I have another question. I'm bringing in the
> >>> > > > sections which is the smallest page into the
> >>> > > > built HTML. I'm trying to add text and links
> >>> > > > within the final HTML page without success.
> >>> > > > Oxygen shows the link and text fine, but the
> >>> > > > maven built site only has the included
> >>> > > > section. Perhaps some adjustment within the
> >>> > > > pom file...
> >>> > > >
> >>> > > > ~sean
> >>> > > >
> >>> > > > On Jul 29, 2013, at 9:34, "Diane Fleming"
> >>> > > > <diane.fleming at rackspace.com> wrote:
> >>> > > >
> >>> > > >
> >>> > > > > I don't know if this will work, but this is
> >>> > > > how I used xpointer to pull in
> >>> > > > > content from one file to another:
> >>> > > > >
> >>> > > > >
> >>> > > > > Target file (pulls in content)
> >>> > > > >
> >>> > > > > <title>Overview</title>
> >>> > > > > <xi:include href="ch_gs_overview.xml"
> >>> > > > > xpointer="element(over1)"/>
> >>> > > > > <xi:include href="ch_gs_overview.xml"
> >>> > > > > xpointer="element(over2)"/>
> >>> > > > > <xi:include href="ch_gs_overview.xml"
> >>> > > > > xpointer="element(over3)"/>
> >>> > > > > <xi:include href="ch_gs_overview.xml"
> >>> > > > > xpointer="element(over4)"/>
> >>> > > > > <xi:include href="ch_gs_overview.xml"
> >>> > > > > xpointer="element(over5)"/>
> >>> > > > > <xi:include href="ch_gs_overview.xml"
> >>> > > > > xpointer="element(over6)"/>
> >>> > > > > <xi:include href="ch_gs_overview.xml"
> >>> > > > > xpointer="element(over7)"/>
> >>> > > > > <xi:include href="ch_gs_overview.xml"
> >>> > > > > xpointer="element(over8)"/>
> >>> > > > > <xi:include href="ch_gs_overview.xml"
> >>> > > > > xpointer="element(over9)"/>
> >>> > > > > <xi:include href="ch_gs_overview.xml"
> >>> > > > > xpointer="element(over10)"/>
> >>> > > > > <xi:include href="section_virt_ext.xml"/>
> >>> > > > >
> >>> > > > >
> >>> > > > >
> >>> > > > > Source file
> >>> > > > >
> >>> > > > >
> >>> > > > > <title>Overview</title>
> >>> > > > > <section
> >>> > > > xml:id="cn_overview"><title>Cloud
> >>> > > > Networks</title>
> >>> > > > > <para xml:id="over1">Cloud Networks lets
> >>> > > > you create a virtual
> >>> > > > > Layer 2 network, known as an isolated
> >>> > > > network, which gives you
> >>> > > > > greater control and security when you
> >>> > > > deploy web applications.
> >>> > > > > </para>
> >>> > > > > <para xml:id="over2">When you create a
> >>> > > > next generation Cloud
> >>> > > > > Server, Cloud Networks enables you to
> >>> > > > attach one or more
> >>> > > > > networks to your server. You can
> >>> > > > attach an isolated network
> >>> > > > > that you have created or a Rackspace
> >>> > > > network. </para>
> >>> > > > > <para xml:id="over3">If you install the
> >>> > > > &virt_ext;, you can create
> >>> > > > > a virtual interface to a specified
> >>> > > > Rackspace or isolated
> >>> > > > > network and attach that network to an
> >>> > > > existing server
> >>> > > > > instance. You can also list virtual
> >>> > > > interfaces for and delete
> >>> > > > > virtual interfaces from a server
> >>> > > > instance. For information
> >>> > > > > about the &virt_ext;, see <xref
> >>> > > > linkend="section_virt_ext"
> >>> > > > > />.</para>
> >>> > > > >
> >>> > > > >
> >>> > > > > etc.
> >>> > > > >
> >>> > > > >
> >>> > > > > Diane
> >>> > > > >
> >>> > > > >
> >>> > > > ----------------------------------------------
> >>> > > > > Diane Fleming
> >>> > > > > Software Developer II - US
> >>> > > > >
> >>> > > > > diane.fleming at rackspace.com
> >>> > > > > Cell 512.323.6799
> >>> > > > > Office 512.874.1260
> >>> > > > > Skype drfleming0227
> >>> > > > > Google-plus diane.fleming at gmail.com
> >>> > > > >
> >>> > > > >
> >>> > > > >
> >>> > > > >
> >>> > > > >
> >>> > > > >
> >>> > > > > On 7/29/13 9:27 AM, "Sean Roberts"
> >>> > > > <seanrob at yahoo-inc.com> wrote:
> >>> > > > >
> >>> > > > >> I'm working on reusing content from remote
> >>> > > > XML formatted sources to
> >>> > > > >> create new content. I'm using xi:include
> >>> > > > xpointer to a section of an
> >>> > > > >> existing XML file. Using the editor oxygen
> >>> > > > I can see the remote content,
> >>> > > > >> so I know my href is valid. But maven fails
> >>> > > > to build the html from the
> >>> > > > >> xml returning bad pointer.
> >>> > > > >>
> >>> > > > >> The remote content isn't using DTD or
> >>> > > > XMLschema. I'm hoping I can figure
> >>> > > > >> out how to walk the structure without
> >>> > > > having to.
> >>> > > > >> Any XML peoples that can help?
> >>> > > > >>
> >>> > > > >> ~sean
> >>> > > > >>
> >>> > > > _______________________________________________
> >>> > > > >> Openstack-docs mailing list
> >>> > > > >> Openstack-docs at lists.openstack.org
> >>> > > > >>
> >>> > > > http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-docs
> >>> > > > >
> >>> > > > >
> >>> > > >
> >>> > > > _______________________________________________
> >>> > > > Openstack-docs mailing list
> >>> > > > Openstack-docs at lists.openstack.org
> >>> > > > http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-docs
> >>> > > >
> >>> > > >
> >>> > > >
> >>> > > >
> >>> > > >
> >>> > > > --
> >>> > > > Anne Gentle
> >>> > > > annegentle at justwriteclick.com
> >>>
> >>>
> >>>
> >>>
> >>> --
> >>> Anne Gentle
> >>> annegentle at justwriteclick.com
> >> _______________________________________________
> >> Openstack-docs mailing list
> >> Openstack-docs at lists.openstack.org
> >> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-docs
> >
> >
> >
> > _______________________________________________
> > Openstack-docs mailing list
> > Openstack-docs at lists.openstack.org
> > http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-docs
> >
>
>
> _______________________________________________
> Openstack-docs mailing list
> Openstack-docs at lists.openstack.org
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-docs
More information about the Openstack-docs
mailing list