Maison > développement back-end > Tutoriel XML/RSS > Tutoriel d'introduction XML - Introduction détaillée aux entités

Tutoriel d'introduction XML - Introduction détaillée aux entités

黄舟
Libérer: 2017-03-15 16:47:54
original
1457 Les gens l'ont consulté

Étant donné que les données ne sont pas au format XML, utilisez la déclaration NDATA pour spécifier le type de données. avi est un type de média MIME défini dans NOTATION. L'intégration d'entités non analysées dans XML est compliquée et non standard, alors essayez de ne pas l'utiliser. Entité

définit une entité à l'aide de la déclaration ENTITY. Par exemple :

<!ENTITY linux "linux is a very good system"> 用&linux;可引用该字符串
Copier après la connexion

peut définir une entité externe et référencer un document XML externe

<!ENTITY linux SYSTEM "/home/linux/test.xml"> 使用&linux;可引用/home/linux/test.xml文档
Copier après la connexion

Les entités externes n'ont pas de déclarations XML, mais peuvent avoir des déclarations de texte. Les deux sont très. similaire. La principale différence est que les déclarations de texte doivent avoir une déclaration de codage, mais les informations de version sont facultatives.

<?xml version="1.0" encoding="gb2312"?> 是一个合法的文本声明 <?xml encoding="gb2312"?> 也是一个合法的文本声明
Copier après la connexion

Toutes les données ne sont pas XML. Tels que des photos JPEG, des films MPEG, etc. XML recommande d'utiliser des entités externes non analysées comme mécanisme pour intégrer ce contenu dans les documents. DTDSpécifie un nom et un URI pour les entités contenant des données non XML.

<!ENTITY movie SYSTEM "/home/linux/test.avi" NDATA avi>
Copier après la connexion

Les données n'étant pas au format XML, utilisez la déclaration NDATA pour spécifier le type de données. avi est un type de média MIME défini dans NOTATION. L'intégration d'entités non analysées dans XML est compliquée et non standard, alors essayez de ne pas l'utiliser.

L'entité paramètre peut définir un ensemble d'entités communes, et les entités peuvent être référencées via cette entité paramètre dans le document. La définition des entités paramètres est similaire à la définition des entités générales, sauf qu'il y a un % supplémentaire au milieu et que le code % & est également utilisé lors du référencement.

<!ENTITY % person "name,address,postcode"> 引用方法 %person; 这样会用name,address,postcode代替参数实体%person;
Copier après la connexion

Habituellement, les DTD sont relativement volumineuses. La DTD de DocBook fait plus de 11 000 lignes si elle est stockée dans un seul fichier, elle sera très difficile à gérer et à maintenir. Nous pouvons utiliser des sous-ensembles de DTD externes pour diviser une grande DTD en différents blocs fonctionnels selon les fonctions et les stocker dans différents fichiers. Introduisez-le ensuite dans la DTD actuelle via la déclaration d'entité de paramètre externe, telle que :

Définissez l'entité de paramètre pour faire référence aux noms externes.dtd le sous-ensemble DTD externe %names ;

Utilisez le mot-clé IGNORE pour commentez l'instruction , par exemple :

<![IGNORE[ <!ELEMENT note (#PCDATA)> ]]>
Copier après la connexion

Bien sûr, la même manière d'utiliser < !-- commentaire--> est utilisé. Le mot-clé

INCLUDE indique que l'instruction donnée est effectivement utilisée dans la DTD, telle que :

<![INCLUDE[ <!ELEMENT note (#PCDATA)> ]]>
Copier après la connexion

À en juger par cette seule instruction, cela n'a aucun effet si ou non, INCLUDE est utilisé de la même manière, mais si INCLUDE et IGNORE sont combinés, la sélection de la fonction DTD peut être obtenue. On peut définir une entité paramètre :

<!ENTITY % note_allowed "INCLUDE" >
Copier après la connexion

puis utiliser la référence d'entité paramètre sans utiliser de mots-clés :

<![%note_allowed;[ <!ELEMENT note (#PCDATA)> ]]>
Copier après la connexion

Comme ci-dessus, la déclaration de l'élément est valide, mais on peut aussi redéfinir le paramètre entité %note_allowed à IGNORE, de sorte que la déclaration de l'élément soit invalide.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal