2017-01-05 1 views
0

Comment puis-je faire deux attributs XML pour être unique, par exemple dans SQL je peux le faire par ce code:Comment faire deux attributs XML pour être uniques (DTD)

create table tablename(
    StudentID varchar(20), 
    SubjectID varchar(20), 
    UNIQUE(StudentID,SubjectID) 
) 

autre Par contre, j'ai le code suivant dans XML:

<root> 
    <student StudentID="s1" /> 
    <subject SubjectID="sb1" /> 
    <tablename StudentID="s1" SubjectID="sb1" /> 
</root> 

Comment puis-je faire que les attributs StudentID et SubjectID les deux deviennent UNIQUE?

+0

Veuillez inclure votre code dans une section 'code' et non comme image avec une modification. – zx485

+0

Okay l'a écrit :) –

+0

La prochaine fois s'il vous plaît se soucient plus de la mise en forme du code ;-) – zx485

Répondre

0
<!ATTLIST student StudentID ID #REQUIRED> 
<!ATTLIST subject SubjectID ID #REQUIRED> 
<!ATTLIST tablename StudentID IDREF #REQUIRED 
        SubjectID IDREF #REQUIRED> 

De votre commentaire (» StudentID est ID dans l'élément Student, SubjectID est ID dans l'élément Subject et StudentID, SubjectID IDREF sont en tablename. Comment puis-je faire en sorte que la même valeur ne semble pas deux fois dans ces attributs? ") il semble que ce soit ce que vous avez déjà dans la DTD.

En d'autres termes: vous avez déjà assuré que la même valeur ne semble pas deux fois dans les attributs student/StudentID et subject/SubjectID. Aucune valeur ne peut apparaître plus d'une fois dans un document en tant que valeur d'un attribut déclaré en tant qu'ID. Si vous voulez dire "Comment puis-je m'assurer que deux éléments tablename n'ont pas la même paire StudentID, SubjectID?", La réponse est: avec le code de l'application. Il n'y a pas de bon moyen de le faire avec la DTD.