Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
cduce
cduce
Commits
cf9d8b83
Commit
cf9d8b83
authored
Jul 10, 2007
by
Pietro Abate
Browse files
[r2003-12-01 16:40:46 by afrisch] Cosmetique
Original author: afrisch Date: 2003-12-01 16:43:22+00:00
parent
05cd5e1b
Changes
4
Hide whitespace changes
Inline
Side-by-side
misc/url.ml
View file @
cf9d8b83
...
...
@@ -14,6 +14,6 @@ let load_url s =
perform
conn
;
Buffer
.
contents
buff
let
process
_url
s
=
let
process
s
=
if
is_url
s
then
Url
(
load_url
s
)
else
Filename
s
misc/url.mli
View file @
cf9d8b83
...
...
@@ -5,4 +5,4 @@ type url = Filename of string | Url of string
* in a string otherwise consider it as filename
*)
val
process
_url
:
string
->
url
val
process
:
string
->
url
parser/parser.ml
View file @
cf9d8b83
...
...
@@ -112,7 +112,7 @@ EXTEND
[
mk
loc
(
Using
(
U
.
mk
name
,
Types
.
CompUnit
.
mk
(
U
.
mk
cu
)))
]
|
"schema"
;
name
=
IDENT
;
"="
;
uri
=
STRING2
->
protect_op
"schema"
;
let
schema
=
match
Url
.
process
_url
uri
with
let
schema
=
match
Url
.
process
uri
with
|
Url
.
Filename
s
->
Schema_parser
.
schema_of_file
s
|
Url
.
Url
s
->
Schema_parser
.
schema_of_string
s
in
[
mk
loc
(
SchemaDecl
(
U
.
mk
name
,
schema
))
]
...
...
runtime/load_xml.ml
View file @
cf9d8b83
...
...
@@ -13,10 +13,6 @@ open Pxp_types
open
Value
open
Ident
open
Encodings
open
List
open
Url
type
buf
=
...
...
@@ -158,10 +154,11 @@ let pxp_config =
let
load_pxp
s
=
try
let
mgr
=
create_entity_manager
pxp_config
(
match
s
with
|
Url
(
s
)
->
from_string
s
|
Filename
(
s
)
->
from_file
s
)
in
let
src
=
match
s
with
|
Url
.
Url
s
->
from_string
s
|
Url
.
Filename
s
->
from_file
s
in
let
mgr
=
create_entity_manager
pxp_config
src
in
process_entity
pxp_config
(
`Entry_document
[
`Extend_dtd_fully
])
mgr
pxp_handle_event
;
with
exn
->
raise
(
Location
.
Generic
(
Pxp_types
.
string_of_exn
exn
))
...
...
@@ -173,7 +170,7 @@ let load_xml s =
try
(
match
!
use_parser
with
|
`Expat
->
load_expat
s
|
`Pxp
->
load_pxp
(
process
_url
s
));
|
`Pxp
->
load_pxp
(
Url
.
process
s
));
match
!
stack
with
|
[
Element
x
]
->
stack
:=
[]
;
x
|
_
->
assert
false
...
...
@@ -194,18 +191,16 @@ let load_html s =
in
Location
.
protect_op
"load_html"
;
match
process_url
s
with
|
Filename
(
s
)
->
(
let
ic
=
open_in
s
in
let
doc
=
Nethtml
.
parse_document
~
dtd
:
Nethtml
.
relaxed_html40_dtd
(
Lexing
.
from_channel
ic
)
in
let
doc
=
Nethtml
.
decode
~
enc
:
`Enc_utf8
~
subst
:
(
fun
_
->
"???"
)
doc
in
close_in
ic
;
val_of_docs
doc
)
|
Url
s
->
(
let
doc
=
Nethtml
.
parse_document
~
dtd
:
Nethtml
.
relaxed_html40_dtd
(
Lexing
.
from_string
s
)
in
let
doc
=
Nethtml
.
decode
~
enc
:
`Enc_utf8
~
subst
:
(
fun
_
->
"???"
)
doc
in
val_of_docs
doc
)
let
parse
src
=
Nethtml
.
parse_document
~
dtd
:
Nethtml
.
relaxed_html40_dtd
src
in
let
doc
=
match
Url
.
process
s
with
|
Url
.
Filename
s
->
let
ic
=
open_in
s
in
let
doc
=
parse
(
Lexing
.
from_channel
ic
)
in
close_in
ic
;
doc
|
Url
.
Url
s
->
parse
(
Lexing
.
from_string
s
)
in
val_of_docs
(
Nethtml
.
decode
~
enc
:
`Enc_utf8
~
subst
:
(
fun
_
->
"???"
)
doc
)
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment