[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