# Copyright World Wide Web Consortium, (Massachusetts Institute of
# Technology, Institut National de Recherche en Informatique et en
# Automatique, Keio University).
#
# All Rights Reserved.
#
# Please see the full Copyright clause at
# <http://www.w3.org/Consortium/Legal/copyright-software.html>
# NEVER APPROVED
#
# $Id: test002.nt,v 1.3 2005-08-04 09:53:24 jeremy_carroll Exp $
##################################################################
#
#<http://www.example.org> <http://example.org/property> "well-formed XML"@en-US^^<http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral> .
