Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make XPointer work with GeekoDoc/DocBook 5 #510

Open
tomschr opened this issue May 23, 2019 · 0 comments · May be fixed by #511
Open

Make XPointer work with GeekoDoc/DocBook 5 #510

tomschr opened this issue May 23, 2019 · 0 comments · May be fixed by #511
Labels

Comments

@tomschr
Copy link
Collaborator

tomschr commented May 23, 2019

Problem description

If you use a document written in GeekoDoc/DocBook 5 which contains XPointers with the xpointer() scheme, the process gives you this error message:

build/.profiled/x86_64_zseries_power_aarch64_article/art_pcidss.xml:11:114: warning: 
SchemeUnsupported: The XPointer scheme 'xpointer' is not supported.

As Jing depends on Xerces and Xerces does not support the XPointer xpointer() scheme, Jing fails.

Expected behavior

The XPointer is resolved correctly.

At the moment, I only see the option to use xmllint to resolve any XInclude/XPointer and validate afterwards with jing.

Steps to reproduce the behavior

In the SLE repository:

  1. Open the file art_pcidss.xml in your editor.

  2. Inside the DOCTYPE declaration, add the following additional line:

     <!ENTITY d.xptr "xmlns(d=http://docbook.org/ns/docbook)">
    
  3. Replace the following line:

     <xi:include xpointer="&d.xptr;xpointer(/*/d:info[1]/d:abstract[1])" href="security_pcidss.xml"/>
    

    with this line:

     <xi:include xpointer="&d.xptr;xpointer(/*/d:info[1]/d:abstract[1])" href="security_pcidss.xml"/>
    
  4. Validate with daps to get the error above:

     $ daps -vv -d DC-SLES-pcidss validate
    
tomschr added a commit that referenced this issue May 23, 2019
Jing fails as it depends on Xerces. As Xerces does not support
the xpointer() scheme, we need to give jing a "complete"
document. The document is created by `xmllint`.

Currently it's an ugly implementation as it appends ".resolved"
to the `PROFILED_MAIN` variable. Probably we need to adapt the
code in other locations too.

For the time being, it's just the validate subcommand.
@tomschr tomschr linked a pull request May 23, 2019 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant