[jabref] 07/11: adjust XJC patch to use a catalog and local XSDs

Tony Mancill tmancill at moszumanska.debian.org
Sun Dec 11 06:39:04 UTC 2016


This is an automated email from the git hooks/post-receive script.

tmancill pushed a commit to branch dev
in repository jabref.

commit 87b37b2300069e5f184a232410221f40bbe3c022
Author: tony mancill <tmancill at debian.org>
Date:   Sat Dec 10 14:09:55 2016 -0800

    adjust XJC patch to use a catalog and local XSDs
    
    This patch prevents the download of XSDs from external URLs.
    Instead, local copies of these resources are included in the
    patch.
    
      http://www.loc.gov/mods/xml.xsd
      http://www.loc.gov/standards/xlink/xlink.xsd
    
    The resources are located by xjc at build time via
    a catalog file.  For more information, see:
    
    https://jaxb.java.net/guide/Fixing_broken_references_in_schema.html
---
 debian/patches/030_xjc.patch | 268 ++++++++++++++++++++++++++++++++++++++++++-
 debian/xjc.sh                |  19 +++
 2 files changed, 282 insertions(+), 5 deletions(-)

diff --git a/debian/patches/030_xjc.patch b/debian/patches/030_xjc.patch
index 68d7a26..bb1c2a0 100644
--- a/debian/patches/030_xjc.patch
+++ b/debian/patches/030_xjc.patch
@@ -4,13 +4,271 @@ Forwarded: not-needed
 
 --- a/xjc.gradle
 +++ b/xjc.gradle
-@@ -3,7 +3,8 @@
+@@ -2,33 +2,8 @@
+     xjc
  }
  
- dependencies {
+-dependencies {
 -    xjc 'com.sun.xml.bind:jaxb-xjc:2.2.4-1'
-+    xjc 'com.sun.xml.bind:jaxb-impl:2.2.5'
-+    xjc 'com.sun.xml.bind:jaxb-xjc:2.2.5'
+-}
+-
+-task xjc {
+-    inputs.dir "src/main/resources/xjc/medline/"
+-    inputs.dir "src/main/resources/xjc/bibtexml/"
+-    inputs.dir "src/main/resources/xjc/mods/"
+-    outputs.dir "src/main/gen/net/sf/jabref/logic/importer/fileformat/medline"
+-    outputs.dir "src/main/gen/net/sf/jabref/logic/importer/fileformat/bibtexml"
+-    outputs.dir "src/main/gen/net/sf/jabref/logic/importer/fileformat/mods"
+-
+-    ant.taskdef(name: 'xjc', classname: 'com.sun.tools.xjc.XJCTask', classpath: configurations.xjc.asPath)
+-
+-    doLast {
+-        ant.xjc(destdir: 'src/main/gen/', package: 'net.sf.jabref.logic.importer.fileformat.medline') {
+-            schema(dir: 'src/main/resources/xjc/medline', includes: 'medline.xsd')
+-        }
+-        ant.xjc(destdir: 'src/main/gen/', package: 'net.sf.jabref.logic.importer.fileformat.bibtexml') {
+-            schema(dir: 'src/main/resources/xjc/bibtexml', includes: 'bibtexml.xsd')
+-        }
+-        ant.xjc(destdir: 'src/main/gen/', package: 'net.sf.jabref.logic.importer.fileformat.mods') {
+-            arg(value: '-npa') //don't create package-info.java because it was manually added in src/main/java to ensure the namespace prefix mapping
+-            schema(dir: 'src/main/resources/xjc/mods', includes: 'mods-3-6.xsd')
+-            binding(dir: 'src/main/resources/xjc/mods', includes: 'mods-binding.xjb')
+-        }
+-    }
++task xjc(type:Exec) {
++    commandLine 'debian/xjc.sh'
  }
  
- task xjc {
+ tasks.compileJava.dependsOn xjc
+--- /dev/null
++++ b/src/main/resources/xjc/mods/loc/mods/xml.xsd
+@@ -0,0 +1,146 @@
++<?xml version="1.0"?>
++<xs:schema targetNamespace="http://www.w3.org/XML/1998/namespace" xmlns:xs="http://www.w3.org/2001/XMLSchema" xml:lang="en">
++
++ <xs:annotation>
++  <xs:documentation>
++   See http://www.w3.org/XML/1998/namespace.html and
++   http://www.w3.org/TR/REC-xml for information about this namespace.
++
++    This schema document describes the XML namespace, in a form
++    suitable for import by other schema documents.
++
++    Note that local names in this namespace are intended to be defined
++    only by the World Wide Web Consortium or its subgroups.  The
++    following names are currently defined in this namespace and should
++    not be used with conflicting semantics by any Working Group,
++    specification, or document instance:
++
++    base (as an attribute name): denotes an attribute whose value
++         provides a URI to be used as the base for interpreting any
++         relative URIs in the scope of the element on which it
++         appears; its value is inherited.  This name is reserved
++         by virtue of its definition in the XML Base specification.
++
++    id   (as an attribute name): denotes an attribute whose value
++         should be interpreted as if declared to be of type ID.
++         The xml:id specification is not yet a W3C Recommendation,
++         but this attribute is included here to facilitate experimentation
++         with the mechanisms it proposes.  Note that it is _not_ included
++         in the specialAttrs attribute group.
++
++    lang (as an attribute name): denotes an attribute whose value
++         is a language code for the natural language of the content of
++         any element; its value is inherited.  This name is reserved
++         by virtue of its definition in the XML specification.
++
++    space (as an attribute name): denotes an attribute whose
++         value is a keyword indicating what whitespace processing
++         discipline is intended for the content of the element; its
++         value is inherited.  This name is reserved by virtue of its
++         definition in the XML specification.
++
++    Father (in any context at all): denotes Jon Bosak, the chair of
++         the original XML Working Group.  This name is reserved by
++         the following decision of the W3C XML Plenary and
++         XML Coordination groups:
++
++             In appreciation for his vision, leadership and dedication
++             the W3C XML Plenary on this 10th day of February, 2000
++             reserves for Jon Bosak in perpetuity the XML name
++             xml:Father
++  </xs:documentation>
++ </xs:annotation>
++
++ <xs:annotation>
++  <xs:documentation>This schema defines attributes and an attribute group
++        suitable for use by
++        schemas wishing to allow xml:base, xml:lang, xml:space or xml:id
++        attributes on elements they define.
++
++        To enable this, such a schema must import this schema
++        for the XML namespace, e.g. as follows:
++        <schema . . .>
++         . . .
++         <import namespace="http://www.w3.org/XML/1998/namespace"
++                    schemaLocation="http://www.w3.org/2001/xml.xsd"/>
++
++        Subsequently, qualified reference to any of the attributes
++        or the group defined below will have the desired effect, e.g.
++
++        <type . . .>
++         . . .
++         <attributeGroup ref="xml:specialAttrs"/>
++
++         will define a type which will schema-validate an instance
++         element with any of those attributes</xs:documentation>
++ </xs:annotation>
++
++ <xs:annotation>
++  <xs:documentation>In keeping with the XML Schema WG's standard versioning
++   policy, this schema document will persist at
++   http://www.w3.org/2005/08/xml.xsd.
++   At the date of issue it can also be found at
++   http://www.w3.org/2001/xml.xsd.
++   The schema document at that URI may however change in the future,
++   in order to remain compatible with the latest version of XML Schema
++   itself, or with the XML namespace itself.  In other words, if the XML
++   Schema or XML namespaces change, the version of this document at
++   http://www.w3.org/2001/xml.xsd will change
++   accordingly; the version at
++   http://www.w3.org/2005/08/xml.xsd will not change.
++  </xs:documentation>
++ </xs:annotation>
++
++ <xs:attribute name="lang">
++  <xs:annotation>
++   <xs:documentation>Attempting to install the relevant ISO 2- and 3-letter
++         codes as the enumerated possible values is probably never
++         going to be a realistic possibility.  See
++         RFC 3066 at http://www.ietf.org/rfc/rfc3066.txt and the IANA registry
++         at http://www.iana.org/assignments/lang-tag-apps.htm for
++         further information.
++
++         The union allows for the 'un-declaration' of xml:lang with
++         the empty string.</xs:documentation>
++  </xs:annotation>
++  <xs:simpleType>
++   <xs:union memberTypes="xs:language">
++    <xs:simpleType>
++     <xs:restriction base="xs:string">
++      <xs:enumeration value=""/>
++     </xs:restriction>
++    </xs:simpleType>
++   </xs:union>
++  </xs:simpleType>
++ </xs:attribute>
++
++ <xs:attribute name="space">
++  <xs:simpleType>
++   <xs:restriction base="xs:NCName">
++    <xs:enumeration value="default"/>
++    <xs:enumeration value="preserve"/>
++   </xs:restriction>
++  </xs:simpleType>
++ </xs:attribute>
++
++ <xs:attribute name="base" type="xs:anyURI">
++  <xs:annotation>
++   <xs:documentation>See http://www.w3.org/TR/xmlbase/ for
++                     information about this attribute.</xs:documentation>
++  </xs:annotation>
++ </xs:attribute>
++
++ <xs:attribute name="id" type="xs:ID">
++  <xs:annotation>
++   <xs:documentation>See http://www.w3.org/TR/xml-id/ for
++                     information about this attribute.</xs:documentation>
++  </xs:annotation>
++ </xs:attribute>
++
++ <xs:attributeGroup name="specialAttrs">
++  <xs:attribute ref="xml:base"/>
++  <xs:attribute ref="xml:lang"/>
++  <xs:attribute ref="xml:space"/>
++ </xs:attributeGroup>
++
++</xs:schema>
+--- /dev/null
++++ b/src/main/resources/xjc/mods/loc/standards/xlink/xlink.xsd
+@@ -0,0 +1,75 @@
++<?xml version="1.0" encoding="UTF-8"?>
++<!-- METS XLink Schema, v. 2, Nov. 15, 2004 -->
++<schema targetNamespace="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink" elementFormDefault="qualified">
++  <!--  global attributes  -->
++  <attribute name="href"  type="anyURI"/>
++  <attribute name="role" type="string"/>
++  <attribute name="arcrole" type="string"/>
++  <attribute name="title" type="string" />
++  <attribute name="show">
++    <simpleType>
++      <restriction base="string">
++	<enumeration value="new" />
++	<enumeration value="replace" />
++	<enumeration value="embed" />
++	<enumeration value="other" />
++	<enumeration value="none" />
++      </restriction>
++    </simpleType>
++  </attribute>
++  <attribute name="actuate">
++    <simpleType>
++      <restriction base="string">
++	<enumeration value="onLoad" />
++	<enumeration value="onRequest" />
++	<enumeration value="other" />
++	<enumeration value="none" />
++      </restriction>
++    </simpleType>
++  </attribute>
++  <attribute name="label" type="string" />
++  <attribute name="from" type="string" />
++  <attribute name="to" type="string" />
++  <attributeGroup name="simpleLink">
++    <attribute name="type" type="string" fixed="simple" form="qualified" />
++    <attribute ref="xlink:href" use="optional" />
++    <attribute ref="xlink:role" use="optional" />
++    <attribute ref="xlink:arcrole" use="optional" />
++    <attribute ref="xlink:title" use="optional" />
++    <attribute ref="xlink:show" use="optional" />
++    <attribute ref="xlink:actuate" use="optional" />
++  </attributeGroup>
++  <attributeGroup name="extendedLink">
++    <attribute name="type" type="string" fixed="extended" form="qualified" />
++    <attribute ref="xlink:role" use="optional" />
++    <attribute ref="xlink:title" use="optional" />
++  </attributeGroup>
++  <attributeGroup name="locatorLink">
++    <attribute name="type" type="string" fixed="locator" form="qualified" />
++    <attribute ref="xlink:href" use="required" />
++    <attribute ref="xlink:role" use="optional" />
++    <attribute ref="xlink:title" use="optional" />
++    <attribute ref="xlink:label" use="optional" />
++  </attributeGroup>
++  <attributeGroup name="arcLink">
++    <attribute name="type" type="string" fixed="arc" form="qualified" />
++    <attribute ref="xlink:arcrole" use="optional" />
++    <attribute ref="xlink:title" use="optional" />
++    <attribute ref="xlink:show" use="optional" />
++    <attribute ref="xlink:actuate" use="optional" />
++    <attribute ref="xlink:from" use="optional" />
++    <attribute ref="xlink:to" use="optional" />
++  </attributeGroup>
++  <attributeGroup name="resourceLink">
++    <attribute name="type" type="string" fixed="resource" form="qualified" />
++    <attribute ref="xlink:role" use="optional" />
++    <attribute ref="xlink:title" use="optional" />
++    <attribute ref="xlink:label" use="optional" />
++  </attributeGroup>
++  <attributeGroup name="titleLink">
++    <attribute name="type" type="string" fixed="title" form="qualified" />
++  </attributeGroup>
++  <attributeGroup name="emptyLink">
++    <attribute name="type" type="string" fixed="none" form="qualified" />
++  </attributeGroup>
++</schema>
+--- /dev/null
++++ b/src/main/resources/xjc/mods/catalog.cat
+@@ -0,0 +1,2 @@
++-- local resources for Library Of Congress MODS --
++REWRITE_SYSTEM "http://www.loc.gov" "loc"
diff --git a/debian/xjc.sh b/debian/xjc.sh
new file mode 100755
index 0000000..97e8df7
--- /dev/null
+++ b/debian/xjc.sh
@@ -0,0 +1,19 @@
+#!/bin/sh -x
+
+XJC=/usr/bin/xjc
+DEST=src/main/gen
+
+echo `pwd`
+
+$XJC -d $DEST \
+	-p net.sf.jabref.logic.importer.fileformat.medline \
+	src/main/resources/xjc/medline/medline.xsd
+
+$XJC -d $DEST \
+	-p net.sf.jabref.logic.importer.fileformat.bibtexml \
+	src/main/resources/xjc/bibtexml/bibtexml.xsd
+
+$XJC -d $DEST -npa -nv -catalog src/main/resources/xjc/mods/catalog.cat \
+	-b src/main/resources/xjc/mods/mods-binding.xjb \
+	-p net.sf.jabref.logic.importer.fileformat.mods \
+	src/main/resources/xjc/mods/mods-3-6.xsd

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-java/jabref.git



More information about the pkg-java-commits mailing list