外部アクセス・プロパティ
ACCESS_EXTERNAL_DTD
、ACCESS_EXTERNAL_SCHEMA
、ACCESS_EXTERNAL_STYLESHEET
などの外部アクセス・プロパティの値は、次のように定義されます。
値:
カンマで区切られたプロトコルのリスト。 プロトコルは、URI
のスキーム部分であり、JARプロトコルの場合は「jar」に、コロンで区切られたスキーム部分が付け加えられたものになります。 スキームは次のように定義されます。
scheme = alpha *( alpha | digit | "+" | "-" | "." )
ここで、alphaはa-zおよびA-Zです。
そして、JARプロトコル:
jar[:scheme]
キーワード「jar」を含むプロトコルは、大文字と小文字の区別がありません。 値に含まれる、Character.isSpaceChar(char)
で定義された空白はすべて無視されます。 プロトコルの例には、file、http、jar:fileがあります。
デフォルト値:
デフォルト値は実装固有であるため、指定されません。 検討するものとして次のオプションが用意されています。
- 外部参照へのすべてのアクセスを拒否するには空の文字列
- 特定のプロトコルにのみアクセス権を付与するにはそのプロトコル(fileなど)
- すべてのプロトコルにアクセス権を付与するにはキーワード「all」
FEATURE_SECURE_PROCESSINGが有効になっている場合は、外部参照が含まれるXML/XSD/XSLを処理するアプリケーションの妨げになる可能性があるとしても、実装によって外部接続がデフォルトで制限されることをお勧めします。
すべてのアクセス権の付与:
キーワード"all"は、すべてのプロトコルに権限を付与します。プロパティの優先順位
「外部アクセス・プロパティ」やUSE_CATALOG
などのプロパティは、複数の構成ソースから指定できます。 これらは、モジュール・サマリーのConfigurationセクションで定義されている構成プロセスに従います。 - 導入されたバージョン:
- 1.5
- 関連項目:
-
フィールドのサマリー
修飾子と型フィールド説明static final String
プロパティ: accessExternalDTDstatic final String
プロパティ: accessExternalSchemastatic final String
プロパティ: accessExternalStylesheetstatic final String
デフォルトのXML名前空間を表すために使用する接頭辞です。static final String
セキュリティ保護された処理の機能です。static final String
名前空間がないことを表す場合に使用する、名前空間URIです。static final String
RELAX NGの名前空間URIです。static final String
特徴: useCatalogstatic final String
W3C XML Schemaのインスタンス名前空間URIです。static final String
W3C XML Schemaの名前空間URIです。static final String
W3C XPathデータ型の名前空間URIです。static final String
任意の値としてのXML文書型定義の名前空間URIです。static final String
公式のXML名前空間接頭辞です。static final String
公式のXML名前空間名URIです。static final String
XML名前空間宣言の指定に使用する公式のXML属性です。static final String
XML名前空間宣言、XMLConstants.XMLNS_ATTRIBUTE
、名前空間名URIの指定に使用する公式のXML属性です。 -
メソッドのサマリー
-
フィールド詳細
-
NULL_NS_URI
-
DEFAULT_NS_PREFIX
public static final String DEFAULT_NS_PREFIXデフォルトのXML名前空間を表すために使用する接頭辞です。XML仕様によって「」と定義されます。
- 関連項目:
-
XML_NS_URI
public static final String XML_NS_URI公式のXML名前空間名URIです。XML仕様によって「
http://www.w3.org/XML/1998/namespace
」と定義されます。- 関連項目:
-
XML_NS_PREFIX
-
XMLNS_ATTRIBUTE_NS_URI
public static final String XMLNS_ATTRIBUTE_NS_URIXML名前空間宣言、XMLConstants.XMLNS_ATTRIBUTE
、名前空間名URIの指定に使用する公式のXML属性です。XML仕様によって「
http://www.w3.org/2000/xmlns/
」と定義されます。- 関連項目:
-
XMLNS_ATTRIBUTE
public static final String XMLNS_ATTRIBUTEXML名前空間宣言の指定に使用する公式のXML属性です。接頭辞として使用することは無効です。 XML仕様によって「
xmlns
」と定義されます。- 関連項目:
-
W3C_XML_SCHEMA_NS_URI
public static final String W3C_XML_SCHEMA_NS_URIW3C XML Schemaの名前空間URIです。「
http://www.w3.org/2001/XMLSchema
」と定義されます。- 関連項目:
-
W3C_XML_SCHEMA_INSTANCE_NS_URI
public static final String W3C_XML_SCHEMA_INSTANCE_NS_URIW3C XML Schemaのインスタンス名前空間URIです。「
http://www.w3.org/2001/XMLSchema-instance
」と定義されます。- 関連項目:
-
W3C_XPATH_DATATYPE_NS_URI
public static final String W3C_XPATH_DATATYPE_NS_URIW3C XPathデータ型の名前空間URIです。「
http://www.w3.org/2003/11/xpath-datatypes
」と定義されます。- 関連項目:
-
XML_DTD_NS_URI
public static final String XML_DTD_NS_URI任意の値としてのXML文書型定義の名前空間URIです。既存の標準によって公式に定義されていないため、任意で「
http://www.w3.org/TR/REC-xml
」と定義されます。- 関連項目:
-
RELAXNG_NS_URI
public static final String RELAXNG_NS_URIRELAX NGの名前空間URIです。「
http://relaxng.org/ns/structure/1.0
」と定義されます。- 関連項目:
-
FEATURE_SECURE_PROCESSING
public static final String FEATURE_SECURE_PROCESSINGセキュリティ保護された処理の機能です。-
true
は、実装がセキュリティを保護してXMLを処理するように命令する。 これによって、サービス妨害攻撃などを回避するためのXML構造に制限が設定される場合がある。 -
false
は、実装がXML仕様に従ってXMLを処理するように命令する。サービス妨害攻撃などを回避するためのXML構造に関する制限などのセキュリティの問題は無視される。
- 実装上のノート:
- Javaセキュリティ・マネージャが存在する場合、JDKはこの機能の値をtrueに設定し、無効にすることはできません。
- 関連項目:
-
-
ACCESS_EXTERNAL_DTD
public static final String ACCESS_EXTERNAL_DTDプロパティ: accessExternalDTD外部DTDおよび外部エンティティ参照へのアクセスを指定されたプロトコルに制限します。 このプロパティの制限が原因でアクセスが拒否された場合は、そのコンテキストに固有の実行時例外がスローされます。 たとえば、
SAXParser
の場合は、SAXException
がスローされます。値: クラスの説明に定義されています。
システム・プロパティ:
javax.xml.accessExternalDTD
。構成ファイル: Yes. このプロパティは、「構成ファイル」で設定できます。
- 導入されたバージョン:
- 1.7
- 関連項目:
-
ACCESS_EXTERNAL_SCHEMA
public static final String ACCESS_EXTERNAL_SCHEMAプロパティ: accessExternalSchema
schemaLocation属性、ImportおよびInclude要素によって設定された外部参照へのアクセスを指定されたプロトコルに制限します。 このプロパティの制限が原因でアクセスが拒否された場合は、そのコンテキストに固有の実行時例外がスローされます。 たとえば、
SchemaFactory
の場合は、org.xml.sax.SAXExceptionがスローされます。値: クラスの説明に定義されています。
システム・プロパティ:
javax.xml.accessExternalSchema
構成ファイル: Yes. このプロパティは、「構成ファイル」で設定できます。
- 導入されたバージョン:
- 1.7
- 関連項目:
-
ACCESS_EXTERNAL_STYLESHEET
public static final String ACCESS_EXTERNAL_STYLESHEETプロパティ: accessExternalStylesheetスタイル・シートの処理命令、ImportおよびInclude要素、およびドキュメント関数によって設定された外部参照へのアクセスを指定されたプロトコルに制限します。 このプロパティの制限が原因でアクセスが拒否された場合は、そのコンテキストに固有の実行時例外がスローされます。 たとえば、新しい
Transformer
を構築する場合は、TransformerFactory
によってTransformerConfigurationException
がスローされます。値: クラスの説明に定義されています。
システム・プロパティ:
javax.xml.accessExternalStylesheet
構成ファイル: Yes. このプロパティは、「構成ファイル」で設定できます。
- 導入されたバージョン:
- 1.7
- 関連項目:
-
USE_CATALOG
public static final String USE_CATALOG特徴: useCatalogXMLカタログを使用してエンティティ参照を解決するようにXMLプロセッサに指示します。 カタログは、
CatalogFeatures
で定義されたjavax.xml.catalog.files
プロパティを使用して、JAXPファクトリ、システム・プロパティまたは構成ファイルを使用して設定できます。 次のコードは、SAXパーサーのカタログを有効にします:SAXParserFactory spf = SAXParserFactory.newInstance(); spf.setFeature(XMLConstants.USE_CATALOG, true); SAXParser parser = spf.newSAXParser(); parser.setProperty(CatalogFeatures.Feature.FILES.getPropertyName(), "catalog.xml");
値: ブール。 値がtrueで、カタログが設定されている場合、XMLパーサーは
CatalogResolver
を使用して外部参照を解決します。 値がfalseの場合、XMLカタログは設定されていても無視されます。 デフォルト値はtrueです。システム・プロパティ:
javax.xml.useCatalog
構成ファイル: Yes. このプロパティは、「構成ファイル」で設定できます。
- 導入されたバージョン:
- 9
- 関連項目:
-