Commit 65beda93 authored by Pietro Abate's avatar Pietro Abate
Browse files

[r2003-12-04 21:20:39 by afrisch] Add support for netclient

Original author: afrisch
Date: 2003-12-04 21:20:39+00:00
parent b4f657da
......@@ -28,11 +28,19 @@ pxp =>
Furthermore if you want to load xml, html, and schema files remotely on the
web (http, https, ftp, ...: e.g. load_html "") you will
also need:
also need either:
ocurl => 0.15
netclient => 0.90.1
netclient support only the http protocol. curl supports in addition https,
ftp, and other protocols.
Important notes:
......@@ -146,8 +154,12 @@ PXP_WLEX=false: use ocamllex for parsing UTF-8 XML files
EXPAT=true: build expat support (see below)
default: false
OCURL=true: build ocurl support
CURL=true: build ocurl support
default: false
NETCLIENT=true: build netclient support
default: false
(note: if the support for both CURL and NETCLIENT are included, curl is used)
PREFIX=/usr/local by default: where to install CDuce files (see
......@@ -14,7 +14,9 @@ PXP_WLEX = false
EXPAT = false
# use curl library for load remote xml files and schemas
CURL = true
CURL = false
# Installation directory
# cduce and dtd2cduce => $(PREFIX)/bin
......@@ -43,6 +43,11 @@ ifeq ($(CURL), true)
SYNTAX += -symbol CURL=
ifeq ($(NETCLIENT), true)
PACKAGES += netclient
SYNTAX_PARSER = -syntax camlp4o $(SYNTAX:%=-ppopt %)
CAMLC_P = ocamlc -g
......@@ -108,8 +108,8 @@ schema/schema_parser.cmx: misc/q_symbol.cmo misc/encodings.cmx types/intervals.c
runtime/value.cmx schema/schema_parser.cmi
parser/location.cmo: misc/q_symbol.cmo parser/location.cmi
parser/location.cmx: misc/q_symbol.cmo parser/location.cmi
parser/url.cmo: misc/q_symbol.cmo parser/location.cmi parser/url.cmi
parser/url.cmx: misc/q_symbol.cmo parser/location.cmx parser/url.cmi
parser/url.cmo: misc/q_symbol.cmo parser/url.cmi
parser/url.cmx: misc/q_symbol.cmo parser/url.cmi
parser/ulexer.cmo: misc/q_symbol.cmo parser/ulexer.cmi
parser/ulexer.cmx: misc/q_symbol.cmo parser/ulexer.cmi
parser/ast.cmo: misc/q_symbol.cmo types/builtin_defs.cmi types/chars.cmi types/ident.cmo \
......@@ -13,10 +13,21 @@ ifdef CURL then
Curl.set_writefunction conn (Buffer.add_string buff);
Curl.perform conn;
Buffer.contents buff
ifdef NETCLIENT then
let load_url s =
match Neturl.extract_url_scheme s with
| "http" -> Http_client.Convenience.http_get s
| sc ->
let msg =
Printf.sprintf "Error: netclient does not handle the %s protocol" sc
raise (Location.Generic msg)
let load_url s =
let msg =
Printf.sprintf "Error \"%s\": \nfor URLs you need to compile CDuce with CURL support" s
"Error \"%s\": \nTo fetch external URLs, you need to compile CDuce with curl and/or netclient" s
raise (Location.Generic msg)
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment